oracle数据恢复遭遇ORA-00600[3705]解决方法

作者:袖梨 2022-06-29

尝试恢复数据库

代码如下 复制代码
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;


数据库已更改。

联系:手机(13429648788) QQ(107644445)

链接:

标题:数据库恢复遭遇ORA-00600[3705]

作者:惜分飞©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

相关文章

精彩推荐