oracle 手工生成归档,Oracle手工完全恢复案例(归档模式)

下面恢复数据库

recover database;

ORA-00279: change1552528 generatedat06/28/201314:57:57 neededfor thread 1

ORA-00289: suggestion:/u01/fast_recovery_area/MIKE/archivelog/2013_06_28/o1_mf_1_1_8wtf58m4_.arc

ORA-00280: change1552528for thread1isinsequence #1

Specify log:{=suggested| filename | AUTO| CANCEL}...

一路回车下去,数据库使用归档日志来恢复数据库。最后打开数据库。

alter databaseopen;

最后用test用户连上查t1数据,数据回来了。

再查select file#,checkpoint_change#from v$datafile;

select file#,checkpoint_change#from v$datafile_header;

发现控制文件和数据文件头部的SCN是同步的。

案例二:recover tablespace (恢复表空间)

模拟环境:

1.用test用户登录创建一个表再插入一些数据提交

create table t01(id int) tablespacetest;

insert into t01 values(1);

insert into t01 values(2);

insert into t01 values(3);

commit;

2.模拟介质失败

shutdown abort

rm -f /u01/oradata/siqian11g/test01.dbf

3.起库

出错:

ORA-01157: cannot identify/lockdatafile6- see DBWRtracefile

ORA-01110:datafile6:'/u01/oradata/siqian11g/test01.dbf'

查看下要恢复的数据文件:

select file#,error from v$recover_file;

FILE#ERROR

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

1 UNKNOWN ERROR

2 UNKNOWN ERROR

3 UNKNOWN ERROR

4 UNKNOWN ERROR

5 UNKNOWN ERROR

6 FILENOTFOUND

4.还原数据文件

cp /backup/cold/test01.dbf/u01/oradata/siqian11g/

5.将数据文件offline(模拟高可用性),然后起库

alter database datafile6offline;

起库

alter database open;

6.恢复表空间

recover tablespacetest;

ORA-00279: change2067764 generatedat06/29/201312:11:34 neededfor thread 1

ORA-00289: suggestion:/backup/arch/arch_1_819372290_12.log

ORA-00280: change2067764for thread1isin sequence #12

Specify log:{=suggested| filename | AUTO| CANCEL}...

一路回车下去来恢复表空间。

7.将数据文件online

alter database datafile6online;

8.验证

conn test/test

test@SIQIAN11>select*from t01;

ID

----------

1

2

3

案例三:在database open状态下恢复表空间

----database open状态下恢复数据文件(除了system表空间)

模拟环境:

1.test用户登录

test@SIQIAN11>select*from t01;

ID

----------

1

2

3

插入一些数据:

insert into t01 values(4);

insert into t01 values(5);

insert into t01 values(6);

commit;

2.在database open状态下删除test01.dbf

[Oracle@siqian siqian11g]$ rm-f/u01/oradata/siqian11g/test01.dbf

然后清除data buffer

sys@SIQIAN11>alter system flush buffer_cache;

sys@SIQIAN11>select*from test.t01;

select * from test.t01

*

ERROR at line 1:

ORA-01116: errorin opening databasefile6

ORA-01110:datafile6:'/u01/oradata/siqian11g/test01.dbf'

ORA-27041: unabletoopenfile

Linux Error: 2: No suchfileor directory

Additional information:3

3.将被损坏的datafile offline

alter database datafile6offline;

4.还原数据文件

[oracle@siqian siqian11g]$ cp/backup/cold/test01.dbf/u01/oradata/siqian11g/0b1331709591d260c1c78e86d0c51c18.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值