SEND EXTRACT

使用 SEND EXTRACT 與執行中的 Extract 處理作業進行通訊。在 Extract 一準備好接受來自使用者的命令時,就會處理要求。

語法

SEND EXTRACT group_name, {
BR {BRINTERVAL interval |
   BRSTART |
   BRSTOP |
   BRCHECKPOINT {IMMEDIATE | IN n{M|H} | AT yyyy-mm-dd hh:mm[:ss]]}} |
BR BRFSOPTION { MS_SYNC | MS_ASYNC }
BR BRSTATS
BR BRSTATUS
CACHEMGR {CACHESTATS {ALL | MINIMAL | SUPERPOOL | CURRENTONLY | POOLS | POOL n | QUEUES} | CACHEQUEUES | CACHEVMUSAGE} |
FORCESTOP |
FORCETRANS transaction_ID [FORCE] |
GETLAG |
GETPARAMINFO [parameter_name] [FILE output_file] |
GETTCPSTATS |
LOGEND |
LOGSTATS |
REPORT |
RESUME |
ROLLOVER |
SHOWTRANS [transaction_ID] [COUNT n]
    [DURATION duration unit] [TABULAR]
    [FILE file_name [DETAIL]] [ALL]|
SKIPTRANS transaction_ID [FORCE] |
STATUS |
STOP |
TRACE[2] file_name |
TRACE[2] OFF |
TRACE OFF file_name |
TRACEINIT |
TRANLOGOPTIONS INTEGRATEDPARAMS(parameter_specification) |
TRANLOGOPTIONS {TRANLOGOPTIONS {PURGEORPHANEDTRANSACTIONS | NOPURGEORPHANEDTRANSACTIONS} |
TRANLOGOPTIONS TRANSCLEANUPFREQUENCY minutes |
VAMMESSAGE 'Teradata_command' |
VAMMESSAGE {'ARSTATS' | 'INCLUDELIST [filter]' | 'FILELIST [filter]'| 'EXCLUDELIST [filter]'} |
VAMMESSAGE 'OPENTRANS'
}

group_name

Extract 群組的名稱或萬用字元 () 以指定多個群組。例如,T 會將命令傳送到群組名稱以 T 開頭的所有 Extract 處理作業。如果 Extract 未執行,就會傳回錯誤。

BR {BRINTERVAL interval BRSTART BRSTOP  
BRCHECKPOINT {IMMEDIATE IN n {H M} AT yyyy-mm-dd[ hh:mm[:ss]]}}

傳送影響 Extract「限制的復原」模式的命令。

BRINTERVAL interval

設定「限制的復原」檢查點之間的時間。有效值從 20 分鐘到 96 小時,指定為 M (分鐘) 或 H (小時),例如 20M 或 2H。預設間隔為 4 小時。

BRSTART

啟動「限制的復原」。此命令應只在 Oracle 客戶服務部的指示下使用。

BRSTOP

針對執行與復原停止「限制的復原」。使用此選項之前,請先洽詢 Oracle 客戶服務部。在大多數情況下,如果「限制的復原」發生問題,它會自我關閉。

BRCHECKPOINT {IMMEDIATE IN n{H M} AT yyyy-mm-dd[ hh:mm[:ss]]}}

設定建立限制的復原檢查點的時間點。IMMEDIATE 會在發出 SEND EXTRACT 時立即發出檢查點。IN 會在發出 SEND EXTRACT 時,以指定的小時數或分鐘數發出檢查點。AT 會在指定的時間完全發出檢查點。

BR BRFSOPTION {MS_SYNC | MS_ASYNC}

在「限制的復原」中執行同步/非同步寫入對應資料。

MS_SYNC

同步「限制的復原」寫入對應資料以完成 I/O 資料完整性。

MS_ASYNC

起始「限制的復原」寫入對應資料或將其排入佇列以提供服務。

BR BRSTATS

提供有關 BR 所保存每個物件集區的詳細資訊。這包含下列詳細資訊:

BR BRSTATUS

傳回 Extract「限制的復原」模式的狀態。

顯示的資訊如下:

