본문 바로가기

IT관련

오라클 에러 정보 (ORA-07445) - Internal Error Exception

ORA-07445 에러는 ORA-00600 에러와 같은 오라클 내부 Exception 에러 코드입니다.
주로 오라클도 잘 모르는 희한한(?) 에러가 발생하는 경우에 해당합니다.

우리도 프로그램 짜다보면 내가 예측하지 못한 에러가 발생하는 경우가 있잖아요?
우리가 예측할 수 있는 경우는 Exception 절에 if 문을 써서 이 에러는 요렇게, 저 에러는 저렇게 하라고 가이드 메시지를 뿌려줄 수 있지만, 그 외 개발자도 예측하지 못한 경우가 당연히 있고, 그런 경우 else 라고 처리해 버리는 것과 같습니다.

ORA-00600 와 달리 주로 core dump 를 출력하는 경우, ORA-07745 에러가 발생하고 나머지는 ORA-00600 과 같다고 보면 됩니다. 

ORA-07445: exception encountered: core dump [kgghash2()+360] [SIGSEGV] [ADDR:0xFFFFFFFF6DB50000] [PC:0x114162CC8] ...
Incident details in: /u01/app/oracle/diag/rdbms/dataware/AAA1/incident/incdir_248033/AAA1_j000_15083_i248033.trc

DB서버의 Character Set 환경에 따라 영어로 찍는 경우가 있고, 한글로 찍는 경우가 있습니다.

ORA-07445: 예외 발견: 코아 덤프 [kxscod()+645] [SIGSEGV] [ADDR:0x2] [PC:0x92D78C3] [Address not mapped to object] []
Incident details in: /u01/app/oracle/diag/rdbms/BBB1/incident/incdir_499064/BBB1_ora_93729_i499064.trc

 

ORA-07445 에러의 경우, 잘 알려지지 않은, 우리 사이트에서만 특이하게 발생하는 버그성일 확률이 높기 때문에 검색을 해서 찾을 수 없는 경우가 대부분입니다.

가장 확실한 방법은 오라클 ACS 엔지니어의 도움을 받거나, 오라클 MOS(My Oracle Support) 사이트에서 검색해보는 것입니다.(MOS는 과거 메타링크라고 알려져있는 오라클 지식공유사이트..)
검색할 때는 ORA-07445 키워드만 입력하면 안되고, 뒤에 [ ], [ ] 에 나오는 값을 같이 넣어서 검색해야 합니다.

다행히 운좋게 이미 등록된 에러인 경우 Workaround(회피방법)나 Patch(패치)를 찾을 수 있습니다.
만약, 검색해도 나오는게 없다면 신규 상황일 가능성이 있고, 이때는 MOS 사이트에서 SR(Service Request)를 생성해서
오라클 엔지니어의 도움을 받아야 합니다.

ORA-07445 에러가 발생할 때, 위 샘플에서처럼 트레이스 파일(*.trc)을 같이 생성하는데, 이 파일을 열어서 확인해보면
좀 더 자세한 정보를 확인할 수 있습니다.(하지만, 실제로는 봐도 잘 모릅니다 ㅎㅎ)

오라클 MOS 사이트에서 ORA-07445 에러 검색시 [ ], [ ] 에 들어있는 값들을 같이 키워드로 넣어서 검색하고,
나오지 않을 때는 맨 뒤에 있는 값부터 없애면서 검색키워드를 줄여가면서 검색해보는 것도 팁이 될 수 있습니다.
같은 에러라도 뒤에 값이 조금씩 다른 경우가 있기 때문입니다.

ORA-07445 에러는 발생한다고 해서 당장 DB에 문제가 생기는 것은 아닌 경우가 많기 때문에 DBA가 주기적으로 모니터링하다가 ORA-07445 에러를 보게되면 버그와 관련은 없는지 확인해보는 습관을 가지는 것이 좋습니다.


*** 아래는 Oerr 출력 output

$ oerr ora 7445
07445, 00000, "exception encountered: core dump [%s] [%s] [%s] [%s] [%s] [%s]"
// *Cause: An operating system exception occurred which should result in the
//         creation of a core file.  This is an internal error.
// *Action: Visit My Oracle Support to access the ORA-07445 Lookup tool
//          (reference Note 7445.1) for more information regarding the specific
//          ORA-07445 error encountered.
//
//          An Incident has been created for this error in the Automatic
//          Diagnostic Repository (ADR). When logging a service request, use
//          the Incident Packaging Service (IPS) from the Support Workbench
//          or the ADR Command Interpreter (ADRCI) to automatically package the
//          relevant trace information (reference My Oracle Support Note 411.1).
//
//          The following information should also be gathered to help determine
//          the root cause:
//             - changes leading up to the error
//             - events or unusual circumstances leading up to the error
//             - operations attempted prior to the error
//             - conditions of the operating system and databases at the time
//               of the error
//
//          Note: The cause of this message may manifest itself as different
//          errors at different times. Be aware of the history of errors that
//          occurred before this internal error.

 

 

이것도 참고요 => 오라클 Alertlog 파일 분석 프로그램 다운로드

이것도 참고요 => ORA-600, ORA-7445 등 Internal 에러 분석할때 필요한 정보수집 TFA툴 소개