如果一個表空間的數(shù)據(jù)文件損壞,在有備份的情況下,那么可以使用數(shù)據(jù)文件的備份進行還原,但是還需要歸檔文件進行恢復,才能使數(shù)據(jù)文件到達一個最新的一致性狀態(tài),從而才能打開數(shù)據(jù)庫。如果需要的歸檔文件無法提供,比如被刪除了,那么在這種情況下如何打開數(shù)據(jù)庫呢?
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:成都網(wǎng)站設計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的武陟網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!在這種情況下由于缺少歸檔,數(shù)據(jù)庫無法恢復,但是如果與該表空間相關(guān)的數(shù)據(jù)改變很少或者基本沒有改變的情況下可以通過改變數(shù)據(jù)文件頭的SCN號,讓其和System Checkpoint SCN和Datafile Checkpoint SCN號一致,就可以讓Oracle避開對該文件的檢查,Oracle就不會去做介質(zhì)恢復,而只做實例恢復,這樣就可以實現(xiàn)完全恢復,及時打開數(shù)據(jù)庫。
一般來說,推進數(shù)據(jù)文件頭的SCN號有兩種處理辦法:第一,利用BBED(Block Brower and Editor)修改數(shù)據(jù)文件頭,推進SCN號來打開數(shù)據(jù)庫。第二,設置隱含參數(shù)“_ALLOW_RESETLOGS_CORRUPTION”為TRUE來打開數(shù)據(jù)庫,該參數(shù)默認為FALSE,待數(shù)據(jù)庫打開后,要將該參數(shù)從參數(shù)文件中去掉,命令如下所示:
ALTER SYSTEM SET "_ALLOW_RESETLOGS_CORRUPTION"=TRUE SCOPE=SPFILE;--跳過數(shù)據(jù)庫一致性檢查
ALTER SYSTEM RESET "_ALLOW_RESETLOGS_CORRUPTION" SCOPE=SPFILE SID='*';--取消該參數(shù)