CACHESTATS {ALL MINIMAL SUPERPOOL CURRENTONLY POOLS POOL n QUEUES}

CACHESTATS 會傳回虛擬記憶體使用量和檔案快取的統計資料。

ALL

傳回所有 COM 統計資料,且為預設選項。

MINIMAL

傳回濃縮 (最小) 版本的 COM 統計,而 CACHEALL 傳回所有統計。

SUPERPOOL

超級集區統計資料。傳回所有物件集區的統計資料。

CURRENTONLY

只傳回該執行時間的統計資料。

POOLS

傳回所有物件集區的統計資料。

POOL n

僅傳回所指定物件集區的統計資料。

QUEUES

僅傳回佇列的統計資料。

CACHEVMUSAGE

傳回虛擬記憶體使用的統計資料。

FORCESTOP

略過所有通知,強制 Extract 停止。此命令會立即停止處理作業。

FORCETRANS transaction_ID ] [FORCE]

適用於 Db2 LUW、Db2 IBM、MySQL、Oracle 及 SQL Server。

強制 Extract 將以異動 ID 號碼指定的異動寫入至歷程檔作為確認的異動。FORCETRANS 不會將交易確認至來源資料庫。它只會強制將現有資料寫入至歷程檔,以便由 Replicat 處理 (含有隱含確認)。您可以依年齡順序重複 FORCETRANS 以執行其他交易。請注意,強制將異動確認至歷程檔 (並因此確認至目標資料庫) 時,若異動被來源使用者應用程式倒回,可能會造成資料差異。

使用 FORCETRANS 之後,如果打算將 SEND EXTRACT 與 FORCESTOP 一起核發,請至少等待 5 分鐘。否則,異動將仍然存在。

如果 Extract 開始後立即使用 FORCETRANS,您可能會收到錯誤訊息,要求您等待,然後再次嘗試使用該指令。這意謂著 Extract 尚未處理任何其他異動。處理另一個異動後,您便能夠強制將異動寫入至歷程檔。

transaction_ID

異動的 ID。使用 SHOWTRANS 或擷取程式實際執行訊息取得交易 ID 編號。Extract 會忽略在發出此命令後新增至異動的所有資料。除非使用 FORCE,否則必須回答確認提示。若要使用 FORCETRANS,指定的交易必須是使用 SHOWTRANS 顯示之交易清單中的最舊交易。

FORCE

適用於 Oracle 與 SQL Server。不適用於 MySQL。

使用 FORCE 以略過確認提示。

GETLAG

判斷 Extract 與資料來源之間的真實延遲時間。傳回與 LAG EXTRACT 相同的結果。

GETPARAMINFO [parameter_name] [FILE output_file]

使用 GETPARAMINFO 來查詢執行中執行處理的執行時期參數值,包括 Extract、Replicat 和 Manager。您可以查詢單一參數或所有參數,然後將輸出傳送至主控台或文字檔

parameter_name

預設行為是顯示所有使用中的參數 (也就是曾被應用程式查詢的參數)、參數及其目前值。如果您指定特定參數,則會依該名稱篩選輸出。

FILE output_file

輸出的重新導向目的地文字檔名稱。

GETTCPSTATS

顯示 Extract 與目標系統之間網路活動的相關統計資料。統計資料包括:

RMTHOST 和 RMTHOSTOPTIONS 的 TCPBUFSIZE 選項可控制未壓縮資料的 TCP 緩衝區大小。如果已啟用壓縮,實際進入網路的大小將會小於此大小。GETTCPSTATS 顯示後續壓縮傳輸量。

LOGEND

確認 Extract 是否已處理資料來源中的所有記錄。

LOGSTATS

僅適用於 Oracle。

指示 Extract 發出與處理來自 Oracle 重做日誌檔之資料相關的統計資料報表。Extract 會使用非同步日誌讀取器,此讀取器會預先讀取 Extract 正在處理的目前記錄,如此無須對日誌檔進行額外 I/O,即可取得資料。此處理會透過一系列的讀取/寫入佇列來完成。產生器繫線會在讀取器繫線從日誌檔讀取其他資料的同時剖析資料。因此,統計資料中「讀出」一詞的原因。

