ORACLE技术论坛–请到ask.orasos.com提问

Please consider registering
guest

Log In

Lost password?
Advanced Search:

— Forum Scope —



— Match —



— Forum Options —




Wildcard usage:
*  matches any number of characters    %  matches exactly one character

Minimum search word length is 4 characters - maximum search word length is 84 characters

Topic RSS
记录一次ORA-00600 [kcrf_resilver_log_1] 恢复过程
2014 年 03 月 08 日
10:18
惜分飞
Admin
Forum Posts: 344
Member Since:
2010 年 07 月 31 日
Offline

 

运行环境

数据库版本:11.2.0.1  运行平台:Linux  非归档无任何备份

数据库启动报错

Tue Mar 04 15:22:16 2014

ALTER DATABASE OPEN

Beginning crash recovery of 1 threads

 parallel recovery started with 32 processes

Started redo scan

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_54101.trc  (incident=16996):

ORA-00600: internal error code, arguments: [kcrf_resilver_log_1], [0x7C0E59B40], [2], [], [], [], [], [], [], [], [], []

Incident details in: /opt/oracle/diag/rdbms/orcl/ORCL/incident/incdir_16996/ORCL_ora_54101_i16996.trc

Trace dumping is performing id=[cdmp_20140304152217]

Aborting crash recovery due to error 600

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_54101.trc:

ORA-00600: internal error code, arguments: [kcrf_resilver_log_1], [0x7C0E59B40], [2], [], [], [], [], [], [], [], [], []

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_54101.trc:

ORA-00600: internal error code, arguments: [kcrf_resilver_log_1], [0x7C0E59B40], [2], [], [], [], [], [], [], [], [], []

ORA-600 signalled during: ALTER DATABASE OPEN…

相关scn信息

数据库scn信息

DBID

NAME

OPEN_MODE

CREATED

OPEN_MODE

LOG_MODE

CHECKPOINT_CHANGE#

CTL_CHANGE#

1365059051

ORCL

MOUNTED

2014-01-19 17:18:35

MOUNTED

NOARCHIVELOG

48503067

48510748

 

数据文件scn信息

TS#

FILE#

FILE_SIZE_G

STATUS

ENABLED

SCN

STOP_SCN

0

1

10.576171875

SYSTEM

READ WRITE

48503067

 

1

2

.751953125

ONLINE

READ WRITE

48503067

 

2

3

1.025390625

ONLINE

READ WRITE

48503067

 

4

4

.0048828125

ONLINE

READ WRITE

48503067

 

6

5

15

ONLINE

READ WRITE

48503067

 

 

数据文件头scn信息

TS#

FILE#

TABLESPACE_NAME

STATUS

ERROR

FORMAT

REC

FUZ

SCN

0

1

SYSTEM

ONLINE

 

10

NO

YES

48503067

1

2

SYSAUX

ONLINE

 

10

NO

YES

48503067

2

3

UNDOTBS1

ONLINE

 

10

NO

YES

48503067

4

4

USERS

ONLINE

 

10

NO

YES

48503067

6

5

ZNKK

ONLINE

 

10

NO

YES

48503067

 

这里的数据库ORACLE 11.2.0.1因为Bug 9056657导致数据库redobuffer未完整写入到redo log,从而导致数据库在启动过程中出现ORA-00600[kcrf_resilver_log_1]错误,而导致无法启动。

 

恢复过程

ORA-00600 [kcrf_resilver_log_1]处理

Tue Mar 04 15:22:16 2014

ALTER DATABASE OPEN

Beginning crash recovery of 1 threads

 parallel recovery started with 32 processes

Started redo scan

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_54101.trc  (incident=16996):

ORA-00600: internal error code, arguments: [kcrf_resilver_log_1], [0x7C0E59B40], [2], [], [], [], [], [], [], [], [], []

这里可以看出来,数据库在open过程中需要读取redo log进行实例恢复,但是由于redo log因为bug异常,导致实例恢复无法完整。也就是说数据库无法完成完成实例恢复,也就是说依靠数据库自身无法完成实例恢复,需要人工干预强制拉起数据库

 

尝试_allow_resetlogs_corruption= TRUE在数据库open过程不验证一致性,强制拉起数据库,报错如下:

Thu Mar 06 16:41:02 2014

SMON: enabling cache recovery

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_60342.trc  (incident=18197):

ORA-00600: internal error code, arguments: [2662], [0], [48503075], [0], [48508238], [12583040], [], [], [], [], [], []

