Oracle手工恢複控制檔案的深入解析

來源:互聯網
上載者:User

      v$database.CHECKPOINT_CHANGE#  (last scn checkpointed)
      v$database.CONTROLFILE_SEQUENCE# (control file sequence number incremented by control file transactions)
      v$database.CONTROLFILE_CHANGE# (last scn in backup control file ;null if the control file is not a backup)
      v$datafile.CHECKPOINT_CHANGE#  (scn at last checkpoint)
      v$datafile_header. CHECKPOINT_CHANGE# (datafile checkpoint change#
      v$log.FIRST_CHANGE# (lowest system change number(SCN) in the log
 
v$database.CHECKPOINT_CHANGE# 代表是資料庫最後一次進行完全檢查點的scn號。只有在進行完全檢查點的時候才進行更新,更新的值為當前現在資料庫的current_scn值。
 v$database.CONTROLFILE_CHANGE# (代表從備份中恢複過來的控制檔案的最後一個scn號假如是剛剛從備份中恢複,如果控制檔案不是從備份中恢複過來的,那麼該值為null,但是當控制檔案在資料庫開啟的時候,那麼該值會隨著增量檢查點和完全檢查點或是資料庫結構變化時會設定為當下的current_scn值。
 
SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
 
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
 ------------------ --------------------- -------------------
            4921905                14285            4922868
 23:13:45 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
 
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
 ------------------ --------------------- -------------------
            4935440                14311            4935548
 
23:13:46 SYS@orcl#select current_scn from v$database;
 
CURRENT_SCN
 -----------
    4935575
 
23:13:46 SYS@orcl#alter system checkpoint;
 select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
 系統已更改。
 
23:13:46 SYS@orcl#
 
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
 ------------------ --------------------- -------------------
            4935576                14313            4935578
 
23:13:49 SYS@orcl#
 23:14:09 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
 
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
 ------------------ --------------------- -------------------
            4935576                14314            4935649
 
23:16:42 SYS@orcl#alter system switch logfile;
 
系統已更改。
 
23:16:52 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
 
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
 ------------------ --------------------- -------------------
            4935576                14318            4935675
 
23:16:55 SYS@orcl#
 
v$database.CONTROLFILE_SEQUENCE# (代表根據資料庫的變化進行增加的序列,在查詢的時候顯示的是當前的控制檔案是在哪個sequence號,隨著增量檢查點和完全檢查點或是資料庫結構變化而incremental。
 
v$datafile.CHECKPOINT_CHANGE#  (這個值代表的是資料檔案中最後一個last checkpoint 的scn號與v$database 中的CHECKPOINT_CHANGE#相同。也就是說當進行完全檢查點的時候,需要資料檔案中的scn和控制檔案中的scn保持一致性。當我們啟動到資料庫mount狀態下然後dump資料檔案看到的checkpoint scn正是這個值,在進行資料庫啟動要驗證該值)
 23:26:05 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
 
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
 ------------------ --------------------- -------------------
            4935675                14332            4937039
 
23:26:30 SYS@orcl#select checkpoint_change# from v$datafile;
 
CHECKPOINT_CHANGE#
 ------------------
            4935675
            4935675
            4935675
            4935675
            4935675
            4935675
            4935675
            4935675
            4935675
            4935675
            4935675
 
CHECKPOINT_CHANGE#
 ------------------
            4935675
 
已選擇12行。
 
23:26:31 SYS@orcl#alter system checkpoint;
 
系統已更改。
 
23:27:27 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
 
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
 ------------------ --------------------- -------------------
            4937086                14336            4937088
 
23:27:31 SYS@orcl#select checkpoint_change# from v$datafile;
 
CHECKPOINT_CHANGE#
 ------------------
            4937086
            4937086
            4937086
            4937086
            4937086
            4937086
            4937086
            4937086
            4937086
            4937086
            4937086
 
CHECKPOINT_CHANGE#
 ------------------
            4937086
 
已選擇12行。
 
23:27:32 SYS@orcl#
 v$datafile_header. CHECKPOINT_CHANGE# (代表資料檔案頭的檢查點scn,這個值和資料檔案的檢查點相一致,在資料庫運行到open狀態進行的資料檔案dump檔案中的header 中的checkpoint scn就是此值。)

  • 1
  • 2
  • 3
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.