Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1264997
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-09 11:58:31

 
5.3.4 数据库关闭,数据文件中有活动事务,从备份恢复
 
1。从一个有效的备份中恢复损坏的数据文件。 
 
2。mount数据库。 
 
3。执行以下查询 
 
SELECT FILE#, NAME, STATUS FROM V$DATAFILE; 
如果发现要恢复的文件是offline状态的话,要先online它 
ALTER DATABASE DATAFILE '<full_path_file_name>' ONLINE; 
 
4。执行以下查询 
SELECT V1.GROUP#, MEMBER, SEQUENCE#, FIRST_CHANGE# 
FROM V$LOG V1, V$LOGFILE V2 
WHERE V1.GROUP# = V2.GROUP# ;  
这个将列出redlog文件所代表的sequence和first change numbers。 
 
5。如果数据库是非归档情况下,执行以下查询: 
SELECT FILE#, CHANGE# FROM V$RECOVER_FILE; 
如果CHANGE#大于最小的redolog文件的FIRST_CHANGE#,则数据文件可以被恢复,记得在应用日志的时候要把所有redolog文件全部应用一遍。 
 
如果CHANGE#小于最小的redolog文件的FIRST_CHANGE#,则数据文件就不可以被恢复了,这时候你要从一个有效的全备份中去恢复数据库了,如果没有全备份的话,那你就只能把数据库强制打开到一个不一致的状态去exp出数据,然后重新建库导入数据,因为这种方式的恢复oracle是不推荐用户自己做的,所以这里我就不详细说明了。
 
6。恢复数据文件 
RECOVER DATAFILE '<full_path_file_name>' 
 
7。确信你应用了所有的redolog文件,直至出现提示信息"Media recovery complete"。 
 
8。打开数据库。
 
说明:
1、这种方法要求在归档有备份的方式下进行,而且是建议方式
 
2、这种方法不会导致数据库的错误
 
5.4 损坏临时数据文件的恢复方法
 
临时数据文件的恢复是比较简单的,因为临时文件中不涉及到其它的有用的数据,所以可以删除后重建
 
1、关闭数据库
SQL>shutdown immediate
 
2、删除临时数据文件,模拟媒体失败
 
3、启动数据库,检测到文件错误
 
4、脱机该数据文件
SQL>alter database datafile ‘文件名全名’ offline drop;
 
5、打开数据库
SQL>alter database open
 
6、删除该临时表空间
SQL>drop tablespace temp(或其它临时表空间名称);
 
1、  重新创建该表空间,并重新分配给用户
 
说明:
1、临时数据文件是非重要文件,不保存永久数据,可以随时删除重建,不影响数据库的数据安全
 
2、如果重新建立以后,别忘了重新分配给用户。
 
第五章. 常见恢复误区
 
1、  可以不需要备份,只有归档就能进行数据库的向前的恢复
 
答:这个在ORACLE 9i以前起码是不可能的,在别的数据库我也没有听说过,不完全恢复的主要思路是利用不完全点之前的备份,加上归档日志,恢复到不完全恢复点,9i中出现了一个flashback的特性,这个特性的使用,也是有很多局限的。
 
2、  进行不完全恢复只需要拷贝一个需要恢复的备份数据文件
 
答:不完全恢复需要拷贝所有的数据文件,最好包括临时数据文件在内,否则需要另外的处理,如果有一个数据文件的SCN大于不完全恢复点,那么这个恢复都将是失败的。
 
3、  使用RMAN目录与目标数据库在同一数据库能很好进行数据库的恢复
 
答:使用恢复目录与目标数据库在同一个数据库中,将存在很大的恢复局限,如该数据库的系统数据文件的损害,数据库根本不能open,那么RMAN也就无法连接恢复目录,也就不存在恢复了。
 
第六章. 小结
 
这里我们反复演示了多种情况下的恢复方案,通过这些演示,我们应该掌握了如下内容:
 
1、利用OS与RMAN进行各种常规备份与恢复。
 
2、熟悉没有备份或简单的非常规备份与恢复的方法。
阅读(1615) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~