如何判斷控制檔案是從備份中恢復的

2021-09-21 20:50:33 字數 1403 閱讀 5373

昨天測試把db遷移到asm。遷移的過程很簡單,不說了。過程中遇到乙個問題。

遷移控制檔案採用兩種方式:

1. 開啟資料庫到mount狀態,備份控制檔案,然後shutdown。更改control_files路徑。

進入nomount,用rman方式restore剛才備份控制檔案,然後mount,open。這時提示

需要resetlogs開啟。

2.更改control_files路徑,進入nomount,用rman方式restore原路徑下的控制檔案,

然後mount,open。一切正常,沒有提示需要resetlogs開啟。

那麼oracle是如何斷定這個控制檔案是從備份中恢復的呢。根據eygle的深入解析上所說的。

檢查控制檔案頭與資料檔案頭的scn是否匹配,來判斷控制檔案是否從備份中恢復。在這裡

可能不行。因為資料庫從未開啟過,scn不會變化的,通過我匯出檔案頭資訊也證明了這一點。

eygle也提到用control seq來判斷。我發現資料庫到mount狀態,然後關閉,再到mount。

control seq一直遞增。這也不是以上兩種方式的差異。一番測試後又有所發現:

1. 用備份的控制檔案restore之前的控制檔案dump:

dump of control files, seq # 447 = 0x1bf

v10 style file header:

compatibility vsn = 169870080=0xa200300

db id=2480234890=0x93d5618a, db name='smart4a3'

activation id=0=0x0

control seq=447=0x1bf, file size=430=0x1ae

file number=0, blksiz=16384,

file type=1 control

2. 用備份的控制檔案restore之後的控制檔案dump:

dump of control files, seq # 450 = 0x1c2

v10 style file header:

compatibility vsn = 169870080=0xa200300

db id=2480234890=0x93d5618a, db name='smart4a3'

activation id=0=0x0

control seq=450=0x1c2, file size=430=0x1ae

file number=0, blksiz=16384,

file type=4 backup control

可以看control seq是一直增長的。但後者標識file type=4 backup control. 這也許就是oracle來判斷控制檔案是否從備份中恢復的。不知是否準確,請高手指點一二。

冷備份恢復控制檔案報錯

1.錯誤碼為ora 01122 ora 01110 ora 01207 大致意思為備份的控制檔案沒有現在的新 2.恢復步驟為 1 alter database backup controlfile to trace 說明 該檔案生成在trace檔案目錄,我這裡為 opt oracle db diag...

Oracle 如何備份控制檔案

一 作業系統 windows 2000 二 資料庫 oracle 8i 8.1.7 for nt 企業版 三 安裝路徑 d oracle 實現方法 1 alter database backup controlfile to trace alter database backup controlfi...

mysql如何從全備份檔案中恢復單庫單錶

從全備份中恢復單個庫和單錶方法 mysql uroot ppassword testdb one database 192.168.1.100 all databases dump 2021 11 18.sql 可以看出這裡主要用到的引數是 one database簡寫 o的引數,極大方便了我們的恢...