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

本文详细介绍了一种数据库恢复的完整步骤,包括冷备、文件备份、模拟文件删除、数据库状态检查、恢复文件、恢复数据库和验证恢复效果等关键环节。
1.冷备在 数据库关闭的状态下把所有数据库文件给复制到别的目录下。
在这里可以对数据库执行一些操作(比如建一个表,向里面插入相应的值,主要是为了,恢复之后可以看到效果)
2.模拟数据库文件被删除。把dbf文件删除。 www.2cto.com
3.进入数据库的mount状态下。
查看数据库文件头的scn号。
select file#,name,checkpoint_change#from v$datafile_header;
 
可以看到什么都没有。
4.查看控制文件中的数据文件的检查点 www.2cto.com
select file# ,name,checkpoint_change# from v$datafile;
可以看到有相应的文件信息
因为v$datafile和v$datafile_header两个视图的信息来源不一样。
v$datafile的信息是直接从控制文件中得到的。v$datafile_header的信息是直接从数据文件头中取到的。数据文件都被删除了当然找不到相应的值了。 www.2cto.com
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.现在执行恢复命令 www.2cto.com
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、付费专栏及课程。

余额充值