對於Database recovery的理解
如果我們指定以alter database open resetlogs開啟資料庫,那麼我們當前online line日誌的sequence number會歸為1,並且之前的日誌資訊都會被拋棄。
以下條件需要使用resetlog
1)在不完全恢復(介質恢復)
2)使用備份控制檔案(backup的控制檔案一般從日誌檔案和資料庫的資訊以及SCN的資訊,相比目前的狀態都已經過期了)
使用resetlogs開啟資料庫(log sequence number變為1)後無必完整地備份一次資料庫。而且這一操作會拋棄所有在上一次恢復沒有用到的日誌資訊,確保不被重新用與恢復。
在重建控制檔案的時候需要注意:
create controlfile resetlogs/noresetlogs
1).用noresetlogs重建控制檔案時,控制檔案中 datafile checkpoint scn來自online logs中的Current log頭
2).用resetlogs重建控制檔案時,控制檔案中datafile Checkpoint SCN來自各資料檔案頭(Start SCN)。
如果system checkpoint scn,datafile checkpoint scn,start scn 不全相等,需要介質恢復.
如果stopscn null需要例項恢復
小小的總結一下各種情況:
1、系統正常關閉:
會使得:system checkpoint scn = datafile checkpoint scn = start scn = stop scn
1)system checkpoint scn = datafile checkpoint scn = start scn,不需要介質恢復
2)stop scn is not null = start SCN,不需要例項恢復
2、系統異常關閉:
會使得:system checkpoint scn = datafile checkpoint scn = start scn = stop scn
1)system checkpoint scn = datafile checkpoint scn = start scn,不需要介質恢復
2)stop scn is null,需要例項恢復
3、舊資料檔案
會使得:system checkpoint scn = datafile checkpoint scn > start scn,stop scn is null/ is not null
1)system checkpoint scn = datafile checkpoint scn > start scn
需要介質恢復成system checkpoint scn = datafile checkpoint scn = start scn
2)stop scn is null,需要例項恢復,is not null 不需要例項恢復
4、備份控制檔案
會使得:system checkpoint scn = datafile checkpoint scn <= start scn(當資料檔案為舊且和舊控制檔案為同一版本的時候相等,如果資料檔案是當前的資料檔案則是小於),stop scn notnull/null
1)system checkpoint scn = datafile checkpoint scn <= start scn,需要使用using backup controlfile介質恢復成system scn = datafile scn = start scn = current log scn(當前日誌最大SCN)
2)為保證上一次恢復沒有用到log日誌不被使用,必須在恢復完成後用resetlogs開啟資料庫
5、以noresetlogs方式重建控制檔案
在以這種方式重建控制檔案時,控制檔案中的datafile checkpoint scn來自於Online logs中的Current log頭,因此
current log scn = system checkpoint scn = datafile scn >= start scn(如果資料檔案為備份而來則會大於start SCN,如果是當前的則為相等於start SCN), stop scn not null/null
1)current log scn = system checkpoint scn = datafile checkpoint scn >= start scn,因此需要介質恢復成system checkpoint scn = datafile scn = start scn = redolog scn(當前日誌最大SCN)
2)stopscn is not null 不需要例項恢復
6、以resetlogs方式重建控制檔案
控制檔案中datafile checkpoint scn 來自各資料檔案頭(start scn),而且system checkpoint scn會歸為0
system checkpoint scn < datafile checkpoint scn = start scn,stop scn not null/null
1)system checkpoint scn < datafile checkpoint scn = start scn,需要使用using backup controlfile介質恢復成system checkpoint scn = datafile checkpoint scn = start scn(當前日誌最大SCN),stop scn not null
2)stopscn is not null 不需要例項恢復,而且因為SCN已經為redolog scn,log已經不能使用,必須用resetlogs方式開啟資料庫
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-732/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於INSTANCE RECOVERY過程的理解
- oracle 之recovery directory databaseOracleDatabase
- 對於BFC的理解
- 對於MVVM的理解MVVM
- Impact of Database Recovery and Flashback Database on the TDE Wallet_1327519.1Database
- 個人對於vue的理解Vue
- 對於button元素的理解
- 關於對Host的理解
- 對於雲技術的理解
- 對於@Bean注入的新理解Bean
- 對於final理解
- 對於Fragment的一些理解Fragment
- 對於 Function.call()的深入理解Function
- 關於OPcache對Swoole影響的理解opcache
- 個人對於flux、redux及vuex的理解ReduxVue
- 對於Objective-C新建類的理解Object
- 關於我對於寫部落格寫文章的理解
- oracle database backup and recovery user's guide part IVOracleDatabaseGUIIDE
- oracle database backup and recovery user's guide part IIIOracleDatabaseGUIIDE
- Duplicating a Database Without Recovery Catalog or Target ConnectionDatabase
- 第4章 資料庫恢復 Database Recovery資料庫Database
- 關於對健壯性程式碼的理解
- 對於Redux原始碼的一些理解Redux原始碼
- 對於最近的一些理解和思考
- 對於增量檢查點工作原理的理解
- 對於Oracle資料字典的深入理解Oracle
- 理解Database和InstanceDatabase
- Backup And Recovery User's Guide-對於SUSPENDED資料庫的備份GUIIDE資料庫
- OCP-IZO-053_QUESTION390_ Flashback Database recovery point parametersDatabase
- oracle database backup and recovery user's guide part VII & VIIIOracleDatabaseGUIIDE
- oracle database backup and recovery user's guide part V & VIOracleDatabaseGUIIDE
- oracle database backup and recovery user's guide part I & IIOracleDatabaseGUIIDE
- 對於Spring中AOP,DI,IoC概念的理解Spring
- 個人對於JavaScript中Number.toFixed()方法的理解JavaScript
- AFL學習(一)對於AFL插樁的理解
- 對於 @Autowired註解和@service註解的理解
- 對於Python中回撥函式的理解Python函式
- 對於基督教和佛教的粗淺理解