欢迎来到天天文库
浏览记录
ID:38120716
大小:21.28 KB
页数:5页
时间:2019-06-06
《recover与resetlog》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、有关SCN和RESETLOG的一些资料简单说两句:要理解recoverdatabaseusingbackupcontrolfile,先理解recoverdatabase也就是说,不加usingbackupcontrolfile的情况。在普通的recoverdatabase或者recovertablespace,recoverdatafile时,Oracle会以当前controlfile所纪录的SCN为准,利用archivelog和redolog的redoentry,把相关的datafile的block恢复
2、到“当前controlfile所纪录的SCN”而某些情况下,Oracle需要把数据恢复到比当前controlfile所纪录的SCN还要靠后的位置(比如说,controlfile是backupcontrolfile,或者controlfile是根据tracecreate的。),这时候,就需要用usingbackupcontrolfile.恢复就不会受“当前controlfile所纪录的SCN”的限制。这时候的限制就来自于你的语句(untiltime,untilscn),或者可用的archivelog(unt
3、ilcancel)...------------------------------------------- 首先这里我们先介绍四个SCN概念。1、系统检查点scn当一个检查点动作完成后,Oracle就把系统检查点的SCN存储到控制文件中。selectcheckpoint_change#fromv$database;2,数据文件检查点scn当一个检查点动作完成后,Oracle就把每个数据文件的scn单独存放在控制文件中。selectname,checkpoint_change#fromv$datafil
4、e;3,启动scnOracle把这个检查点的scn存储在每个数据文件的文件头中,这个值称为启动scn,因为它用于在数据库实例启动时,检查是否需要执行数据库恢复。selectname,checkpoint_change#fromv$datafile_header4、终止scn每个数据文件的终止scn都存储在控制文件中。selectname,last_change#fromv$datafile以下条件需要使用usingbackupcontrolfile1)、使用备份控制文件2)、重建resetlogs控制文件
5、,如果重建立noresetlogs不必要使用usingbackupcontrolfile2、alterdatabaseopenresetlog指定RESETLOGS将重设当前LOGsequencenumber为1,抛弃所有日志信息。以下条件需要使用resetlog1)在不完全恢复(介质恢复)2)使用备份控制文件使用resetlogs打开数据库后无必完整地备份一次数据库。3、createcontrolfileresetlogs/noresetlogs1).用Noresetlogs重建控制文件时,控制文件中d
6、atafileCheckpoint来自Onlinelogs中的Currentlog头2).用Resetlogs重建控制文件时,控制文件中datafileCheckpoint来自各数据文件头。当systemscn,datafilescn,startscn不全相等,需要介质恢复,如果stopscnnull需要实例恢复resetlogs抛弃所有在上一次恢复没有用到的日志信息,确保不被重新用与恢复。1、系统正常关闭:systemscn=datafilescn=startscn=stopscn1)systemscn
7、=datafilescn=startscn,不需要介质恢复2)stopscnnotnull,不需要实例恢复2、系统异常关闭:systemscn=datafilescn=startscn,stopscnnull1)systemscn=datafilescn=startscn,不需要介质恢复2)stopscnnull,需要实例恢复3、旧数据文件systemscn=datafilescn>startscn,stopscnnull/notnull1)systemscn=datafilescn>startscn,需
8、要介质恢复成systemscn=datafilescn=startscn2)stopscnnull,需要实例恢复,notnull不需要实例恢复4、备份控制文件systemscn=datafilescn<=startscn(当数据文件为旧的相等),stopscnnotnull/null1)systemscn=datafilescn<=startscn,需要使用usingbackupcontrolfile介质恢复成systemsc
此文档下载收益归作者所有