Oracle檔案頭資訊(zt)
在資料庫open的過程中,Oracle要進行檢查中包含以下:
第一次檢查資料檔案頭中的Checkpoint cnt是否與對應控制檔案中的Checkpoint cnt一致.
如果相等,進行第二次檢查.
第二次檢查資料檔案頭的開始SCN和對應控制檔案中的結束SCN是否一致如果結束SCN等於開始SCN,則不需要對那個檔案進行恢復.
對每個資料檔案都完成檢查後,開啟資料庫.同時將每個資料檔案的結束SCN設定為無窮大.
透過以下過程我們來進一步說明一下這個內容。
我們來看以下來自控制檔案部分(選取一個檔案測試):
DATA FILE #4: (name #4) /opt/oracle/oradata/eygle/eygle01.dbf creation size=0 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 4, index=4 krfil=4 prev_file=0 unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00 Checkpoint cnt:58 scn: 0x0000.002ac8ee 08/11/2006 09:48:29 Stop scn: 0x0000.002ac8ee 08/11/2006 09:48:29 Creation Checkpointed at scn: 0x0000.0015078d 06/06/2006 09:41:54 thread:0 rba:(0x0.0.0) ................ aux_file is NOT DEFINED |
這部分中包含的重要資訊有:
檢查點計數: Checkpoint cnt:58
檢查點SCN: scn: 0x0000.002ac8ee 08/11/2006 09:48:29
資料檔案Stop SCN:Stop scn: 0x0000.002ac8ee 08/11/2006 09:48:29
我們再看來自資料檔案頭的資訊:
FILE HEADER: Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000 Db ID=1407686520=0x53e79778, Db Name='EYGLE' Activation ID=0=0x0 Control Seq=979=0x3d3, File size=1280=0x500 File Number=4, Blksiz=8192, File Type=3 DATA Tablespace #4 - EYGLE rel_fn:4 Creation at scn: 0x0000.0015078d 06/06/2006 09:41:54 Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0 reset logs count:0x232bee1f scn: 0x0000.0007c781 recovered at 08/10/2006 20:57:53 status:0x0 root dba:0x00000000 chkpt cnt: 58 ctl cnt:57 begin-hot-backup file size: 0 Checkpointed at scn: 0x0000.002ac8ee 08/11/2006 09:48:29 ....................... |
這部分中包含的重要資訊有:
檢查點SCN: Checkpointed at scn: 0x0000.002ac8ee 08/11/2006 09:48:29
檢查點計數: chkpt cnt: 58 ctl cnt:57
這兩者都和控制檔案中所記錄的一致。如果這兩者一致,資料庫啟動時就能透過驗證,啟動資料庫。
那麼如果不一致呢?
Oracle則請求進行恢復。
我們看,從備份中恢復eygle01.dbf檔案.
首先第一部分從控制檔案中獲得的資訊是相同的:
DATA FILE #4: (name #4) /opt/oracle/oradata/eygle/eygle01.dbf creation size=0 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 4, index=4 krfil=4 prev_file=0 unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00 Checkpoint cnt:58 scn: 0x0000.002ac8ee 08/11/2006 09:48:29 Stop scn: 0x0000.002ac8ee 08/11/2006 09:48:29 Creation Checkpointed at scn: 0x0000.0015078d 06/06/2006 09:41:54 ................... aux_file is NOT DEFINED |
檢查點計數: Checkpoint cnt:58
檢查點SCN: scn: 0x0000.002ac8ee 08/11/2006 09:48:29
資料檔案Stop SCN:Stop scn: 0x0000.002ac8ee 08/11/2006 09:48:29
而從檔案頭中獲得的備份檔案資訊則是:
FILE HEADER: Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000 Db ID=1407686520=0x53e79778, Db Name='EYGLE' Activation ID=0=0x0 Control Seq=973=0x3cd, File size=1280=0x500 File Number=4, Blksiz=8192, File Type=3 DATA Tablespace #4 - EYGLE rel_fn:4 Creation at scn: 0x0000.0015078d 06/06/2006 09:41:54 Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0 reset logs count:0x232bee1f scn: 0x0000.0007c781 recovered at 08/10/2006 20:57:53 status:0x0 root dba:0x00000000 chkpt cnt: 53 ctl cnt:52 begin-hot-backup file size: 0 Checkpointed at scn: 0x0000.002ac5f9 08/10/2006 20:58:21 ................................... |
我們看到此時備份檔案的資訊:
檢查點是:Checkpointed at scn: 0x0000.002ac5f9 08/10/2006 20:58:21
檢查點計數為:chkpt cnt: 53 ctl cnt:52
這兩者不再一致,首先是檢查點技術不一致,當前檔案的chkpt cnt為53,小於控制檔案中記錄的58,Oracle可以判斷檔案是從備份中恢復的,或者檔案故障,需要進行介質恢復。
我們看如果此時我們試圖開啟資料庫,則Oracle提示檔案需要介質恢復:
SQL> alter database open; alter database open * ERROR at line 1: ORA-01113: file 4 needs media recovery ORA-01110: data file 4: '/opt/oracle/oradata/eygle/eygle01.dbf' |
執行恢復:
SQL> recover datafile 4; Media recovery complete. |
我們看看恢復完成之後,控制檔案和資料檔案的變化.
首先看控制檔案的變化:
DATA FILE #4: (name #4) /opt/oracle/oradata/eygle/eygle01.dbf creation size=0 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 4, index=4 krfil=4 prev_file=0 unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00 Checkpoint cnt:59 scn: 0x0000.002ac8ee 08/11/2006 09:48:29 Stop scn: 0x0000.002ac8ed 08/11/2006 09:48:29 Creation Checkpointed at scn: 0x0000.0015078d 06/06/2006 09:41:54 ...................... |
檢查點計數: Checkpoint cnt:59
執行了恢復之後,檢查點計數較前增加了1
檢查點SCN: scn: 0x0000.002ac8ee 08/11/2006 09:48:29
資料檔案Stop scn: 0x0000.002ac8ed 08/11/2006 09:48:29
資料檔案Stop scn和資料檔案進行了同步。
資料檔案頭資訊:
FILE HEADER: Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000 Db ID=1407686520=0x53e79778, Db Name='EYGLE' Activation ID=0=0x0 Control Seq=983=0x3d7, File size=1280=0x500 File Number=4, Blksiz=8192, File Type=3 DATA Tablespace #4 - EYGLE rel_fn:4 Creation at scn: 0x0000.0015078d 06/06/2006 09:41:54 Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0 reset logs count:0x232bee1f scn: 0x0000.0007c781 recovered at 08/11/2006 10:11:26 status:0x0 root dba:0x00000000 chkpt cnt: 59 ctl cnt:58 begin-hot-backup file size: 0 Checkpointed at scn: 0x0000.002ac8ed 08/11/2006 09:48:29 .......................... |
我們看到此時資料檔案的資訊:
檢查點是:Checkpointed at scn: 0x0000.002ac8ed 08/11/2006 09:48:29
這個檢查點和控制檔案中記錄的stop scn一致,資料庫啟動可以順利進行。
檢查點計數為:chkpt cnt: 59 ctl cnt:58
我們開啟資料庫:
SQL> alter database open; Database altered. SQL> alter session set events 'immediate trace name file_hdrs level 10'; Session altered. |
此時資料庫恢復正常執行。
控制檔案資訊如下:
DATA FILE #4: (name #4) /opt/oracle/oradata/eygle/eygle01.dbf creation size=0 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 4, index=4 krfil=4 prev_file=0 unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00 Checkpoint cnt:60 scn: 0x0000.002ac8ef 08/11/2006 10:19:30 Stop scn: 0xffff.ffffffff 08/11/2006 09:48:29 Creation Checkpointed at scn: 0x0000.0015078d 06/06/2006 09:41:54 |
此時stop scn被置為無窮大。
資料檔案頭資訊如下:
FILE HEADER: Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000 Db ID=1407686520=0x53e79778, Db Name='EYGLE' Activation ID=0=0x0 Control Seq=984=0x3d8, File size=1280=0x500 File Number=4, Blksiz=8192, File Type=3 DATA Tablespace #4 - EYGLE rel_fn:4 Creation at scn: 0x0000.0015078d 06/06/2006 09:41:54 Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0 reset logs count:0x232bee1f scn: 0x0000.0007c781 recovered at 08/11/2006 10:11:26 status:0x4 root dba:0x00000000 chkpt cnt: 60 ctl cnt:59 begin-hot-backup file size: 0 Checkpointed at scn: 0x0000.002ac8ef 08/11/2006 10:19:30 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84691/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- idea檔案頭資訊設定Idea
- 檢視BAM檔案頭部資訊
- Oracle叢集檔案系統(OCFS2)使用者指南(zt)Oracle
- oracle enqueue(zt)OracleENQ
- 【kingsql分享】使用BBED修改Oracle資料檔案頭推進SCNSQLOracle
- oracle event 2 (zt)Oracle
- oracle job管理(zt)Oracle
- ORACLE LARGE MEMORY(zt)Oracle
- Oracle 資料檔案回收Oracle
- 清除Oracle控制檔案中的歸檔資訊v$archived_logOracleHive
- 檢測根目錄帶bom頭資訊的檔案
- 修改Oracle資料庫字符集(zt)Oracle資料庫
- oracle time_zone(zt)Oracle
- AUTO START ORACLE ON LINUX(zt)OracleLinux
- Oracle資料檔案和臨時檔案的管理Oracle
- Oracle's Parallel Execution Features(zt)OracleParallel
- How Oracle Store Number internal(zt)Oracle
- Oracle SQL optimization-2(zt)OracleSQL
- ORACLE MTS的介紹(zt)Oracle
- oracle 線上rename資料檔案Oracle
- oracle資料庫的配置檔案Oracle資料庫
- 8.13 標頭檔案剖析:標頭檔案路徑(下)
- 檔案屬性資訊
- linux組資訊檔案Linux
- locate標頭檔案和庫檔案
- Oracle 控制檔案Oracle
- ocfs2檔案系統問題總結(zt)
- Oracle 叢集軟體資源的手工註冊(zt)Oracle
- oracle uncatalog資料庫備份檔案Oracle資料庫
- oracle徹底刪除資料檔案Oracle
- 修改Oracle資料檔名及資料檔案存放路徑Oracle
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- system資料檔案頭損壞修復
- Oracle 密碼檔案Oracle密碼
- ORACLE 概要檔案管理Oracle
- oracle dg庫資料檔案空間不足Oracle
- Oracle10g刪除資料檔案Oracle
- 檔案管理系統助力檔案資訊化建設
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