티스토리 뷰

 오라클 DB 에서 찾고자 하는 칼럼명을 사용하고 있는 테이블을 간단하게 조회하는 방법과 테이블 락세션을 확인하는 방법에 대해 알아보겠습니다.

 

1. 테이블

  • 모든 테이블 : ALL_TABLES
  • 사용자 테이블 : USER_TABLES
  • DBA 테이블 : DBA_TABLES [관리자 계정]
  • 모든 칼럼 조회 : ALL_TAB_COLUMNS

 

2. 컬럼명으로 테이블 찾기

SELECT *
FROM ALL_TAB_COLUMNS
WHERE COLUMN_NAME = '컬럼'



3. 테이블의 모든 칼럼명 가져오기

SELECT *
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = '테이블';



4. 테이블 락 확인

SELECT 
    SID
    , A.SERIAL#
    , LAST_CALL_ET
    , A.USERNAME
    , B.SQL_TEXT
FROM v$session A, v$sqltext B, v$process C
WHERE 1=1
    AND A.STATUS = 'ACTIVE'
    AND A.SQL_ADDRESS = B.ADDRESS(+)
    AND A.SQL_HASH_VALUE = B.HASH_VALUE(+)
    AND A.PADDR = C.ADDR;
    
-- DML 락 확인
SELECT * FROM dba_dml_locks;
   
-- 해당 세션 kill
ALTER SYSTEM KILL SESSION 'SID' IMMEDIATE;

 


감사합니다.

최근에 올라온 글
Total
Today
Yesterday