統計資料包括:

REPORT

將暫時統計報表產生至 Extract 報表檔。與 RESETREPORTSTATS | NORESETREPORTSTATS 選項搭配使用時,所顯示的統計資料取決於 STATOPTIONS 參數組態。

RESUME

將 EVENTACTIONS SUSPEND 事件暫停的程序恢復 (設為作用中)。處理作業會從被暫停的點繼續正常處理。

ROLLOVER

讓 Extract 在重新啟動時遞增至歷程檔中的下一個檔案。例如,如果目前的檔案是 ET000002,則在執行命令後,目前的檔案會是 ET000003。可以從 000001 到 999999 遞增軌跡,然後從 000000 開始進行序號編號。

SHOWTRANS [transaction_ID] [COUNT n] [DURATION duration unit] [TABULAR] | [FILE file_name [DETAIL]] [ALL]

適用於 Db2 IBM、Db2 LUW、Db2 z/OS、MySQL、Oracle 及 SQL Server。

顯示未完成異動的相關資訊。SHOWTRANS 會根據資料庫類型顯示下列任一項:

若無選項,SHOWTRANS 會顯示所有符合可用緩衝區的未結交易。不過,它有時不會顯示未完成之作用中異動的輸出使用者名稱,因為異動日誌的開始記錄中並未提供該使用者名稱。

請參閱範例,瞭解 SHOWTRANS 的範例輸出。若要進一步控制輸出,請參閱下列選項。

transaction_ID

將命令輸出限制在某個特定異動。

COUNT n

將輸出限制在指定數目的未完成異動 (從最舊的異動開始)。有效值為 1 到 1000。

DURATION duration unit

將輸出限制在未完成時間比指定時間長的異動,其中:

duration 是以整數表示的時間長度。

unit 是下列其中一種表示 seconds、minutes、hours 或 days 的方法:

S|SEC|SECS|SECOND|SECONDS
M|MIN|MINS|MINUTE|MINUTES
H|HOUR|HOURS
D|DAY|DAYS

TABULAR

僅適用於 Oracle。

以類似於從 SQL*Plus 印出之預設表格的列表化格式產生輸出。預設值為每一資料列的欄位。

FILE file_name [DETAIL]

僅適用於 Oracle 與 SQL Server。不適用於 MySQL。

強制 Extract 將異動資訊寫入至指定的檔案。不會輸出至主控台。

若為 Oracle,您可以使用 FILE 與 DETAIL 來撰寫資料的十六進位字元和純字元傾印。這會將整個異動從記憶體傾印至檔案。檢視資料可協助您決定是要略過異動,還是強制將其寫入至歷程檔。

注意:基本詳細資訊會以 `WARNLONGTRANS 指定的間隔自動寫入報表檔案

                                        CHECKINTERVAL` parameter.
                                        {: .infoboxnote}

[ALL]

此選項可顯示 COM 中的所有異動。當系統偵測到保留在 COM 中的已確認異動可能有問題時,此選項就會很有用。

SKIPTRANS transaction_ID [FORCE]

適用於 Db2 LUW、Db2 IBM、MySQL、Oracle 及 SQL Server。

強制 Extract 略過指定的異動,藉此從記憶體中移除所有目前資料並忽略所有後續資料。除非使用 FORCE,否則必須回答確認提示。使用 SKIPTRANS 之後,如果打算將 SEND EXTRACT 與 FORCESTOP 一起核發,請至少等待 5 分鐘。否則,異動將仍然存在。請注意,略過異動可能導致目標資料庫中資料遺失。

注意:若要使用 SKIPTRANS,指定的交易必須是 SHOWTRANS 顯示之交易清單中的最舊交易。您可以依異動期限順序,對其他異動重複執行此命令。

transaction_ID

異動 ID 號碼。使用 SHOWTRANS 或擷取程式實際執行訊息取得 ID 號碼。

FORCE

適用於 Oracle 與 SQL Server。不適用於 MySQL。

使用 FORCE 來略過確認要略過交易的提示。

