oracle 01507归档日志,起个题目:关于新建数据文件无备份的恢复(archivelog)

此时如果做alter database create datafile as这个命令肯定是不行的,因为此时的控制文件还没有quest01.dbf这个文件的信息:

SQL> alter database create datafile 'D:\ORACLE\ORADATA\ORCL\QUEST1.DBF' as 'D:\O

RACLE\ORADATA\ORCL\QUEST1.DBF' reuse;

alter database create datafile 'D:\ORACLE\ORADATA\ORCL\QUEST1.DBF' as 'D:\ORACLE

\ORADATA\ORCL\QUEST1.DBF' reuse

*

ERROR 位于第 1 行:

ORA-01516: 不存在的日志文件, 数据文件或临时文件

'D:\ORACLE\ORADATA\ORCL\QUEST1.DBF'

必须先使用旧的控制文件进行不完全恢复到控制文件中包含了quest01.dbf文件先:

SQL> recover database using backup controlfile until cancel;

ORA-00279: 更改 1229498 (在 03/02/2005 01:13:44 生成) 对于线程 1 是必需的

ORA-00289: 建议: D:\ORACLE\ORA92\RDBMS\ARC00516.001

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

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

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

ORA-01244: 未命名的数据文件由介质恢复添加至控制文件

ORA-01110: 数据文件 4: 'D:\ORACLE\ORADATA\ORCL\QUEST1.DBF'

ORA-01112: 未启动介质恢复

SQL> recover database using backup controlfile until cancel;

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

ORA-01111: 数据文件 4 名称未知 - 请重命名以更正文件

ORA-01110: 数据文件 4: 'D:\ORACLE\ORA92\DATABASE\UNNAMED00004'

ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件

ORA-01111: 数据文件 4 名称未知 - 请重命名以更正文件

ORA-01110: 数据文件 4: 'D:\ORACLE\ORA92\DATABASE\UNNAMED00004'

我们看到此时控制文件中已经包含了这个数据文件的信息,但是因为被删除后恢复出来的,所以oracle不知道这个文件的具体名字,给了个奇怪的名字,没关系,我们重新命名一下这个文件:

SQL> alter database create datafile 'D:\ORACLE\ORA92\DATABASE\UNNAMED00004' as '

D:\ORACLE\ORADATA\ORCL\QUEST1.DBF' reuse;

数据库已更改。

这样数据库就存在了quest1.dbf这个文件的信息了,然后我们继续做不完全恢复:

SQL> recover database using backup controlfile until cancel;

ORA-00279: 更改 1229668 (在 03/02/2005 01:16:11 生成) 对于线程 1 是必需的

ORA-00289: 建议: D:\ORACLE\ORA92\RDBMS\ARC00516.001

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

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

ORA-00279: 更改 1229717 (在 03/02/2005 01:18:36 生成) 对于线程 1 是必需的

ORA-00289: 建议: D:\ORACLE\ORA92\RDBMS\ARC00517.001

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

ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORA92\RDBMS\ARC00516.001'

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

ORA-00308: 无法打开存档日志 'D:\ORACLE\ORA92\RDBMS\ARC00517.001'

ORA-27041: 无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) The system cannot find the file specified.

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

ORA-01152: 文件 1 没有从完备的旧备份中恢复

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

上面恢复失败,看来'D:\ORACLE\ORA92\RDBMS\ARC00517.001'

还没存在,没关系,当前的所有redolog都在,用这个就行了,重新恢复一次:

SQL> recover database using backup controlfile until cancel;

ORA-00279: 更改 1229717 (在 03/02/2005 01:18:36 生成) 对于线程 1 是必需的

ORA-00289: 建议: D:\ORACLE\ORA92\RDBMS\ARC00517.001

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

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

D:\oracle\oradata\orcl\redo01.log

已应用的日志。

完成介质恢复。

SQL> alter database open resetlogs;

数据库已更改。

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF

D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF

D:\ORACLE\ORADATA\ORCL\QUEST.DBF

D:\ORACLE\ORADATA\ORCL\QUEST1.DBF

至此,丢失的那个重要的数据文件恢复完毕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值