원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어
출처 : http://datasyncxml.tistory.com/


+++++++++++++++++++++++++++++++++++++++++++++++++++++++

Oracle ERP에서는 기본적으로 Install되는 Oracle Database 버전은 R11i는 Oracle Database 9i, R12.0는 Oracle Database 10g, R12.1은 Oracle Database 11g가 설치 된다.
그러나 Oracle Database에 Desupport로 인해 각각의 Oracle Databaes를 11g로 Upgrade하는 추세 이다.

막상 Apps DBA업무를 하다보면 일반적으로 Oracle Forms 화면보다는 각종 Log 파일을 많이 보게 된다. 이러한 Log 파일중에서 Oracle Database와 관련된 alert.log 파일은 실제 각종 문제가 발생했을 경우 많은 도움 받는 Log 파일이다.

Oracle DB 11g에서는 기존에 우리가 알고 있던 BDUMP, CDUMP, UDUMP를 이용하여 해당 Log 파일과 trc 파일을 찾을 수가 없다.

Oracle 11g부터는 BDUMP, CDUMP, UDUMP가 없다고 init.ora 파일에 설정을 하면 DB가 기동 하지 않는다.

그 이유는 11g에서는 ADR(Automatic Diagnostic Repository)이라는 concept으로 관리리 되며 ADR은 기존에 BDUMP와 UDUMP로 나뉘어 관리되던 것을 한 곳에 모아 관리하고 손쉽게 Oracle Support에 그 Data를 전달할 수 있다고 한다.

ADR(Automatic Diagnostic Repository)

ADR(Automatic Diagnostic Repository)가 저장 되는 ADR_BASE의 위치는 INSTANCE에서 DIAGNOSTIC_DEST 파라미터로 확인할 수 있다.

  • $ORACLE_BASE가 설정되어 있다면, DIAGNOSTIC_DEST 의 위치는 $ORACLE_BASE
  • $ORACLE_BASE가 설정되어 있지 않다면, DIAGNOSTIC_DEST 의 위치는 $ORACLE_HOME/log
  • 위에 내용은 일반적인 내용이고 Oracle ERP를 사용 한다면 ADR_BASE위치는

    • $ORACLE_DATABASE_HOME/admin/<SID>_<hostname>

    이다.

    DIAGNOSTIC_DEST를 확인 하는 방법은

    • SQL>show parameter diagno

    또는

    • SQL>select * from v$diag_info

    로 환일 할 수 있다.

    ADR HOME

    ADR HOME은 ADR_BASE보다 더 상세한 내용으로 실제 alert.log파일과 trc파일 생성 되는 곳을 이야기 한다. ADR HOME의 위치는

    • $ADR_BASE/diag/product_type/product_id/instance_id

    이다.

    Oracle 11g에 새로운 ALERTLOG 위치

    위에서 ADR BASE, ADR HOME에 관하여 잠시 이야기 했다, 그러면 우리가 찾고자 하는 alert.log위치는 $ADR_HOME/trace, $ADR_HOME/alert 2군데에 생성 됩니다.

    그중에서 $ADR_HOME/trace에는 기존과 같이 alert_<SID>.log파일 형태로 생성되고 $ADR_HOME/alert는 xml파일 형태로 log.xml파일이 생성 됩니다.

    각각위 위치는 아래 SQL문을 이용하여 확인 할 수 있다.

    • SQL> select value from v$diag_info where name ='Diag Alert';
    • SQL> select value from v$diag_info where name ='Diag Trace';
    • '기존 경로' -> '새로운 경로'

      • USER_DUMP_DEST -> ADR HOME/trace
      • BACKGROUND_DUMP_DEST -> ADR HOME/trace
      • CORE_DUMP_DEST -> ADR HOME/cdump
      • USER_DUMP_DEST AND BACKGROUND_DUMP_DEST -> ADR HOME/incident/incdir_n
      •  

        ADRCI(ADR Commandline Interface)

        adrci라는 것은 Oracle DB 11g부터 새로 등장한 ADR에 관련된 정보를 쉽게 다루기 위한 일종의 유틸이라고 생각 하면 쉽다.

        PROBLEM과 INCIDENT

        PROBLEM과 INCIDENT는 adrci를 이용하여 문제를 분석 하는데 가장 핵심 적인 요소이다.

        PROBLEM은 DATABASE상의 critical error(ORA-600/ORA-7445/ORA-4031/ORA-1578)를 이야기 하고 이런한 Error는 PROBLEM라고 하여 ADR내에 그 정보가 기록된다.

        INCIDENT라 함은 'PROBLEM의 1회 발생'을 이야기 한다. 즉, 'ORA-1578 메세지가 여러번 기록되는 경우라면, ORA-1578이라는 '하나의 PROBLEM'에 대해 '여러 INCIDENT'가 ADR내에 생성됨을 의미한다.

        ADRCI(ADR Commandline Interface) 사용법


        ADRCI를 사용 하는 방법은 아주 간단 하다, Command창에서 adrci로 입력 하고 실하면 된다.

        처음에 익숙해 지는데 시간이 걸려서 그렇지..ㅋㅋㅋ 난 아직도 tail -f가 편한 것 같다..

        ALERTLOG 살펴보기

        기본적으로 'SHOW ALERT' command를 사용하지만, 다음과 같이 TAIL 옵션을 사용하여 최신 정보만 살펴볼 수도 있다.

        • adrci> SHOW ALERT –TAIL
        • adrci> SHOW ALERT -TAIL 50 // 마지막 50라인만 살펴보기
        • 특정 terminal에서 alertlog의 "live monitoring"이 가능하다.

          • adrci> SPOOL /home/steve/MYALERT.LOG
          • adrci> SHOW ALERT –TERM
          • adrci> SPOOL OFF
          • ORA-XXX에 관련된 메세지만 찾기

            • adrci>show incident -p "problem_key='ORA XXXX'"

            Server Trace File 찾기

            • adrci> show tracefile
            • adrci> show trace <trace file.trc>
            • 특정 KEYWORD를 사용하여 Trace file 찾기

              • adrci> SHOW TRACEFILE %mmon%

              특정 PROCESS ID를 사용하여 찾기

              • adrci> SHOW TRACEFILE -I <PROCESS ID>

              Problem/INCIDENT 찾기

              • adrci>show problem

              • adrci>show incident

              IPS(Incident Packaging Service)

              IPS(Incident Packaging Service)는 말 그대로 Incident 정보를 Packaging(포장/압축)하는 것을 이야기 한다. IPS를 이용하면 Incident 정보를 특정 폴더에 특정 Incident 정보를 압축 파일로 만들어 SR(service request)을 통해 전송할 수 있는 Service이다.

              IPS를 이용하여 SR을 진행하려 해도 라이센스 계약이 되어 있지 않으면 소용 없다.

              IPS pack 의 예제

              Problem id 100 에 관련된 trace file 들을 /tmp directory 에 압축파일로 생성

              • adrci>ips pack problem 100 in /tmp

              Incident id 6439 에 관련된 trace file 들을 /tmp directory 에 압축파일로 생성

              • adrci>ips pack incident 6439 in /tmp

              Problem_key 'ORA 1578' 를 가지는 모든 problem 에 관련된 trace file 들을 현재 directory 에 압축파일로 생성

              • adrci>ips pack problemkey "ORA 1578"

              최근 8 초 이내에 발생한 incident 에 대한 압축 파일을 생성

              • adrci>ips pack seconds 8

              특정 시간대의 incident 에 대한 압축파일을 생성

              • adrci>ips pack time '2007-05-01 10:00:00.00' to '2007-05-01 23:00:00.00'

              참고문헌

              • http://kr.forums.oracle.com/forums/thread.jspa?threadID=602855&tstart=0
              • http://kr.forums.oracle.com/forums/thread.jspa?threadID=1057734&tstart=0
              • http://energ.tistory.com/entry/Oracle-11g-ADRCI로-incident-정보-수집
              • 11g Understanding Automatic Diagnostic Repository. [ID 422893.1]
              • 11g Quick Steps to Package and Send Critical Error Diagnostic Information to Support[Video] [ID 443529.1]
              •  