STATUS

傳回處理狀態的詳細狀態,包括目前的位置與活動。可能處理 Current status 行中的狀態訊息為:

除了上述狀態之外,在異常中止事件後的 Extract 復原期間還會出現下列狀態註解。您可以隨著 Extract 在復原過程中持續變更其日誌讀取位置來追蹤進度。

STOP

停止 Extract。如果有任何長時間執行的交易 (以 WARNLONGTRANS 參數為基礎),則會顯示下列訊息:

Sending STOP request to EXTRACT EXTE...
There are open, long-running transactions. Before you stop Extract, make the archives containing data for those transactions available for when Extract restarts. To force Extract to stop, use the SEND EXTRACT group, FORCESTOP command.
Oldest redo log file necessary to restart Extract is:
Redo Thread 1, Redo Log Sequence Number 150, SCN 31248005, RBA
2912272.
TRACE[2] {file_name OFF}

開啟和關閉追蹤。追蹤會將資訊擷取至指定的檔案來揭示處理瓶頸。如果追蹤揭示重大的處理瓶頸,請洽詢 Oracle 客戶服務部以取得協助。

TRACE

擷取逐步的處理資訊。

TRACE2

識別程式碼區段而不是特定步驟。

file_name

指定追蹤資訊的寫入檔案名稱。如果以 TRACE 發出 SEND EXTRACT 時已執行追蹤,則會關閉現有追蹤檔,並將追蹤恢復至以 file_name 指定的新檔案。

OFF

關閉追蹤。

TRACE OFF file_name

僅關閉所指定追蹤檔的追蹤。

TRACEINIT

將追蹤統計資料重設回 0,然後重新開始累積統計資料。使用此選項以追蹤相對於歷史處理行為的目前處理行為。

TRANLOGOPTIONS INTEGRATEDPARAMS(parameter_specification)

(Oracle) 支援整合式 Extract。在 Extract 以整合式模式執行時,將參數設定傳送給資料庫內送伺服器。使用此命令時,一次只能傳送一個參數設定。您可以傳送多個參數變更,並發出多個 SEND EXTRACT 指令。

為了維持處理連續性,會在異動界限進行參數變更。

TRANLOGOPTIONS {PURGEORPHANEDTRANSACTIONS | NOPURGEORPHANEDTRANSACTIONS}

適用於 Oracle RAC。針對當節點失敗而 Extract 無法擷取倒回時所發生的獨立異動,啟用或停用永久清除。

TRANLOGOPTIONS TRANSCLEANUPFREQUENCY minutes

適用於 Oracle RAC。指定 Oracle GoldenGate 掃描獨立異動後再重新掃描以確認並刪除這些異動的間隔 (分鐘)。有效值為 1 到 43200 分鐘。預設值為 10 分鐘。

VAMMESSAGE ‘Teradata_command’ VAMMESSAGE { 'ARSTATS' | 'INCLUDELIST [filter]' | 'EXCLUDELIST [filter]' }

將命令傳送給 Extract 所使用的擷取 API。

Teradata 命令可以是下列任何一個命令:

‘control:terminate’

停止某個複製群組。刪除或更改 Teradata 中的某個複製群組前所需。

‘control:suspend’

暫停某個複製群組。可在升級 Oracle GoldenGate 時使用。

‘control:resume’

在複製群組被暫停後予以繼續。

‘control:copy database.table’

將表格從來源資料庫複製到目標資料庫。

'ARSTATS'

顯示 TMF 稽核讀取統計資料。

'FILELIST [filter]'

顯示 Extract 在稽核歷程檔中遇到符合 TABLE 參數之選取條件的資料記錄之表格清單。filter 選項允許使用萬用字元樣式來篩選傳回的表格清單。GETFILELIST 也可相同方式使用。

'EXCLUDELIST [filter]'

顯示 Extract 在稽核歷程檔中發現資料記錄不符合 TABLE 參數中之選取條件的表格清單。filter 選項允許使用萬用字元樣式來篩選傳回的表格清單。某些以隱含方式排除的系統表格會一律存在於排除的表格清單中。