Incident details in: /opt/oracle/diag/rdbms/orcl/ORCL/incident/incdir_18197/ORCL_ora_60342_i18197.trc

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_60342.trc:

ORA-00600: internal error code, arguments: [2662], [0], [48503075], [0], [48508238], [12583040], [], [], [], [], [], []

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_60342.trc:

ORA-00600: internal error code, arguments: [2662], [0], [48503075], [0], [48508238], [12583040], [], [], [], [], [], []

Error 600 happened during db open, shutting down database

USER (ospid: 60342): terminating the instance due to error 600

Instance terminated by USER, pid = 60342

ORA-1092 signalled during: alter database open resetlogs…

 

ORA-600[2662]恢复

很常见的ORA-600[2662]错误,解决该问题的一般方法是推进scn,使用event 10015 推进scn,尝试open数据库,出现如下错误

SMON: enabling tx recovery

Database Characterset is ZHS16GBK

No Resource Manager plan active

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_smon_60678.trc  (incident=19357):

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

Incident details in: /opt/oracle/diag/rdbms/orcl/ORCL/incident/incdir_19357/ORCL_smon_60678_i19357.trc

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_60694.trc  (incident=19405):

ORA-00600: internal error code, arguments: [4193], [], [], [], [], [], [], [], [], [], [], []

Incident details in: /opt/oracle/diag/rdbms/orcl/ORCL/incident/incdir_19405/ORCL_ora_60694_i19405.trc

Doing block recovery for file 3 block 1443

Resuming block recovery (PMON) for file 3 block 1443

Block recovery from logseq 2, block 64 to scn 1073742051

Recovery of Online Redo Log: Thread 1 Group 2 Seq 2 Reading mem 0

  Mem# 0: /opt/oracle/oradata/orcl/redo02.log

Block recovery stopped at EOT rba 2.67.16

Block recovery completed at rba 2.67.16, scn 0.1073742050

Doing block recovery for file 3 block 128

Resuming block recovery (PMON) for file 3 block 128

Block recovery from logseq 2, block 64 to scn 1073742047

Recovery of Online Redo Log: Thread 1 Group 2 Seq 2 Reading mem 0

  Mem# 0: /opt/oracle/oradata/orcl/redo02.log

Block recovery completed at rba 2.65.16, scn 0.1073742049

Errors in file /opt/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_smon_60678.trc:

ORA-01595: error freeing extent (3) of rollback segment (1))

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

 

ORA-600[4194]恢复

因为11G的undo segment名称后面有时间戳,而且通过strings也不太好定位到准确名称,因此直接使用dul挖取数据文件获得名称,然后使用_corrupted_rollback_segments屏蔽,然后顺利打开数据库

 

在最后导出过程中还发现ORA-8013,然后通过plsql抽取该表正常数据,完成这次恢复

 

该库恢复过程使用了不少隐含参数和event,可能导致数据不一致,强烈建议通过逻辑方式重建库,保证数据安全稳定。

 

 

相关文章

ORA-00600[kcrf_resilver_log_1]异常恢复

使用bbed解决ORA-00600[2662]

异常断电导致current redo损坏处理

ORA-00600 [2662]

记录一次ORA-600[4000]数据库故障恢复

ORA-607/ORA-600[4194]不一定是重大灾难

使用bbed解决ORA-00607/ORA-00600[4194]故障

数据库报ORA-00607/ORA-00600[4194]错误

记录一次ORA-00600[2252]故障解决

rac redo log file被意外覆盖数据库恢复

ORA-600[4194]/[4193]解决

使用_allow_resetlogs_corruption打开无归档日志rman备份库

ORA-00600[4194]故障解决

 

 

Q Q:107644445  

Tel:13429648788

个人Blog(惜分飞)

提供专业ORACLE技术支持(数据恢复,安装实施,升级迁移,备份容灾,故障诊断,系统优化等)

    

       
   

2014 年 03 月 08 日
10:29
惜分飞
Admin
Forum Posts: 344
Member Since:
2010 年 07 月 31 日
Offline

关于本次恢复的pdf版下载:记录一次ORA-00600 [kcrf_resilver_log_1] 恢复过程

Q Q:107644445  

Tel:13429648788

个人Blog(惜分飞)

提供专业ORACLE技术支持(数据恢复,安装实施,升级迁移,备份容灾,故障诊断,系统优化等)

    

       
   

评论功能已关闭。