檢查點表格其他詳細資訊
使用資料庫檢查點時,Oracle GoldenGate 會在執行 ADD CHECKPOINTTABLE 命令時,在資料庫中建立具有使用者定義名稱的檢查點表格,或者使用者可以使用 chkpt_db_create.sql script 來建立表格 (其中資料庫是命令檔支援之資料庫類型的縮寫)。
有兩個表格:主要檢查點表格和自動建立的輔助檢查點表格。輔助表格 (稱為交易表格) 包含 _lox 附加的主要檢查點表格名稱。每個 Replicat 或協調式 Replicat 的每個繫線都會使用檢查點表格中的一個資料列來儲存進度資訊。
在檢查點時間,一般會套用一些交易 (包括 n 個交易總計),其餘交易仍在處理中。例如,如果 Replicat 正在處理範圍從 CSN1 到 CSN3 的 n 個交易群組。CSN1 為高浮水印,CSN3 為低浮水印。任何 CSN 高於上限標準的交易都尚未處理,而且任何 CSN 低於下限標準的交易都已處理。完成的交易會儲存在檢查點表格的 LOG_CMPLT_XID 資料欄中。這些交易的任何溢位都會儲存在該表格之 LOG_CMPLT_XID 資料欄的交易表格 (輔助檢查點表格) 中。
目前 Replicat (或協調式 Replicat 的每個 Replicat 繫線) 會以序列方式 (非平行方式) 套用交易;因此,高浮水印 (表格中的 LOG_CSN 值) 一律與低浮水印相同 (表格中的 LOG_CMPLT_CSN 值),而 LOG_CMPLT_XID 資料欄中通常只有一個交易 ID。唯一的例外是有多個共用相同 CSN 的交易。
請勿變更這些表格中資料欄的名稱或屬性。您可以視需要變更表格儲存體屬性。
| 資料欄 | 說明 |
|---|---|
|
LOG_BSN 提供將 Extract 設為即時以重新處理交易所需的資訊。由於 Extract 可能會重新產生 Replicat 已套用的少量資料,因此需要使用 Replicat 進行部分篩選。 |
|
檢查點表格格式的版本。可將未來的增強功能識別為表格的版本號碼。 |
|
來源交易確認的時間戳記。 |
|
Replicat 在檢查點時所讀取之輸入歷程檔的序號。 |
|
Replicat 在 SEQNO 所識別的歷程檔中達到的相對位元組位址。RBA + SEQNO 在歷程檔中提供一個絕對位置,用來識別檢查點時的 Replicat 進度。 |
|
此表格用於檢查點的 Replicat 群組名稱。有多個 Replicat 群組使用相同的表格。此資料欄是主索引鍵的一部分。 |
|
上次更新檢查點表格的日期與時間。 |
|
建立檢查點表格的日期與時間。 |
|
目前的 Oracle GoldenGate 本位目錄或資料夾。 |
|
儲存已套用之高浮水印與低浮水印之間的交易。 |
|
儲存 CSN 的浮水印下限或下限。已處理 CSN 低於此值的任何交易。 |
|
儲存 CSN 的上限標準或上限。尚未處理 CSN 高於此值的任何交易。 |
|
未使用。保留以提供回溯相容性。 |
|
唯一識別碼,連同 ,無論寫入相同表格的 Replicat 群組數目為何,都會以唯一方式識別檢查點。此資料欄是主索引鍵的一部分。 |
| 資料欄 | 說明 |
|---|---|
|
唯一 ID (連同 GROUPNAME) 可唯一識別檢查點,無論寫入相同表格的 Replicat 群組數目為何。此資料欄是交易表格主索引鍵的一部分。 |
|
如果有很多溢位交易需要多個資料列來全部儲存,則在事件中建立唯一資料列。此資料欄是交易表格主索引鍵的一部分。 |
|
儲存已套用之高浮水印與低浮水印之間的交易溢位。 |
|
參照檢查點表格的外來索引鍵。此資料欄是交易表格主索引鍵的一部分。 |
|
此表格用於檢查點的 Replicat 群組名稱。有多個 Replicat 群組使用相同的表格。此資料欄是交易表格主索引鍵的一部分。 |
內部檢查點資訊
INFO 命令搭配 SHOWCH 選項不僅會顯示目前的檢查點項目,還會顯示記錄本身的相關描述資料資訊。此資訊並未記錄下來,而且是供 Oracle GoldenGate 處理作業及解決支援案例時由支援人員使用。
中繼資料包含在 SHOWCH 輸出中的下列項目中。
Header:
Version = 2
Record Source = A
Type = 1
# Input Checkpoints = 1
# Output Checkpoints = 0
File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 2048
Current Offset = 0
Configuration:
Data Source = 0
Transaction Integrity = -1
Task Type = 0
Status:
Start Time = 2011-01-12 13:10:13
Last Update Time = 2011-01-12 21:23:31
Stop Status = A
Last Result = 400
INFO EXTRACT SHOWCH 命令:檢查點資訊
下列範例顯示 INFO EXTRACT 命令傳回的檢查點資訊以及 SHOWCH 選項。在此情況下,資料來源為 Oracle RAC 資料庫叢集,因此輸出中包含繫線資訊。您可以在 SHOWCH 引數之後指定要檢視的檢查點數目,以檢視過去的檢查點。
EXTRACT JC108XT Last Started 2011-01-01 14:15 Status ABENDED
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Log Read Checkpoint File /orarac/oradata/racq/redo01.log
2011-01-01 14:16:45 Thread 1, Seqno 47, RBA 68748800
Log Read Checkpoint File /orarac/oradata/racq/redo04.log
2011-01-01 14:16:19 Thread 2, Seqno 24, RBA 65657408
Current Checkpoint Detail:
Read Checkpoint #1
Oracle RAC Redo Log
Startup Checkpoint (starting position in data source):
Thread #: 1
Sequence #: 47
RBA: 68548112
Timestamp: 2011-01-01 13:37:51.000000
SCN: 0.8439720
Redo File: /orarac/oradata/racq/redo01.log
Recovery Checkpoint (position of oldest unprocessed transaction in data source):
Thread #: 1
Sequence #: 47
RBA: 68748304
Timestamp: 2011-01-01 14:16:45.000000
SCN: 0.8440969
Redo File: /orarac/oradata/racq/redo01.log
Current Checkpoint (position of last record read in the data source):
Thread #: 1
Sequence #: 47
RBA: 68748800
Timestamp: 2011-01-01 14:16:45.000000
SCN: 0.8440969
Redo File: /orarac/oradata/racq/redo01.log
Read Checkpoint #2
Oracle RAC Redo Log
Startup Checkpoint(starting position in data source):
Sequence #: 24
RBA: 60607504
Timestamp: 2011-01-01 13:37:50.000000
SCN: 0.8439719
Redo File: /orarac/oradata/racq/redo04.log
Recovery Checkpoint (position of oldest unprocessed transaction in data source):
Thread #: 2
Sequence #: 24
RBA: 65657408
Timestamp: 2011-01-01 14:16:19.000000
SCN: 0.8440613
Redo File: /orarac/oradata/racq/redo04.log
Current Checkpoint (position of last record read in the data source):
Thread #: 2
Sequence #: 24
RBA: 65657408
Timestamp: 2011-01-01 14:16:19.000000
SCN: 0.8440613
Redo File: /orarac/oradata/racq/redo04.log
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 2
RBA: 2142224
Timestamp: 2011-01-01 14:16:50.567638
Extract Trail: ./dirdat/eh
Header:
Version = 2
Record Source = A
Type = 6
# Input Checkpoints = 2
# Output Checkpoints = 1
File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 2048
Current Offset = 0
Configuration:
Data Source = 3
Transaction Integrity = 1
Task Type = 0
Status:
Start Time = 2011-01-01 14:15:14
Last Update Time = 2011-01-01 14:16:50
Stop Status = A
Last Result = 400
INFO REPLICAT,SHOWCH:檢查點資訊
基本命令會顯示目前的檢查點。若要檢視特定數目的先前檢查點,請在 SHOWCH 引數之後輸入值。
REPLICAT JC108RP Last Started 2011-01-12 13:10 Status RUNNING
Checkpoint Lag 00:00:00 (updated 111:46:54 ago)
Log Read Checkpoint File ./dirdat/eh000000000
First Record RBA 3702915
Current Checkpoint Detail:
Read Checkpoint #1
GGS Log Trail
Startup Checkpoint(starting position in data source):
Sequence #: 0
RBA: 3702915
Timestamp: Not Available
Extract Trail: ./dirdat/eh
Current Checkpoint (position of last record read in the data source):
Sequence #: 0
RBA: 3702915
Timestamp: Not Available
Extract Trail: ./dirdat/eh
Header:
Version = 2
Record Source = A
Type = 1
# Input Checkpoints = 1
# Output Checkpoints =
File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 2048
Current Offset = 0
Configuration:
Data Source = 0
Transaction Integrity = -1
Task Type = 0
Status:
Start Time = 2011-01-12 13:10:13
Last Update Time = 2011-01-12 21:23:31
Stop Status = A
Last Result = 400