数据冲突的修复
数据恢复向导 (DRA)是帮助诊断和修复数据故障的工具。DRA可以诊断的错误:
1.数据库文件或者控制文件因为不存在、离线、或者权限等问题而不能被访问;2.块因为各种原因引起的冲突;3.数据文件与其他文件的不一致性;4.由硬件错误、操作系统错误等引起的I/O失败。VALIDATE DATABASE;--对数据库进行验证LIST FAILURE;--列出故障LIST FAILURE 100 DETAIL;--根据故障编号,获得故障的详细信息ADVISE FAILURE;--得到故障的修复建议REPAIR FAILURE;--执行故障修复冷备份的恢复
1, shutdown immediate2,使用操作系统命令把数据库的备份复制到原来的位置3,startup mount4,重命名数据文件(如果备份的数据文件被复制到原来不同的位置,需要修改控制文件)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 CANCELCANCEL这样做是为了使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>BLOCKRECOVERDATABFILE 7 BLOCK 3;--修复数据文件7中的坏块3.。也可以:RECOVER CORRUPTION LIST;--修复视图中列出的所有冲突块。