ora-00600 arguments [2662] 복구질문 드립니다. 0 2 3,750

by seankim [Oracle 백업/복구] ora-00600 2662 resetrogs [2017.04.11 12:07:47]


구동이 않되서 복구해보려는데 점점 나락으로 떨어져서 질문드립니다. 해본게 몇몇개 되서 간단하게 요약식으로 올립니다 ㅠㅠ

 

   1. 오라클 구동시 갑자기 [ora-12528 : TNS:리스너 : 모든 해당 인스턴스가 새 접속을 차단하고 있음] ← 이게떴어요

 

   2. sqlplus 접속 후

   SQL> conn sys/pass as sysdba;
   연결되었습니다.

   SQL> startup mount;
   ORACLE 인스턴스가 시작되었습니다.

   ORA-00214: ?? ?? 'APP\HP\ORADATA\ORCL\CONTROL01.CTL' ?? 362889?(?) ??
   'APP\HP\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL' ?? 362877?(?) ???? ????.

     ORA-00214: version xxx9 with file version xxx7 버전틀림

 

  3. 구글링팁보니 ctl 파일 최신걸로 덮어씌우라고 나와서 ctl파일 덮어씌웠습니다.

    SQL> startup mount;

    ORACLE 인스턴스가 시작되었습니다.
 
     Total System Global Area  285212672 bytes
     Fixed Size                  1273276 bytes
     Variable Size              92275268 bytes
     Database Buffers          188743680 bytes
     Redo Buffers                2920448 bytes
     Database mounted.
     ORA-01122: database file 1 failed verification check
     ORA-01110: data file 1: '/home/oracle/oradata/testdb/system01.dbf'
     ORA-01207: file is more recent than control file - old control file

 

 4. 위처럼 에러가 떠서 또 구글링해서 찾아봤습니다.

    alter database backup controlfile to trace as '/home/oracle/back.sql';

    이렇게 사본 저장하고 편집기로 붉은부분이 된startup mount영역빼고 삭제했습니다.

    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  NOARCHIVELOG
    LOGFILE
    DATAFILE
    CHARACTER SET KO16MSWIN94;

 

 4-1 사본 back.sql실행

   SQL> @back.sql;
   ORACLE 인스턴스가 시작되었습니다.

   Total System Global Area 3407261696 bytes
   Fixed Size                  2180504 bytes
   Variable Size            1962936936 bytes
   Database Buffers         1426063360 bytes
   Redo Buffers               16080896 bytes

   제어 파일이 생성되었습니다.

 

 5. 그리고 alter database open resetlogs;를 쳤는데 아래처럼 뜨네요    

    SQL> alter database open resetlogs;
    alter database open resetlogs
    *
    1행에 오류:
    ORA-01092: ORACLE instance terminated. Disconnection forced
    ORA-00600: internal error code, arguments: [2662], [0], [115195919], [0],
    [115195952], [4194432], [], [], [], [], [], []
    프로세스 ID: 5760
    세션 ID: 96 일련 번호: 1

 

이다음부터 복구방법이 좀넘사벽인데 scn 싱크문제일수도 있다는데요.....

이것말고도 중간에 alter system set “_allow_resetlogs_corruption”=true scope=spfile; 이옵션도 해봤는데 안되고 지금 엉킨실타래 같네요

최종증상은 백업해놓은 ctl다시 붙여놓기하고 나온 ORA-00600이건데요

최악으로 오라클 새로설치하고 bdf만 임포트같은 방법이 있는지... 방법부탁드립니다....

글많아서 최대한 띄어쓰기로 썼는데 복잡해보이네요;;;

 

 

by 미생 [2017.04.11 15:17:29]

완벽하게 도와드리진 못할것 같지만 몇가지 도움드리고자 답글 답니다.

2.

ORA-00214 는 컨트롤파일 이중화 되어 있는데 두개의 값이 일치하지 않아서 생기는 에러입니다.

'APP\HP\ORADATA\ORCL\CONTROL01.CTL' 가 SCN 이 좀더 높네요

cp - rf APP\HP\ORADATA\ORCL\CONTROL01.CTL APP\HP\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL

하셔서 컨트롤 파일 1을 2로 덮어씌우셔야 합니다.

그리고 메세지가 ???? 로 나오는 건  NLS_LANG 때문입니다.

nomount 까지 가면 Characterset 은 select * from v$nls_parameters where parameter ='NLS_CHARACTERSET'; 명령어로 확인 할 수 있습니다.

export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949

4.

CHARACTER SET KO16MSWIN94; 라고 적혀있는데 KO16MSWIN949 를 잘못 적으신것 같습니다.

맨마지막.

동일한 OS 경우 새로 설치 후 복구 시 spfile (또는 pfile) ,redologfile, controlfile, 데이터 파일이 있을 시(파일이 정상이라는 가정 하에) 복원 가능합니다. 혹시 삭제후 재설치 계획이시면 패스워드 파일도 백업해두시는걸 권장합니다. 

 

 


by seankim [2017.04.11 18:02:08]

미생님 답변감사합니다. 제가 다시해봤습니다. 아래 해본결과 입니다....

2번에 높은것으로 덮어씌웠습니다.

SQL> shutdown immediate;
ORA-01507: ??????? ????? ?????
ORACLE 인스턴스가 종료되었습니다.

↑종료 후 덮어씌우기

↓다시시작

SQL> startup mount;
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area 3407261696 bytes
Fixed Size                  2180504 bytes
Variable Size            1962936936 bytes
Database Buffers         1426063360 bytes
Redo Buffers               16080896 bytes

데이터베이스가 마운트되었습니다.

 

↓에러발생 

SQL> alter database open;
alter database open
*
1행에 오류:
ORA-01190: 제어 파일 또는 데이터 파일 1이(가) 마지막 RESETLOGS보다 이전
상태입니다.
ORA-01110: 1 데이터 파일: 'APP\HP\ORADATA\ORCL\SYSTEM01.DBF'

↓에러발생 이후 본문 4번 진행 

SQL> shutdown
ORA-01109: 데이터베이스가 개방되지 않습니다

데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> @app\hp\qctrl_backup\BAG.SQL;
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area 3407261696 bytes
Fixed Size                  2180504 bytes
Variable Size            1962936936 bytes
Database Buffers         1426063360 bytes
Redo Buffers               16080896 bytes

제어 파일이 생성되었습니다.

SQL> alter database open resetlogs;
alter database open resetlogs
*
1행에 오류:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [115195923], [0],
[115195952], [4194432], [], [], [], [], [], []
프로세스 ID: 7152
세션 ID: 96 일련 번호: 1

어제오늘 한거 메모장에 복사하고 기억으로 적다보니 틀린부분이 있네요

위에 다시해보니 최종 oRA-00600이뜨네요..

alter db resetlogs 적용하니까 문제있기전 redolog파일이 방금 최종날짜로 모두 변경됬고 새설치후에도

같은 현상이 발생할것 같은데요 아.. 백업의 중요성을 심하게 겸험합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입