修改Oracle GoldenGate(ogg)各個進程的讀檢查點和寫檢查點,oraclegoldengate

來源:互聯網
上載者:User

修改Oracle GoldenGate(ogg)各個進程的讀檢查點和寫檢查點,oraclegoldengate

請注意:請謹慎修改Oracle GoldenGate(ogg)各個進程的讀檢查點和寫檢查點。請確保已經 掌握 ogg 各個進程的讀檢查點和寫檢查點的具體含義。

 

BEGIN {NOW | yyyy-mm-dd[:hh:mi:[ss[.cccccc]]] | EOF | SEQNO <sequence number>}--修改抽取進程的開始抽取點:(即:myext的讀檢查點)alter extract myext BEGIN yyyy-mm-dd:hh:mi:ssalter extract myext BEGIN now --修改myext的寫檢查點:ALTER EXTRACT myext, etrollover
--修改傳輸mydp進程的讀檢查點ALTER EXTRACT mydp, EXTSEQNO 1234, EXTRBA 0
--修改傳輸mydp進程的寫檢查點alter extract mydp etrollover
--修改myrep的讀檢查點ALTER replicat myrep, EXTSEQNO 1234, EXTRBA 0


 

 


(急)怎監控Oracle資料檢查點的執行就是資料庫發生檢查點的時,可以得到這個資訊

top查看系統的checkpoint動作

我們可以通過將LOG_checkpointS_TO_ALERT設定成TRUE來開啟checkpoint的trace,這樣就可以跟蹤checkpoint的操作了。
ALTER SYSTEM SET LOG_checkpointS_TO_ALERT=TRUE;

這設定以後系統的checkpoint將會被記錄alert_$SID.log檔案中。

在V$DATAFILE_HEADER裡面也儲存了發生完全checkpoint的時候一些相關資訊,包括checkpoint發生時間、對應SCN已經checkpoint的次數。
select file# NO, status, tablespace_name, name, dbms_flashback.get_system_change_number CUR_SCN,
to_char(resetlogs_time, 'YYYY-MM-DD HH24:MI:SS') RST_DT, resetlogs_change# RST_SCN,
to_char(checkpoint_time, 'YYYY-MM-DD HH24:MI:SS') CKPT_DT, checkpoint_change# CKPT_SCN, checkpoint_count CKPT_CNT
from v$datafile_header;

/**
NO STATUS TABLESPACE_NAME CUR_SCN RST_DT RST_SCN CKPT_DT CKPT_SCN CKPT_CNT
--- ------- ---------------- -------- ------------------- -------- ------------------- --------- ---------
1 ONLINE SYSTEM 533541 2008-01-12 16:51:53 446075 2008-08-04 22:03:58 532354 65
2 ONLINE UNDOTBS1 533541 2008-01-12 16:51:53 446075 2008-08-04 22:03:58 532354 28
3 ONLINE SYSAUX 533541 2008-01-12 16:51:53 446075 2008-08-04 22:03:58 532354 65
4 ONLINE USERS 533541 2008-01-12 16:51:53 446075 2008-08-04 22:03:58 532354 64
5 ONLINE EXAMPLE 533541 2008-01-12 16:51:53 446075 2008-08-04 22:03:58 532354 24
 
oracle檢查點的作用

檢查點是一個資料庫事件,它把修改資料從快取寫入磁碟,並更新控制檔案和資料檔案。
檢查點分為三類:
1)局部檢查點:單個執行個體執行資料庫所有資料檔案的一個檢查點操作,屬於此執行個體的全部髒緩衝區寫入資料檔案。
觸發命令:
svmrgrl>alter system checkpoint local;
這條命令顯示的觸發一個局部檢查點。
2)全域檢查點:所有執行個體(對應並行資料服務器)執行資料庫所有所有資料檔案的一個檢查點操作,屬於此執行個體的全部髒緩衝區寫入資料檔案。
觸發命令
svrmgrl>alter system checkpoint global;
這條命令顯示的觸發一個全域檢查點。
3)檔案檢查點:所有執行個體需要執行資料檔案集的一個檢查點操作,如使用熱備份命令alter tablespace USERS begin backup,或資料表空間離線命令alter tablespace USERS offline,將執行屬於USERS資料表空間的所有資料檔案的一個檢查點操作。
檢查點處理步驟:
1)擷取執行個體狀態隊列:執行個體狀態隊列是在執行個體狀態轉變時獲得,ORACLE獲得此隊列以保證檢查點執行期間,資料庫處於開啟狀態;
2)擷取當前檢查點資訊:擷取檢查點記錄資訊的結構,此結構包括當前檢查點時間、活動線程、進行檢查點處理的當前線程、記錄檔中恢複截止點的地址資訊;
3)緩衝區標識:標識所有髒緩衝區,當檢查點找到一個髒緩衝區就將其標識為需進行重新整理,標識的髒緩衝區由系統進程DBWR進行寫操作,將髒緩衝區的內容寫入資料檔案;
4)髒緩衝區重新整理:DBWR進程將所有髒緩衝區寫入磁碟後,設定一標誌,標識已完成髒緩衝區至磁碟的寫入操作。系統進程LGWR與CKPT進程將繼續進行檢查,直至DBWR進程結束為止;
5)更新控制檔案與資料檔案。
註:控制檔案與資料檔案頭包含檢查點結構資訊。
在兩種情況下,檔案頭中的檢查點資訊(擷取當前檢查點資訊時)將不做更新:
1)資料檔案不處於熱備份方式,此時ORACLE將不知道作業系統將何時讀檔案頭,而備份拷貝在拷貝開始時必須具有檢查點SCN;
ORACLE在資料檔案頭中保留一個檢查點的記數器,在正常操作中保證使用資料檔案的目前的版本,在恢複時防止恢複資料檔案的錯誤版本;即使在熱備份方式下,計數器依然是遞增的;每個資料檔案的檢查點計數器,也保留在控制檔案相對應資料檔案項中。
2)檢查SCN小於檔案頭中的檢查點SCN的時候,這表明由檢查點產生的改動已經寫到磁碟上,在執行全域檢查點的處理過程中,如果一個熱備份快速檢查點在更新檔案頭時,則可能發生此種情況。應該注意的是,ORACLE是在實際進行檢查點處理的大量工作之前捕獲檢查SCN的,並且很有可能被一條象熱備份命令alter tablespace USERS begin backup進行快速檢查點處理時的命令打斷。
ORACLE在進行資料檔案更新之前,將驗證其資料一致性,當驗證完成,即更新資料檔案頭以反映當前檢查點的情況;未經驗證的資料檔案與寫入時出現錯誤的資料檔案都被忽略;如果記錄檔被覆蓋,則這個檔案可能需要進行介質恢複,在這種情況下,ORACLE系統進程DBWR將此資料檔案離線。
檢 查點演算法描述:
髒緩衝區用一個新隊列連結,稱為檢查點隊列。對緩衝區的每一個改動,都有一個與其相關的重做值。檢查點隊列包含髒的日誌緩衝區,這些緩衝區按照它們在記錄檔中的位置排序,即在檢查點隊列中,緩衝區按照它們的低重做值進行排序。需要注意的是,由於緩衝區是依照第一次變髒的次序連結到隊列中的,所以,如果在緩衝區寫出......餘下全文>>
 

相關文章

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.