번호 제목 글쓴이 날짜 조회 수
115 exp error - ORA-19206: Invalid value for query or REF CURSOR parameter 조인상 2010.05.12 156631
114 centOS 5.2 에 오라클 10g 설치 조인상 2010.05.12 109931
113 오라클 온라인백업 스크립트 (ksh 용) [1] file 조인상 2010.05.12 100773
112 ORA-28040 : No matching authentication protocol 조인상 2014.11.13 67285
111 히든 파라미터 확인하는 쿼리 조인상 2010.05.12 62448
110 성능분석을 위한 v$sysstat, v$sesstat, v$system_event 조회 조인상 2011.09.27 50449
109 오라클 패치후 각 컴퍼넌트들 버전 확인 쿼리 조인상 2010.10.05 46331
108 exp실행시 에러. ORA-06512 SYS.DBMS_METADATA_INT 조인상 2010.05.12 32654
» 오라클 11g - ADR/ADRCI : 새로운 alertlog 위치 조인상 2011.05.17 29717
106 오라클에 접속하는 최대 인스턴스개수(세션개수)를 늘리는 방법 조인상 2010.05.12 24651
105 datafile, redolog, controlfile 위치 변경하기 조인상 2012.08.02 24615
104 일반유저에게 kill session 권한 주기 ischo 2019.08.12 22261
103 ORA-04063: package body "EXFSYS.DBMS_EXPFIL_EXP" has errors 조인상 2012.01.04 20761
102 온라인 백업방법 begin~end backup 조인상 2010.05.12 20669
101 windows용 오라클 온라인 백업 스크립트 file 조인상 2010.07.01 20142
100 SQL developer 실행시 jvm.dll 오류 발생 조치 방법 조인상 2013.01.23 19758
99 Oracle 설치문서에서 보는 ASM file 조인상 2012.03.30 19746
98 online backup(archive log mode) 조인상 2010.05.12 19439
97 ORA-01089 : 오라클 프로세스를 kill 한 후 로그인 못 할때 조인상 2010.06.20 19426
96 ORA-01555 : snapshot too old: rollback segment number %s with name \"%s\" too small ischo 2012.04.10 19261
서버에 요청 중입니다. 잠시만 기다려 주십시오...