oracle数据文件状态sysoff,SYSOFF – 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788 -...

对于这样的情况,可以使用自研的Oracle Recovery Tools工具快速修改scn,然后online数据文件即可

有朋友找到我,说数据库做recover报ORA-01245和ORA-01110错误,无法继续恢复,请求支持

SQL> recover database using backup controlfile until cancel;

…………

第 1 行出现错误:

ORA-01245: RESETLOGS 完成时脱机文件 1 将丢失

ORA-01110: 数据文件 1: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\SYSTEM01.DBF'

通过Oracle Database Recovery Check检查数据库情况,发现datafile 1处于offline状态

cc94591acb342c7eda5855898ccae5b2.png

Wed Aug 26 23:11:00 2015

alter database datafile 1 offline drop

Completed: alter database datafile 1 offline drop

从这里基本上可以知道为什么出现ORA-01245错误了,由于system表空间中文件被offline导致.

redo信息

f4c34736f579e19493707218f3bd4608.png

Mon Aug 24 22:38:35 2015

alter database clear unarchived logfile group 2

Clearing online log 2 of thread 1 sequence number 5705

Completed: alter database clear unarchived logfile group 2

Wed Aug 26 23:13:23 2015

alter database clear logfile group 3

Clearing online log 3 of thread 1 sequence number 5706

Completed: alter database clear logfile group 3

除当前redo之外,其他redo被clear

尝试恢复

SQL> alter database datafile 1 online;

数据库已更改。

SQL> recover database;

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

ORA-01610: 使用 BACKUP CONTROLFILE 选项的恢复必须已完成

SQL> recover database using backup controlfile;

ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的

ORA-00289: 建议:

E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570

5_%U_.ARC

ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中

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

E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO03.LOG

ORA-00310: 归档日志包含序列 5706; 要求序列 5705

ORA-00334: 归档日志: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO03.LOG'

SQL> recover database using backup controlfile;

ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的

ORA-00289: 建议:

E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570

5_%U_.ARC

ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中

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

E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO02.LOG

ORA-00339: 归档日志未包含任何重做

ORA-00334: 归档日志: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO02.LOG'

SQL> recover database using backup controlfile;

ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的

ORA-00289: 建议:

E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570

5_%U_.ARC

ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中

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

E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO01.LOG

ORA-00310: 归档日志包含序列 5707; 要求序列 5705

ORA-00334: 归档日志: 'E:\APP\ADMINISTRATOR\ORADATA\HXV10\REDO01.LOG'

数据库做恢复需要seq 5705的redo,但是redo已经被clear,导致现在数据库常规手段无法恢复,只用使用隐含参数屏蔽数据库前滚(一致性检查)

再次尝试打开数据库

ORACLE 例程已经启动。

Total System Global Area 778387456 bytes

Fixed Size 1374808 bytes

Variable Size 486540712 bytes

Database Buffers 285212672 bytes

Redo Buffers 5259264 bytes

数据库装载完毕。

SQL> recover database using backup controlfile;

ORA-00279: 更改 63960710 (在 08/23/2015 17:01:25 生成) 对于线程 1 是必需的

ORA-00289: 建议:

E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\HXV10\ARCHIVELOG\2015_08_27\O1_MF_1_570

5_%U_.ARC

ORA-00280: 更改 63960710 (用于线程 1) 在序列 #5705 中

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

cancel

介质恢复已取消。

SQL> alter database open resetlogs;

数据库已更改。

在数据库恢复中,请不要对system表空间数据文件进行offline操作,如果对此类文件进行offline操作,讲在数据库恢复过程中出现ORA-01245和ORA-01110错误,而且文件还会出现SYSOFF状态

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值