728x90
오라클 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;
감사합니다.
728x90
'데이터베이스 > 오라클' 카테고리의 다른 글
[Oracle] JOB 스케줄러 실행 정보 조회 (0) | 2024.09.19 |
---|---|
[Oracle] 문자열 리스트 프로시저에 전달하기 (0) | 2024.09.09 |
[Oracle] DB_LINK 기본개념 및 사용법 (0) | 2024.09.09 |
[Oracle] java.sql.SQLException: 소켓에서 읽을 데이터가 없습니다. (0) | 2024.08.12 |
[Oracle] DB CharacterSet 조회 및 수정 방법 (0) | 2024.05.22 |