ADD HEARTBEATTABLE

適用於所有支援的資料庫。如需支援資料庫的詳細資訊,請參閱認證矩陣。

此命令需要使用 DBLOGIN 進行資料庫登入。

使用 ADD HEARTBEATTABLE 來建立使用自動活動訊號功能所需的物件。此命令會執行下列作業

注意:活動訊號表物件一律不應建立在 Oracle Multitenant Database 的根 CDB 中。

預設的原始內建值、活動活動訊號和歷史記錄表格名稱分別為 GG_HEARTBEAT_SEED、GG_HEARTBEAT 和 GG_HEARTBEAT_HISTORY。

在「微服務架構」中,綱要是使用複製設定值來設定。

若為 Db2 LUW,則必須使用 db2set DB2_ATS_ENABLE=yes 指令設定 DB2_ATS_ENABLE 特性。

對於 Db2 for i,若要處理活動指標表功能的升級或組態錯誤,您可以再次執行 ADD HEARTBEATTABLE 命令,以修復現有活動指標設定的功能,而無需刪除現有的活動指標資料。

若為 Db2,則必須安裝授權程式 5770SS1 Option 39 International Components for Unicode。

若為 Db2 for i,活動訊號表必須與使用該活動訊號表在 Extract 中複製的物件排定記錄至同一個日記帳中。如果不這麼做,則 Extract 會異常中止,指出有多個日記帳可供使用。此外,特定 Oracle GoldenGate 安裝中未讀取相同日記帳的任何其他 Extract,都無法為其啟用活動訊號表。

若為 Amazon Aurora MySQL,必須在參數群組中啟用全域變數 event_scheduler,因為 Amazon RDS 不允許設定全域變數。資料庫重新啟動後,event_scheduler 會返回停用中。為了避免此情況,您必須在 my.cnf/ini 檔案中啟用 event_scheduler。

若為 PostgreSQL,必須手動建立系統工作,以定期呼叫活動活動訊號記錄更新與歷史記錄清除功能 gg_hb_job_run。例如,您可以建立每分鐘執行一次的 cron 工作。該功能會在活動訊號組態中,查看實際的活動訊號記錄更新及永久清除頻率設定值,然後只處理在這些界限內的作業:

PGPASSWORD="$passwd" psql -U gguser -d dbname -h dbhostname -p dbport# -c "select <ggschema.gg_hb_job_run();" >/dev/null 2>&1

若為 Azure SQL Database,只支援 ADD HEARTBEATTABLE TARGETONLY,而且沒有具備 Azure SQL 資料庫的 SQL Server 代理程式,因此無法建立永久清除常式。因此,使用者必須定期執行 GG_PURGE_HB_TAB 預存程序以移除舊的活動訊號記錄。

語法

ADD HEARTBEATTABLE
[, FREQUENCY number_in_seconds]
[, RETENTION_TIME number_in_days] |
[, PURGE_FREQUENCY number_in_days]
[, PARTITIONED]
[, TARGETONLY]

FREQUENCY number_in_seconds

指定活動訊號記錄的產生頻率。預設值為 60 秒。

請考量下列限制:

RETENTION_TIME number_in_days

指定要把活動訊號歷史記錄表格中,比保留時間舊的活動訊號項目永久清除。預設為 30 日。

所有資料庫的最小值都是 1,最大值都是 2147483646。

PURGE_FREQUENCY number_in_days

指定永久清除排程器的執行頻率,以便刪除活動訊號歷史記錄表格中,比保留時間舊的表格項目。預設值為 1 天。

若為 Db2 LUW 及 Db2 z/OS,最小值為 1,最大值為 31。

若為受支援的所有其他資料庫,最小值為 1,最大值為199。

PARTITIONED

適用於 Oracle。

在活動訊號歷史記錄表格上啟用分割。所接收活動訊號時戳的資料欄會用來分割表格,間隔為一天。活動訊號歷史記錄表格預設為不分割。

TARGETONLY

Oracle AI Database、Db2 i Series、Db2 LUW、Db2 z/OS、MySQL、PostgreSQL 及 SQL Server 均適用。

不會同時啟用活動訊號內建值表格及活動訊號表上的補充日誌記錄功能,也不會建立排程器工作來更新活動訊號表。

範例


下列命令會建立預設活動訊號表、程序及工作。

ADD HEARTBEATTABLE

下列命令會使用自訂頻率、保留時間和永久清除頻率,來建立活動訊號表、程序及工作。

ADD HEARTBEATTABLE, FREQUENCY 120, RETENTION_TIME 10, PURGE_FREQUENCY 2

下列命令會建立活動訊號表、程序及工作,其中會在活動訊號歷史記錄表格中啟用分割,但不在活動訊號表與活動訊號內建值表格中啟用補充日誌記錄。

ADD HEARTBEATTABLE, partitioned, TARGETONLY