프린트 하기

OS환경 : Oracle Linux 6.8 (64bit)


DB 환경 : Oracle Database 11.2.0.4


방법 : alert log에 Sweep [inc][숫자]: completed 가 보인다면?

DB가 내려간 뒤 startup 을 하고 alert를 보았는데

1
Sweep [inc][71166]: completed

이런 로그가 보인다면?


alert log 내용

1
2
3
4
5
6
7
Dumping diagnostic data in directory=[cdmp_20180306105726], requested by (instance=1, osid=7740 (SMON)), summary=[incident=71096].
Tue Mar 06 10:57:27 2018
Sweep [inc][71166]: completed
Sweep [inc][71097]: completed
Sweep [inc][71096]: completed
Sweep [inc2][71166]: completed
Sweep [inc2][71096]: completed



해당 로그는 11g에서 새로 나온 ADR(Automatic Diagnostic Repository) 자동 진단 저장소가

DB에 문제가 발생했을 때 기록을 하는 로그이다.



자세히 알아보면

Sweep [inc][71166]: completed 라고 되어있는 파일을 찾으면

$ORACLE_BASE/diag/rdbms/sid/sid/incident 에 들어가 보면 관련 파일을 찾을 수 있다.



incident 폴더란?

incident 폴더는 심각한 오류가 발생할 때 작성된 덤프 파일이 저장되고

심각한 오류 (incident)가 발생할 때마다 디렉터리 이름을 구성하는 데 사용되는 

인시던트 ID와 함께 자체 인시던트 디렉터리가 제공된다.

1
2
3
$ cd /oracle/app/oracle/diag/rdbms/orcl/orcl/incident
$ ls
incdir_71096  incdir_71098  incdir_71164  incdir_71165  incdir_71166



이렇게 해당 폴더들이 나오는데 여기서 아까 그 번호의 폴더로 들어가면

1
2
3
$ cd incdir_71166
$ ls
orcl_p000_7762_i71166.trc  orcl_p000_7762_i71166.trm



이렇게 trc, trm 로그 파일들이 나온다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
$ more orcl_p000_7762_i71166.trc 
Dump file /oracle/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_71166/orcl_p000_7762_i71166.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning option
ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1
System name:    Linux
Node name:      oracle
Release:        2.6.32-573.el6.x86_64
Version:        #1 SMP Wed Jul 1 18:23:37 EDT 2015
Machine:        x86_64
VM name:        VMWare Version: 6
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 22
Unix process pid: 7762, image: oracle@oracle (P000)
*** 2018-03-06 10:57:24.126
*** SESSION ID:(37.132018-03-06 10:57:24.126
*** CLIENT ID:() 2018-03-06 10:57:24.126
*** SERVICE NAME:(SYS$BACKGROUND) 2018-03-06 10:57:24.126
*** MODULE NAME:() 2018-03-06 10:57:24.126
*** ACTION NAME:() 2018-03-06 10:57:24.126
 
Dump continued from file: /oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_p000_7762.trc
ORA-00600: internal error code, arguments: [kcfrbd_3], [7], [111487], [1], [95360], [95360], [], [], [], [], [], []
 
========= Dump for incident 71166 (ORA 600 [kcfrbd_3]) ========
 
*** 2018-03-06 10:57:24.126
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
----- SQL Statement (None) -----
Current SQL information unavailable - no cursor.
----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
------------------- -------- -------------------- ----------------------------
*** 2018-03-06 10:57:24.171
skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FFF5091E790 ? 7FFF5091E868 ?
                                                   7FFF50923310 ? 000000002 ?
ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?
                                                   7FFF5091E790 ? 7FFF5091E868 ?
                                                   7FFF50923310 ? 000000002 ?
ksedst()+39          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FFF5091E790 ? 7FFF5091E868 ?
                                                   7FFF50923310 ? 000000002 ?

trc 로그를 보면 (ORA 600 [kcfrbd_3]) 이 보인다.

이렇게 중요한 에러가 발생 했을 때 기록을 하는 행위를 alert에 기록을 한게

Sweep [inc][71166]: completed 과 같은 로그이다.



mos 설명

ADR HOME 내용 : 

ADR HOME 아래에 다음 디렉토리가 있습니다 - 

Alert : 경고 디렉토리에는 XML 경고 로그가 있습니다 

Cdump : 코어 덤프는이 디렉토리에 저장됩니다 

Trace : 프로세스 트레이스 파일과 Alert.log는 트레이스 디렉토리에 저장됩니다. 'Background_dump_dest' 및 'user_dump_dest'는 이제 11g에서 무시됩니다. 이제 모든 트레이스 파일이 'trace'디렉토리에 생성됩니다. 

Incident : 인시던트 디렉토리에는 심각한 오류가 발생할 때 작성된 덤프 파일이 저장됩니다. 

심각한 오류 (인시던트)가 발생할 때마다 디렉터리 이름을 구성하는 데 사용되는 인시던트 ID와 함께 자체 인시던트 디렉터리가 제공됩니다. 

Metadata : 메타 데이터 디렉토리에는 진단 메타 데이터가 들어있는 일련의 파일이 저장됩니다. 

HM : hm 디렉토리는 상태 확인을 위한 보고서를 저장합니다 

Incpkg, ir, lck, sweep : 이 디렉토리에는 내부 진단 프레임 워크 상태가 포함됩니다. 



참조

문서 ID 2246121.1