對(duì)數(shù)據(jù)庫恢復(fù)的理解
導(dǎo)讀:如果我們指定以alter database openresetlogs打開數(shù)據(jù)庫,那么我們當(dāng)前onlineline日志的sequencenumber會(huì)歸為1,并且之前的日志信息都會(huì)被拋棄。這時(shí)就要用到數(shù)據(jù)庫的恢復(fù)技術(shù)。
以下條件需要使用resetlog
1)在不完全恢復(fù)(介質(zhì)恢復(fù))
2)使用備份控制文件(backup的控制文件一般從日志文件和數(shù)據(jù)庫的信息以及SCN的信息,相比目前的狀態(tài)都已經(jīng)過期了)
使用resetlogs打開數(shù)據(jù)庫(logsequencenumber變?yōu)?)后無必完整地備份一次數(shù)據(jù)庫。而且這一操作會(huì)拋棄所有在上一次恢復(fù)沒有用到的日志信息,確保不被重新用與恢復(fù)。
在重建控制文件的時(shí)候需要注意:
create controlfile resetlogs/noresetlogs
1).用noresetlogs重建控制文件時(shí),控制文件中 datafile checkpointscn來自onlinelogs中的Current log頭
2).用resetlogs重建控制文件時(shí),控制文件中datafile CheckpointSCN來自各數(shù)據(jù)文件頭(StartSCN)。
如果system checkpoint scn,datafile checkpoint scn,startscn不全相等,需要介質(zhì)恢復(fù).
如果stopscn null需要實(shí)例恢復(fù)
小小的總結(jié)一下各種情況:
1、系統(tǒng)正常關(guān)閉:
會(huì)使得:system checkpoint scn = datafile checkpoint scn = start scn=stop scn
1)system checkpoint scn = datafile checkpoint scn =startscn,不需要介質(zhì)恢復(fù)
2)stop scn is not null = start SCN,不需要實(shí)例恢復(fù)
2、系統(tǒng)異常關(guān)閉:
會(huì)使得:system checkpoint scn = datafile checkpoint scn = start scn=stop scn
1)system checkpoint scn = datafile checkpoint scn =startscn,不需要介質(zhì)恢復(fù)
2)stop scn is null,需要實(shí)例恢復(fù)
【編輯推薦】