SQL Server 命令可以是下列命令:

VAMMESSAGE 'OPENTRANS'

列印未完成異動的清單,內含其異動 ID、開始時間、第一個 LSN 及其包含的作業數。

範例


SEND EXTRACT exte, ROLLOVER

SEND EXTRACT exte, STOP

SEND EXTRACT exte, VAMMESSAGE 'control:suspend'

SEND EXTRACT exte, TRANLOGOPTIONS TRANSCLEANUPFREQUENCY 20

此範例說明 SKIPTRANS。從下列的 SHOWCH 輸出開始,顯示執行緒 2 位於 Read Checkpoint #3。

INFO exte SHOWCH
Read Checkpoint #3
Oracle RAC Redo Log
Startup Checkpoint (starting position in the data source):
Thread #: 2
Sequence #: 17560
RBA: 65070096
Timestamp: 2011-07-30 20:04:47.000000
SCN: 1461.3499051750 (6278446271206)
Redo File: RAC4REDO/sss11g/onlinelog/group_4.292.716481937

因此,SKIPTRANS 應為:SKIPTRANS xid THREAD 3。


SEND EXTRACT exte, SHOWTRANS COUNT 2

以下顯示 SHOWTRANS. 的預設輸出。

Oldest redo log file necessary to restart Extract is:
Redo Thread 1, Redo Log Sequence Number 148, SCN 30816254, RBA 17319664
------------------------------------------------------------
XID                 : 5.15.52582
Items               : 30000
Extract             : JC108XT
Redo Thread         : 1
Start Time          : 2011-01-18:12:51:27
SCN                 : 20634955
Redo Seq            : 103
Redo RBA            : 18616848
Status              : Running
------------------------------------------------------------
XID                 : 7.14.48657
Items               : 30000
Extract             : JC108XT
Redo Thread         : 1
Start Time          : 2011-01-18:12:52:14
SCN                 : 20635145
Redo Seq            : 103
Redo RBA            : 26499088
Status              : Running

下列範例顯示 TABULAR 生效的 SHOWTRANS 輸出 (檢視在右邊截斷)。

XID         Items  Extract   Redo Thread  Start Time
5.15.52582  30000  JC108XT       1            2011-01-18:12:52:14

Dumping transaction memory at 2011-01-21 13:36:54.
Record #1:
Header (140 bytes):
       0: 0000 0A4A 0000 FFFF 0000 0000 0057 6C10        ...J.........Wl.
      16: 02FF 3F50 FF38 7C40 0303 4141 414E 5A77        ..?P.8|@..AAANZw
      32: 4141 4641 4141 4B6F 4941 4144 0041 4141        AAFAAAKoIAAD.AAA
      48: 4E5A 7741 4146 4141 414B 6F49 4141 4400        NZwAAFAAAKoIAAD.
      64: 4141 414E 5A77 414A 2F41 4142 7A31 7741        AAANZwAJ/AABz1wA
      80: 4141 0041 4141 4141 4141 4141 4141 4141        AA.AAAAAAAAAAAAA
      96: 4141 4141 4100 0000 0140 FF08 0003 0000        AAAAA....@......
     112: 0000 0000 0000 70FF 0108 FFFF 0001 4A53        ......p.......JS
     128: 554E 2E54 4355 5354 4D45 5200                  UN.TCUSTMER.

