分类:
2008-10-15 13:44:15
在大多数不完全恢复的情况下,要求resetlogs子句打开数据库。该子句重置oracle数据库重做日志序列。
在10g以前的版本中,它是个危险操作,因为它使用户不能使用在发出resetlogs之前的备份。所以一般在不完全恢复以后立即执行备份。
在10g中,这个问题已经解决,恢复过程的内部不需要做任何事情。
实验:
在RESETLOGS操作之后完成恢复
1.做一个新备份,或者有一个可用的好的整个数据库备份。
RMAN> run 2> { 3> allocate channel c1 type disk; 4> backup database; 5> backup(archivelog all); 6> } |
2.目标库强制归档,将所有重做日志信息强制装入归档日志
SQL> alter system switch logfile; |
系统已更改。
SQL> alter system switch logfile; |
系统已更改。
SQL> alter system switch logfile; |
系统已更改。
SQL> alter system switch logfile; |
系统已更改。
3.验证v$log_history表中的重做日志序列和线程号,这样可以对重做日志序列进行不完全恢复。
SQL> set line 120; SQL> select * from v$log_history; |
4.关闭数据库,删除users01.DBF,模拟故障
SQL> shutdown immediate |
数据库已经关闭。
[1]