오라클에서 DDL 작업이 끝나지 않을경우가 있다.
wait event는 보통 library cache pin 으로 무한 유지
이럴때는 sys.x_$kglob 요테이블에서 어느세션이 holder인지 확인하는데 참고할수있는데 10g에서 잘사용했던 sys.x_$kglob 테이블이 없었다.
확인해보니 11g에서 XM$KGLOB 테이블로 이름이 변경된 모양이다.
아래 SQL을 통해 특정오브젝트를 사용하는 세션정보를 알아낼수있다.
만약 위 뷰테이블이 없다면 아래를 참고한다.
select * from V$LIBCACHE_LOCKS
https://docs.oracle.com/cd/E11882_01/server.112/e40402/dynviews_2021.htm#REFRN30635
SELECT /*+ ORDERED */ s.sid, s.status, lo.kglnaobj AS object , decode( ll.kgllkmod , 0 , 'none' , 1 , 'null' , 2 , 'share' , 3 , 'exclusive' , ll.kgllkmod ) AS CurrentLockMode , decode( ll.kgllkreq , 0 , 'none' , 1 , 'null' , 2 , 'share' , 3 , 'exclusive' , ll.kgllkreq ) AS RequestLockMode , ll.kgllktype Type , s.schemaname HolderSchema, s.program HolderProgram, s.module HolderModule FROM dba_kgllock ll , sys.XM$KGLOB lo, v$session s WHERE ll.kgllkhdl = lo.kglhdadr AND ll.kgllkuse = s.saddr AND lo.kglnaobj ='오브젝트명' |
status가 Active이거나 Inactive이라도 세션이 없어야 해당 오브젝트에대한 DDL(ALTER혹은 recrate 등 compile)작업이 문제없이 진행된다.
oracle datafile 삭제 방법 (0) | 2019.04.09 |
---|---|
오라클 export , import 테이블에 동일 데이터 넣어보는 예제 (0) | 2018.05.09 |
r12 클로닝 작업시 ouicli.pl INSTE8_APPLY 255 오류 (0) | 2017.06.16 |
수행결과 PDF형식 output 결과값이 ? 로만 나오는경우 (0) | 2017.02.17 |
oracle DB 링크 조회, 생성, 디비링크 만든 sql 확인방법 (0) | 2017.02.08 |