1、recoverdatabaseusingbackupcontrolfile
以下条件需要使用usingbackupcontrolfile
1)、使用备份控制文件
2)、重建resetlogs控制文件,如果重建立noresetlogs不必要使用usingbackupcontrolfile
2、alterdatabaseopenresetlog
指定RESETLOGS将重设当前LOGsequencenumber为1,抛弃所有日志信息。
以下条件需要使用resetlog
1)在不完全恢复(介质恢复)
2)使用备份控制文件
使用resetlogs打开数据库后无必完整地备份一次数据库。
3、createcontrolfileresetlogs/noresetlogs
1).用Noresetlogs重建控制文件时,控制文件中datafileCheckpoint来自Onlinelogs中的Currentlog头
2).用Resetlogs重建控制文件时,控制文件中datafileCheckpoint来自各数据文件头。
当systemscn,datafile,scnstartscn不全相等,需要介质恢复,如果stopscnnull需要实例恢复
resetlogs抛弃所有在上一次恢复没有用到的日志信息,确保不被重新用与恢复。
1、系统正常关闭:
systemscn=datafilescn=startscn=stopscn
1)systemscn=datafilescn=startscn,不需要介质恢复
2)stopscnnotnull,不需要实例恢复
2、系统异常关闭:
systemscn=datafilescn=startscn,stopscnnull
1)systemscn=datafilescn=startscn,不需要介质恢复
2)stopscnnull,需要实例恢复
3、旧数据文件
systemscn=datafilescn>startscn,stopscnnull/notnull
1)systemscn=datafilescn>startscn,需要介质恢复成systemscn=datafilescn=startscn
2)stopscnnull,需要实例恢复,notnull不需要实例恢复
4、备份控制文件
systemscn=datafilescn<=startscn(当数据文件为旧的相等),stopscnnotnull/null
1)systemscn=datafilescn<=startscn,需要使用usingbackupcontrolfile介质恢复成systemscn=datafilescn=startscn=currentlogscn(当前日志最大SCN)
2)为保证上一次恢复没有用到log日志不被使用,必须resetlogs
5、重建noresetlogs控制文件
控制文件中datafileCheckpoint来自Onlinelogs中的Currentlog头
currentlogscn=systemscn=datafilescn>=startscn,stopscnnotnull/null
1)currentlogscn=systemscn=datafilescn>=startscn,需要介质恢复成systemscn=datafilescn=startscn=redologscn(当前日志最大SCN),stopscnnotnull
2)stopscnnotnull不需要实例恢复
6、重建resetlogs控制文件
控制文件中datafileCheckpoint来自各数据文件头。
systemscn>=datafilescn=startscn,stopscnnotnull/null
1)systemscn>=datafilescn=startscn,需要使用usingbackupcontrolfile介质恢复成systemscn=datafilescn=startscn(当前日志最大SCN),stopscnnotnull
2)stopnotnull,因为SCN已经为redologscn,log已经不能使用,必须resetlogs
7、不完成恢复
1)
2)为保证上一次恢复没有用到log日志不被使用,必须resetlogs
|
|