- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/display/CORE/5.6+oradebug?
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
1. oradebug
오라클을 디버깅하는데 사용되는 툴
1.1 oradebug ipc
오라클이 사용하는 IPC ( Inter Process Communication, 프로세스간 통신 ) 자원에 대한 상세한 정보는 얻을 수 있다.
SQL> oradebug setmypid Statement processed. SQL> oradebug ipc Information written to trace file. SQL> oradebug tracefile_name /oracle/admin/lkwtest/udump/lkwtest1_ora_32023.trc
vi /oracle/admin/lkwtest/udump/lkwtest1_ora_32023.trc
1.2 oradebug dump gc_elements
글로벌 동기화에 필요한 정보를 저장하는 메모리 구조체인 GC Element ( Global Cache Element ) 덤프 파일을 내려받는다.
SQL> oradebug setmypid Statement processed. SQL> oradebug dump gc_elements 1 Statement processed. SQL> oradebug tracefile_name /oracle/admin/lkwtest/udump/lkwtest1_ora_32023.trc
- GCS CLIENT Handle은 이 블록에 대한 마스터 노드가 다른 인스턴스임을 인식한다.
- GCS SHADOW Handle은 이 블록에 대한 마스터 노드가 현재 인스턴스임을 인식한다.
vi /oracle/admin/lkwtest/udump/lkwtest1_ora_32023.trc
1.3 oradebug lkdebug
Lock debug의 약자로 락 데이터베이스에 대한 정보를 확인한다.
락 데이터베이스를 구성하는 락, 리소스, 프로세스구조체 정보를 텍스트 파일로 내려 받을 수 있다.
SQL> oradebug lkdebug help Usage:lkdebug [options] -l [r|p] <enqueue pointer> Enqueue Object -r <resource pointer> Resource Object -b <gcs shadow pointer> GCS shadow Object -p <process id> client pid -P <process pointer> Process Object -O <i1> <i2> <types> Oracle Format resname -a <res/lock/proc> all <res/lock/proc> pointers -A <res/lock/proc> all <res/lock/proc> contexts -a <res> [<type>] all <res> pointers by an optional type -a convlock all converting enqueue (pointers) -A convlock all converting enqueue contexts -a convres all res ptr with converting enqueues -A convres all res contexts with converting enqueues -a name list all resource names -a hashcount list all resource hash bucket counts -t Traffic controller info -s summary of all enqueue types -k GES SGA summary info -m pkey <objectno> request for remastering this object at current instance -m dpkey <objectno> request for dissolving remastering of this object at current instance
* 락 데이터베이스에서 관리하는 모든 리소스명 덤프 SQL> oradebug setmypid Statement processed. SQL> oradebug lkdebug -a name Statement processed. SQL> oradebug tracefile_name /oracle/admin/lkwtest/udump/lkwtest1_ora_11707.trc
vi /oracle/admin/lkwtest/udump/lkwtest1_ora_11707.trc
* 락 데이터베이스에서 관리하는 모든 리소스context 덤프 SQL> oradebug setmypid Statement processed. SQL> oradebug lkdebug -A res Statement processed. SQL> oradebug tracefile_name /oracle/admin/lkwtest/udump/lkwtest1_ora_14162.trc
vi /oracle/admin/lkwtest/udump/lkwtest1_ora_14162.trc
* oradebug lkdebug -m : 리소스 리마스터링 동적 수행 * oradebug lkdebug -m pfile <fileno> : 데이터파일 단위로 리소스 리마스터링 ( 10gR1 ) * oradebug lkdebug -m pkey <objectno> : 세그먼트 단위로 리소스 리마스터링 ( 10gR2 )
문서정보
- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/display/CORE/5.6+oradebug?
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.