recovery case: all the control file are lost

26
A Recovery Case:control file lost Sidney Chen 2011-Apr-05

Upload: sidney-chen

Post on 05-Dec-2014

4.659 views

Category:

Technology


3 download

DESCRIPTION

It's a summary for oracle recovery case when all the control are lost

TRANSCRIPT

A Recovery Case:control file lost

Sidney Chen 2011-Apr-05

Control file is missing, alter database mount failed

SQL> startupORACLE instance started.

Total System Global Area 3559873248 bytesFixed Size 731872 bytesVariable Size 1493172224 bytesDatabase Buffers 2063597568 bytesRedo Buffers 2371584 bytesORA-00205: error in identifying controlfile, check alert log

for more info

confirm the control file are lost from alert log

Sun Apr 3 10:13:48 2011Errors in file

/export/home/icssprd/admin/bdump/icssprd_lgwr_326.trc:ORA-00210: cannot open the specified controlfileORA-00202: controlfile:

'/export/home/icssprd/data/data02/icssprd_ctrl01.ctl'ORA-27041: unable to open fileHPUX-ia64 Error: 2: No such file or directoryAdditional information: 3Sun Apr 3 10:13:48 2011LGWR: terminating instance due to error 210Instance terminated by LGWR, pid = 326Mon Apr 4 10:15:50 2011

create control file Manually

CREATE CONTROLFILE REUSE DATABASE "ICSSPRD" RESETLOGS ARCHIVELOG MAXLOGFILES 48 MAXLOGMEMBERS 4 MAXDATAFILES 1024 MAXINSTANCES 1 MAXLOGHISTORY 4084LOGFILE GROUP 1 ( '/export/home/icssprd/data/data01/icssprd_redo_01a.rdo', '/export/home/icssprd/data/data12/icssprd_redo_01b.rdo' ) SIZE 1000M,

.

.

. GROUP 8 ( '/export/home/icssprd/data/data10/icssprd_redo_08a.rdo', '/export/home/icssprd/data/data16/icssprd_redo_08b.rdo' ) SIZE 1000MDATAFILE '/export/home/icssprd/data/data01/icssprd_system_01.dbf', '/export/home/icssprd/data/data14/icssprd_rbs_01.dbf',

.

.

. '/export/home/icssprd/data/data34/icssprd_css_ref_data_04.dbf', '/export/home/icssprd/data/data34/icssprd_css_ref_indx_05.dbf'CHARACTER SET US7ASCII

"Alter database open resetlogs"

failed due to ora-00600 2662

Mon Apr 4 12:27:07 2011Errors in file /export/home/icssprd/admin/udump/icssprd_ora_15737.trc:ORA-00600: internal error code, arguments: [2662], [8], [1439299167], [8],

[1441267038], [25165833], [], []Mon Apr 4 12:27:08 2011Errors in file /export/home/icssprd/admin/udump/icssprd_ora_15737.trc:ORA-00600: internal error code, arguments: [2662], [8], [1439299167], [8],

[1441267038], [25165833], [], []Mon Apr 4 12:27:08 2011Error 600 happened during db open, shutting down databaseUSER: terminating instance due to error 600Instance terminated by USER, pid = 15737ORA-1092 signalled during: Alter database open...Mon Apr 4 12:32:09 2011USER: terminating instance due to error 1092Instance terminated by USER, pid = 15737

ORA-600 [2662] "Block SCN is ahead of Current SCN"

ORA-600 [2662] [a] [b] [c] [d] [e]ARGUMENTS: Arg [a] Current SCN WRAP Arg [b] Current SCN BASE Arg [c] dependent SCN WRAP Arg [d] dependent SCN BASE Arg [e] Where present this is the DBA where the dependent

SCN came from.

ORA-00600: internal error code, arguments: [2662], [8], [1439299167], [8], [1441267038], [25165833], [], []

Current SCN WRAP=8Current SCN Base = 1439299167dependent SCN WRAP=8dependent SCN BASE= 1441267038

Current SCN Base < dependent SCN BASE

• When scn base up to 4 * 1024 * 1024 * 1024 SCN Wrap = SCN Wrap + 1SCN Base reset to 1

• ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL N';

• N = 1024*1024*1024

N=?

dependent SCN WRAP=8dependent SCN BASE= 1441267038

• Set Current SCN WRAP =9• N = (8+1) * 4 = 36

Wrongly Set level=1

• startup mount;• ALTER SESSION SET EVENTS '10015 TRACE

NAME ADJUST_SCN LEVEL 1';• ALTER DATABASE OPEN;

SQL> startup mount;ORACLE instance started.

Total System Global Area 3559873248 bytesFixed Size 731872 bytesVariable Size 1493172224 bytesDatabase Buffers 2063597568 bytesRedo Buffers 2371584 bytesDatabase mounted.SQL> ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL 1';

Session altered.

SQL> ALTER DATABASE OPEN;ALTER DATABASE OPEN*ERROR at line 1:ORA-01113: file 1 needs media recoveryORA-01110: data file 1:'/export/home/icssprd/data/data01/icssprd_system_01.dbf'

Mon Apr 4 14:12:18 2011Errors in file /export/home/icssprd/admin/udump/icssprd_ora_25729.trc:ORA-00600: internal error code, arguments: [2256], [0], [1073741824],

[8], [1439319171], [], [], []Mon Apr 4 14:12:19 2011Errors in file /export/home/icssprd/admin/udump/icssprd_ora_25729.trc:ORA-00600: internal error code, arguments: [2256], [0], [1073741824],

[8], [1439319171], [], [], []Mon Apr 4 14:12:19 2011Error 600 happened during db open, shutting down databaseUSER: terminating instance due to error 600Instance terminated by USER, pid = 25729ORA-1092 signalled during: ALTER DATABASE OPEN...

1073741824 = 1024 * 1024 * 1024

Adjust LEVEL to 36

startup mount;ALTER SESSION SET EVENTS '10015 TRACE NAME

ADJUST_SCN LEVEL 36';ALTER DATABASE OPEN;

Errors in file /export/home/icssprd/admin/udump/icssprd_ora_6821.trc:

ORA-00607: Internal error occurred while making a change to a data block

ORA-00600: internal error code, arguments: [4194], [52], [33], [], [], [], [], []

Error 607 happened during db open, shutting down databaseUSER: terminating instance due to error 607Instance terminated by USER, pid = 6821ORA-1092 signalled during: ALTER DATABASE OPEN...

Hidden Parameter _corrupted_rollback_segments

._corrupted_rollback_segments='rbs01','rbs02','rbs03','rbs04','rbs05','rbs06','rbs07','rbs08','rbs09','rbs10','rbs11','rbs12','rbs_batch1','rbs_batch2','rbs_batch3'

$ORACLE_HOME/dbs/initicssprd.ora

rollback_segments = (rbs01,rbs02,rbs03,rbs04,rbs05,rbs06,rbs07,rbs08,rbs09,rbs10,rbs11,rbs12,rbs_batch1,rbs_batch2,rbs_batch3)

If the undo management is auto

undo_management = auto

[Itanium] oracle@qadb01:/export/home/icssprd/data/data01> strings icssprd_system_01.dbf | grep _SYSSMU | cut -d $ -f 1 | sort -u

_SYSSMU16_SYSSMU17_SYSSMU18_SYSSMU19_SYSSMU20_SYSSMU21_SYSSMU22_SYSSMU23_SYSSMU24_SYSSMU25

create new undo tablespace, swtch default undo tablespace, drop the obsolete undo tablespace