数据冲突的修复

数据恢复向导 (DRA)是帮助诊断和修复数据故障的工具。DRA可以诊断的错误:
1.数据库文件或者控制文件因为不存在、离线、或者权限等问题而不能被访问;
2.块因为各种原因引起的冲突;
3.数据文件与其他文件的不一致性;
4.由硬件错误、操作系统错误等引起的I/O失败。
VALIDATE DATABASE;--对数据库进行验证
LIST FAILURE;--列出故障
LIST FAILURE 100 DETAIL;--根据故障编号,获得故障的详细信息
ADVISE FAILURE;--得到故障的修复建议
REPAIR FAILURE;--执行故障修复

冷备份的恢复


1, shutdown immediate
2,使用操作系统命令把数据库的备份复制到原来的位置
3,startup mount
4,重命名数据文件(如果备份的数据文件被复制到原来不同的位置,需要修改控制文件)
alter database rename file 'e:\mydata\**.dbf'to 'f:\**.';
5,重命名redo文件
alter database rename file 'e:\mydata\redo01.log' to
'f:\mydata\redo01_1.log';
6,执行数据库的不完全恢复
RECOVER DATABASE UNTIL CANCEL
CANCEL
这样做是为了使oracle能够重新设置重做日志文件
7.alter database open resetlogs;

热备份的恢复

在数据库打开的情况下,产生的备份是热备份。用热备份恢复数据库通常经历两个过程:

还原数据库(resotre database),把数据库的备份复制到原来的位置
恢复数据库(recover database)指在还原数据库后,应用归档日志文件或者重做日志的内容
--恢复整个数据库---
1,startup force mount;
2.restore database;
3,recover database;
4,alter database open;

--恢复单个表空间---

1,SQL ‘ATLER TABLESPACE USERS OFFLINE';--将要恢复的表空间离线;
2.--运行RMAN的RUN命令,执行表空间的还原与恢复
RUN
{
SET NEWNAME FOR DATAFILE 'D:\mydata\user01.dbf'
TO 'F:\mydata\user01.dbf'--重命名数据文件
RESTORE TABLESPACE users;
SWITC DATAFILE ALL;
RECOVER TABLESPACE users;
}

3.SQL ‘ATLER TABLESPACE USERS ONLINE';--使表空间重新上线

恢复单个数据文件
RMAN>1.RESTORE datafile 'd:\mydata\user01.dbf';
RMAN>RECOVER DATAFILE 'd:\mydata\user01.dbf';
SQL>alter database datafile 'd:\mydata\user01.dbf' ONLINE;

修复数据块
1,先找出冲突块:
方法一:SQL>select * from v$database_block_corruption;
方法二:SQL>select name,value from v$diag_info;
2 修复:RMAN>BLOCKRECOVER
DATABFILE 7 BLOCK 3;--修复数据文件7中的坏块3.。
也可以:RECOVER CORRUPTION LIST;--修复视图中列出的所有冲突块。

 

 

posted on 2013-10-07 14:12  happinessqi  阅读(199)  评论(0编辑  收藏  举报