12.2号------11G模拟在归档模式下冷备和恢复

1.冷备在数据库关闭的状态下把所有数据库文件给复制到别的目录下。

在这里可以对数据库执行一些操作(比如建一个表,向里面插入相应的值,主要是为了,恢复之后可以看到效果)

2.模拟数据库文件被删除。把dbf文件删除。

3.进入数据库的mount状态下。

查看数据库文件头的scn号。

select file#,name,checkpoint_change#from v$datafile_header;

可以看到什么都没有。

4.查看控制文件中的数据文件的检查点

select file# ,name,checkpoint_change# from v$datafile;

可以看到有相应的文件信息

因为v$datafile和v$datafile_header两个视图的信息来源不一样。
v$datafile的信息是直接从控制文件中得到的。v$datafile_header的信息是直接从数据文件头中取到的。数据文件都被删除了当然找不到相应的值了。

6.现在打开数据库。

alterdatabase open;会报错

从这个图中可以看到,需要system01.dbf数据文件。我们就把刚才备份的文件拷到这个目录下。

7.拷好之后执行两个命令

select file#,name,checkpoint_change# from v$datafile_header;

select checkpoint_change# from v$database;

从这个图中可以看到。scn号不相同,因为这个数据文件是刚才备份的那个,所以现在scn当然不相同了。现在的主要工作就是通过归档文件把数据库文件的scn恢复到当前的scn就可以了。

现在就可以恢复了

8.通过v$recover_file视图查看需要恢复哪些数据库

select file#,error,change#,onine_status from v$recover_file;

下面这个sql语句可以看到归档日志的详细信息。

select name,first_change#,next_change#,status from v$archive_log;

可以从scn号看出从哪个归档日志进行恢复

9.现在执行恢复命令

recover datafile 1;

10.现在可以查看数据文件头的scn号

可以看到现在的scn号已经和当前scn差不多,(可能会一点不一样,那是因为最新的数据还没有更新到这里,只在内存中改变了)

11.在把其它的数据文件拷过来。

recover database;

12.现在启动数据库,就大功告成了

alter database open;

13.现在就可以查询到在备份之后修改的内容了。

14.现在的所有的scn号也一致了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值