【Oracle数据恢复】ORA-00283错误一例

 存储无法访问导致数据库异常宕机,重起数据库无法启动

数据库可以mount,但是无法启动,发现文件3(sysaux01.dbf)损坏,需要介质恢复,因为设置为noarhivelog模式,没有数据库的备份,无法正常恢复。

 

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638   QQ号:47079569    邮箱:[email protected]

 

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01172: recovery of thread 1 stuck at block 131977 of file 3

ORA-01151: use media recovery to recover block, restore backup if needed

 

SQL> recover datafile 3 ;

ORA-00283: recovery session canceled due to errors

ORA-12801: error signaled in parallel query server P003

ORA-10562: Error occurred while applying redo to data block (file# 3, block#

37292)

ORA-10564: tablespace SYSAUX

ORA-01110: data file 3: ‘/opt/ora

 

[oracle@mlab2 ~]$ oerr ora 283
00283, 00000, “recovery session canceled due to errors”
// *Cause: An error during recovery was determined to be fatal enough to end
// the current recovery session.
// *Action: More specific messages will accompany this message. Refer to
// the other messages for the appropriate action.

 

 

尝试通过allow 1 corruption忽略坏块,但是部分块无法跳过。

 

SQL> recover database allow 1 corruption;

ORA-00283: recovery session canceled due to errors

ORA-10562: Error occurred while applying redo to data block (file# 3, block#

37292)

ORA-10564: tablespace SYSAUX

ORA-01110: data file 3: ‘/opt/oracle/oradata/monitor/sysaux01.dbf’

ORA-10560: block type ‘0’

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

 

通过DBV工具进行检查,只发现sysaux表空间有损坏,system及其它表空间正常。

和客户沟通,将sysaux01.dbf数据文件offline,先将数据库open,然后将数据进行逻辑备份,重建数据库,通过逻辑备份将数据恢复。

 

和客户沟通,将sysaux01.dbf数据文件offline,先将数据库open,然后将数据进行逻辑备份,重建数据库,将数据恢复。

 

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01172: recovery of thread 1 stuck at block 131977 of file 3

ORA-01151: use media recovery to recover block, restore backup if needed

 

SQL> alter database datafile 3 offline drop;

 

Database altered.

 

SQL> alter database open;

 

Database altered.

数据库已启动。

 

因为没有SYSAUX表空间,发现通过EXP导出数据时不能全库导出,也不能按用户导出,因此对SYSAUX表空间进行重建,重建后可以通过EXP正常导出数据。

新建Monitor1数据库,将备份数据导入,然后修改Service_names参数为monitor,对外提供服务,原数据库monitor关闭。

 

1:实例名称ORACLE_SID=monitor1

2:创建相应的目录 /data2/monitor,adump,bdump,cdump,udump

3:建立密码文件:

$ORACLE_HOME/bin/orapwd  file=$ORACLE_HOME/dbs/orapwmonitor1 password=monitor1

4: 修改参数文件

5.设置当前工作实例:

export ORACLE_SID=monitor1

6.登陆oracle:

sqlplus ‘/ as sysdba’

7.启动实例:

SQL>startup nomount

8.通过脚本创建数据库及相应的表空间、用户等。

9.IMP导入数据。

 


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *