直至完成。
ORA-00278: 此恢复不再需要日志文件 'D:\ORACLE\ORADATA\SAMPLE\ARCHIVE\TESTT001S01343.ARC'
应用的记录。
完成介质的恢复。
6:打开
alter database open;
另一种方法:
1:startup mount;
2:alter database datafile 'D:\ORACLE\ORADATA\SAMPLE\DR01.DBF' offline;
3:alter database open;
4:recover datafile 'D:\ORACLE\ORADATA\SAMPLE\DR01.DBF';;
5:alter database datafile 'D:\ORACLE\ORADATA\SAMPLE\DR01.DBF' online;
实例5:归档模式下热备份的恢复模拟练习
1:对某个表空间进行热备份.
Ater tablespace user begin backup
2:在os下把USER表空间对应的文件复制到备份的目录下。
3:结束热备。
Alter tablespace user end backup.
4:shutdown abort;
5:删除该表空间的数据文件。
6:startup;
7:提示文件不存在。
8:还原热备的文件,令该文件脱机。
Alter database datafile 88888888 offline;
9:打开。
10:恢复该文件。
Recover databfile 88888888;
11:alter database datafile online.
也可以对所有的表空间进行热备,删除所有文件,还原热备文件。利用归档日志进行恢复,方法同上。
注:一定要保留热备之后的所有归档日志,联机日志和控制文件,如果联机日志丢失(指状态为active或者current的日志文件),只能进行不完全恢复。方法是按照提示输入日志文件,知道最后一个没有归档的日志文件时CANCEL掉就可以了。
一点心得:
在归档模式下,即使是非正常DOWN掉,通过归档日志和联机日志都可以进行完全恢复。可是如果某个状态为ACTIVE或者CURRENT的日志文件丢失或者损坏,ORACLE肯定不能完整的打开,即使使用
recover database until cancel时,也基本上会报:
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\SAMPLE\SYSTEM01.DBF'
这种情况下由于不能恢复到一致的状态,
一种方法:
在中加入:
_allow_resetlogs_corruption=true
让ORACLE不验证数据一致性的情况下强行打开。
然后EXPORT出数据,重建。
或者:
把以前的的数据文件拿来,做不完全恢复,一直恢复到提示使用丢失的联机日志序列号时时打入cancel
recover database until cancel;
然后使用resetlogs的选项打开
alter database open resetlogs;
所以在归档模式下当前的控制文件和联机日志文件在恢复时候至关重要:
其中控制文件用来对旧数据进行恢复,应用归档日志。
而联机日志则可以保证恢复到发生事故时的状态,算是完全恢复。
如果没归档的联机日志丢失(状态为ACTIVE或者CURRENT),则只能使用归档日志恢复到最后一个归档日志的地方,是不完全恢复。
posted on
以上就是关于oracle恢复的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-3327-2.html
ear系列
看来可以做的更好的
美帝是不是太无耻了
细腻温柔