oracle11 ora-01207,数据库恢复遭遇ORA-00600[3705]

某个客户在一台机器上装3个oracle数据库,机器蓝屏后,使用pe拷贝出来所有数据文件,redo文件,控制文件等,在尝试恢复过程中,三个库都出现同样的ORA-600[3705]错误,在以前的数据库恢复中对于redo异常,使用过N次类似方法出来都未出问题,但是在ORACLE 9.2.0.1版本中确实出现诡异现象,这里记录处理过程和大家分享

尝试恢复数据库

C:\Documents and Settings\Administrator>set oracle_sid=telnet

C:\Documents and Settings\Administrator>sqlplus/nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 5月 25 13:04:29 2014

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn / as sysdba

已连接。

SQL> select open_mode from v$database;

OPEN_MODE

----------

MOUNTED

SQL> alter database open;

alter database open

*

ERROR 位于第 1 行:

ORA-01113: 文件 2 需要介质恢复

ORA-01110: 数据文件 2: 'E:\ORACLE\ORADATA\TELNET\UNDOTBS01.DBF'

SQL> recover database;

ORA-00283: 恢复会话因错误而取消

ORA-00322: 日志 2 (线程 1) 不是当前副本

ORA-00312: 联机日志 2 线程 1: 'E:\ORACLE\ORADATA\TELNET\REDO02.LOG'

redo异常,尝试使用_allow_resetlogs_corruption参数启动数据库

SQL> startup mount pfile='c:\pfile.txt'

ORACLE 例程已经启动。

Total System Global Area 126950220 bytes

Fixed Size 453452 bytes

Variable Size 109051904 bytes

Database Buffers 16777216 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

SQL> recover database until cancel;

ORA-00279: 更改 66763056 (在 05/12/2014 09:50:10 生成) 对于线程 1 是必需的

ORA-00289: 建议: E:\ORACLE\ORA92\RDBMS\ARC00312.001

ORA-00280: 更改 66763056 对于线程 1 是按序列 # 312 进行的

指定日志: {=suggested | filename | AUTO | CANCEL}

cancel

ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误

ORA-01194: 文件1需要更多的恢复来保持一致性

ORA-01110: 数据文件 1: 'E:\ORACLE\ORADATA\TELNET\SYSTEM01.DBF'

ORA-01112: 未启动介质恢复

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR 位于第 1 行:

ORA-03113: 通信通道的文件结束

查看alert日志

Sun May 25 15:35:02 2014

ALTER DATABASE RECOVER CANCEL

ORA-1547 signalled during: ALTER DATABASE RECOVER CANCEL ...

Sun May 25 15:35:02 2014

ALTER DATABASE RECOVER CANCEL

ORA-1112 signalled during: ALTER DATABASE RECOVER CANCEL ...

Sun May 25 15:35:09 2014

alter database open resetlogs

RESETLOGS is being done without consistancy checks. This may result

in a corrupted database. The database should be recreated.

RESETLOGS after incomplete recovery UNTIL CHANGE 66763056

Resetting resetlogs activation ID 0 (0x0)

Sun May 25 15:35:20 2014

Assigning activation ID 2117757301 (0x7e3a6975)

Sun May 25 15:35:20 2014

Errors in file e:\oracle\admin\telnet\bdump\telnet_lgwr_12140.trc:

ORA-00600: internal error code, arguments: [3705], [1], [1], [1], [1], [], [], []

Sun May 25 15:35:56 2014

Errors in file e:\oracle\admin\telnet\bdump\telnet_lgwr_12140.trc:

ORA-00600: internal error code, arguments: [3705], [1], [1], [1], [1], [], [], []

LGWR: terminating instance due to error 600

Instance terminated by LGWR, pid = 12140

创建控制文件继续恢复

SQL> recover database until cancel;

ORA-00283: 恢复会话因错误而取消

ORA-00600: 内部错误代码,参数: [2130], [0], [1], [2], [], [], [], []

SQL> alter database backup controlfile to trace as 'c:\ctl.txt';

数据库已更改。

SQL> alter database open;

alter database open

*

ERROR 位于第 1 行:

ORA-03113: 通信通道的文件结束

SQL> startup nomount

ORACLE 例程已经启动。

Total System Global Area 126950220 bytes

Fixed Size 453452 bytes

Variable Size 109051904 bytes

Database Buffers 16777216 bytes

Redo Buffers 667648 bytes

SQL> CREATE CONTROLFILE REUSE DATABASE "TELNET" NORESETLOGS NOARCHIVELOG

2 MAXLOGFILES 50

3 MAXLOGMEMBERS 5

4 MAXDATAFILES 100

5 MAXINSTANCES 1

6 MAXLOGHISTORY 226

7 LOGFILE

8 GROUP 1 'E:\ORACLE\ORADATA\TELNET\REDO01.LOG' SIZE 100M,

9 GROUP 2 'E:\ORACLE\ORADATA\TELNET\REDO02.LOG' SIZE 100M,

10 GROUP 3 'E:\ORACLE\ORADATA\TELNET\REDO03.LOG' SIZE 100M

11 DATAFILE

12 'E:\ORACLE\ORADATA\TELNET\SYSTEM01.DBF',

13 'E:\ORACLE\ORADATA\TELNET\UNDOTBS01.DBF',

14 'E:\ORACLE\ORADATA\TELNET\CWMLITE01.DBF',

15 'E:\ORACLE\ORADATA\TELNET\DRSYS01.DBF',

16 'E:\ORACLE\ORADATA\TELNET\EXAMPLE01.DBF',

17 'E:\ORACLE\ORADATA\TELNET\INDX01.DBF',

18 'E:\ORACLE\ORADATA\TELNET\ODM01.DBF',

19 'E:\ORACLE\ORADATA\TELNET\TOOLS01.DBF',

20 'E:\ORACLE\ORADATA\TELNET\USERS01.DBF',

21 'E:\ORACLE\ORADATA\TELNET\XDB01.DBF'

22 CHARACTER SET ZHS16GBK

23 ;

控制文件已创建

SQL> recover database;

ORA-00283: 恢复会话因错误而取消

ORA-00264: 不要求恢复

SQL> alter database open;

数据库已更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值