Data (93 bytes):
       0: 2C00 0400 0400 0000 0100 0200 0300 0000        ,...............
      16: 0000 0000 0800 0000 1800 0000 2000 0400        ............ ...
      32: 1000 0600 0200 0000 284A 414E 456C 6C6F        ........(JANEllo
      48: 6352 4F43 4B59 2046 4C59 4552 2049 4E43        cROCKY FLYER INC
      64: 2E44 454E 5645 5220 6E43 4F20 7365 7400        .DENVER nCO set.
      80: 0000 0000 0000 0C00 0000 0000 00              ..............

分析 SHOWTRANS 的摘要輸出時,瞭解其顯示資料庫上目前所有執行中的異動 (與預先定義的緩衝區相同)。Extract 必須追蹤每個未完成的異動,而不僅僅是那些包含為 Oracle GoldenGate 設定之表格上作業的異動。

SHOWTRANS 輸出的 Items 欄位顯示 Oracle GoldenGate 到目前為止所擷取之交易中的作業數目,而不是交易中的作業總數。如果所有作業都不適用於設定的表格,或者只有部份作業,則 Items 可以是 0 或任何小於作業總數的值。

Start Time 欄位顯示 Oracle GoldenGate 從交易擷取的第一個作業時間戳記,而不是交易本身的實際開始時間。注意:由於 Oracle GoldenGate 的持續增強功能,命令輸出可能與顯示的範例略有不同。


下列範例顯示傳送 BR 要求至 Extract exte

SEND exte BR BRSTATUS

輸出會顯示下列內容:

Bounded Recovery Parameter:
Options    = _BRDEBUG _NOBRCLEANUP _BRFORCE_ASSERT
BRINTERVAL = 40SECONDS
BRDIR      = /home/mpopeang/ogg_test/
Bounded Recovery Status: IN PROGRESS
Checkpoint interval = 40SECONDS
Next checkpoint  = 2020-01-15 21:10:47
Last checkpoint# = 49
Last checkpoint  = 2020-01-15 21:10:07
Total objects    = 65
Total size       = 426 MB
Outstanding objects = 58
Outstanding size    = 384 MB
Object pool 1: p12733_extr:RECOVERY: COMPLETE: start:SeqNo: 1580,
RBA: 793460, SCN: 0.664178312(664178312), Timestamp: 2020-01-15 20:35:45.000000,
Thread: 1, end=SeqNo:1580,
RBA: 793460, SCN: 0.664178312 (664178312), Timestamp: 2020-01-15 20:35:45.000000,
Thread: 1, complete=SeqNo: 1580, RBA: 793460,
SCN:0.664178312 (664178312), Timestamp: 2020-01-15 20:35:45.000000, Thread: 1 at 2020-01-15 20:38:52.435830
CHECKPOINT: start=SeqNo: 1637, RBA: 10182312, SCN: 0.669567539 (669567539),
Timestamp: 2020-01-15 21:09:59.000000, Thread: 1, end=SeqNo: 1637,
RBA:10182312, SCN: 0.669567539 (669567539), Timestamp: 2020-01-15 21:09:59.000000,
Thread: 1

下列範例提供有關 BR 所保存每個物件集區的詳細資訊:

SEND exte BR BRSTATS

輸出:

Object pool #0, instance: 1, id: p12733_extr

Extract 群組存留期間的物件大小:

Sizes in bytes            :         POs
  512K      to        1M-1         :         13
    1M      to        2M-1         :         37
    4M      to        8M-1         :        398
    8M      to       16M-1         :          2
   16M      to       32M-1         :         10

Extract 群組存留期間的物件期限:

duration: BCP intervals in the life of the PO
  duration                        0:        230
  duration         30 to         39:        230

截至最近 BCP 為止的現存物件大小:

Sizes in bytes                   :        POs
          512K      to        1M-1        :          8
            1M      to        2M-1        :         17
            4M      to        8M-1        :        200
           16M      to       32M-1        :          5

截至最近 BCP 為止的現存物件期限:

duration: BCP intervals in the life of the PO
  duration         30 to            39:        230

使用 CACHEMGR 選項的範例

傳回所有快取管理程式統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS ALL

傳回最小快取管理程式統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS MINIMAL

傳回超級集區快取管理程式統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS SUPERPOOL

只傳回目前程式實際執行的「快取管理程式」統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS CURRENTONLY

傳回所有物件集區的統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS POOLS

僅傳回所指定物件集區的統計資料。將 n 取代為物件集區編號。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS POOL n

範例:僅傳回物件集區 1 的統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS POOL 1

傳回佇列的統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHESTATS QUEUES

傳回快取管理程式可用佇列統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHEQUEUES

傳回快取虛擬記憶體使用狀況統計資料。

SEND EXTRACT EXT1, CACHEMGR CACHEVMUSAGE