TroubleShoot

8i에서 ORA-01545 해결

neo-orcl 2014. 5. 12. 14:50

Disk 관련 문제로 Media Recover 과정중 발생
핫백업이 있어서 해당 파일로 복구를 전부 완료 했으나 rollback segment 관련 에러가 나타남

OS: SunOS 5.7
Oracle db version: 8.1.7.4

1. 복구 후 DB startup 시 에러 나타남

SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required
SQL> startup
ORACLE instance started.

Total System Global Area  919359164 bytes
Fixed Size                   102076 bytes
Variable Size             487653376 bytes
Database Buffers          429490176 bytes
Redo Buffers                2113536 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced

얼럿로그 내용: ORA-01545: rollback segment 'RBS1' specified not available

2. init파일에서 rollback_segments 주석처리 후 open

SQL> startup
ORACLE instance started.

Total System Global Area  919359164 bytes
Fixed Size                   102076 bytes
Variable Size             487653376 bytes
Database Buffers          429490176 bytes
Redo Buffers                2113536 bytes
Database mounted.
ORA-00604: error occurred at recursive SQL level 1
ORA-00376: file 3 cannot be read at this time
ORA-01110: data file 3: '/oradata/rbs01.dbf'

3. v$recover_file 확인해서 파일별 복구 수행후 online

SQL> select * from v$recover_file;
SQL> recover datafile 8;
ORA-00279: change 377347436 generated at 03/06/2013 22:10:36 needed for thread 1
ORA-00289: suggestion : /oradata/archive/arch_1_37864.arc
ORA-00280: change 377347436 for thread 1 is in sequence #37864
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

SQL> alter database datafile 8 online;
Database altered.

4. rbs파일인 (여기선 3번) 3번파일 offline + recover + online 수행

SQL> alter database datafile 3 offline;
Database altered.

SQL> recover datafile 3;      
Media recovery complete.

SQL> alter database datafile 3 online;
Database altered.

5. db shutdown 후 init파일 rollback_segments 주석처리 제거하여 startup 후 정상 확인