探索ORACLE不完全恢复之--基于备份控制文件恢复

探索ORACLE不完全恢复之--基于备份控制文件恢复

作者:吴伟龙 Name:Prodence Woo

QQ:286507175 msn:hapy-wuweilong@hotmail.com




基于备份控制文件(unsing backup controlfile)的恢复

主要适用于:基于备份控制文件的恢复只要适用于以下情况:表空间被意外删除;所有控制文件全部损坏。

1、关闭数据库执行一次全库冷备份:

SQL> select file_name from dba_data_files;

FILE_NAME

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

/DBBak2/oradata/WWL/users01.dbf

/DBBak2/oradata/WWL/sysaux01.dbf

/DBBak2/oradata/WWL/undotbs01.dbf

/DBBak2/oradata/WWL/system01.dbf

/DBBak2/oradata/WWL/WWL001.dbf

/DBBak2/oradata/WWL/WWL002.dbf

/DBBak2/oradata/WWL/WWL003.dbf

7 rowsselected.

SQL> shutdown immediate

Databaseclosed.

Databasedismounted.

ORACLEinstance shut down.

SQL> !mkdir /DBBak2/oradata/WWL2

SQL> !cp /DBBak2/oradata/WWL/* /DBBak2/oradata/WWL2/

通过如上的操作数据库现在已经有了一个冷备份了,里面包含另外wwl表空间,现在模拟用户误删除了wwl表空间。

SQL> startup

ORACLEinstance started.

TotalSystem Global Area 100663296 bytes

FixedSize 1217884 bytes

VariableSize 88083108 bytes

DatabaseBuffers 8388608 bytes

RedoBuffers 2973696 bytes

Databasemounted.

Databaseopened.

SQL>

模拟删除表空间

SQL> drop tablespace wwl including contents;

Tablespacedropped.

当前的控制文件中已经不包含wwl表空间了,但是我们之前冷备份的控制文件中还是包含的,所以必须使用以前的控制文件来进行wwl表空间的恢复。

还原之前备份的数据文件:

SQL> shutdown immediate

Databaseclosed.

Databasedismounted.

ORACLEinstance shut down.

SQL> !rm -rf /DBBak2/oradata/WWL/*.dbf

SQL> !rm -rf /DBBak2/oradata/WWL/*.ctl

SQL> !cp /DBBak2/oradata/WWL2/*.dbf /DBBak2/oradata/WWL/

SQL> !cp /DBBak2/oradata/WWL2/*.ctl /DBBak2/oradata/WWL/

SQL>

使用控制文件进行恢复:

SQL> startup

ORACLEinstance started.

TotalSystem Global Area 100663296 bytes

FixedSize 1217884 bytes

VariableSize 88083108 bytes

DatabaseBuffers 8388608 bytes

RedoBuffers 2973696 bytes

Databasemounted.

ORA-00338:log 5 of thread 1 is more recent than control file

ORA-00312:online log 5 thread 1: '/DBBak2/oradata/WWL/redo5a.log'

ORA-00312:online log 5 thread 1: '/DBBak2/oradata/WWL/redo5b.log'

SQL> recover database using backup controlfile until cancel;

ORA-00279:change 1782560 generated at 07/31/2012 14:37:24 needed for thread 1

ORA-00289:suggestion : /DBSoft/product/10.2.0/db_1/dbs/arch/1_3_790085314.dbf

ORA-00280:change 1782560 for thread 1 is in sequence #3

Specifylog: {<RET>=suggested | filename | AUTO | CANCEL}

cancel

Mediarecovery cancelled.

SQL> alter database open resetlogs;

Databasealtered.

SQL>

至此已经恢复成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值