ADD HEARTBEATTABLE

サポートされているすべてのデータベースで有効です。サポートされているデータベースの詳細は、動作保証マトリックスを参照してください。

このコマンドにはDBLOGINを使用したデータベース・ログインが必要です。

ADD HEARTBEATTABLEでは、自動ハートビート機能を使用する場合に必要なオブジェクトを作成します。このコマンドは次のタスクを実行します

ノート:ハートビート表オブジェクトはOracle Multitenant DatabaseのルートCDBには作成しないでください。

シード表、ハートビート表および履歴表のデフォルト名は、それぞれGG_HEARTBEAT_SEED、GG_HEARTBEATおよびGG_HEARTBEAT_HISTORYです。

Microservices Architectureでは、スキーマはレプリケーション設定を使用して構成されます。

Db2 LUWの場合、db2set DB2_ATS_ENABLE=yesコマンドでDB2_ATS_ENABLEプロパティを設定する必要があります。

Db2 for iでは、ハートビート表の機能のアップグレードまたは構成ミスを処理するために、ADD HEARTBEATTABLEコマンドを再度実行できるため、既存のハートビー・データを削除せずに、既存のハートビー表設定の機能を修復します。

Db2 for iの場合、使用許諾されたプログラム5770SS1 Option 39 International Components for Unicodeをインストールする必要があります。

Db2 for iの場合、ハートビート表は、前述のハートビート表を使用してExtractでレプリケートするオブジェクトと同じジャーナルにジャーナル化する必要があります。そうしないと、Extractは複数のジャーナルが利用可能であることを示して異常終了します。また、特定のOracle GoldenGateインストールで、同じジャーナルを読み取らない他のExtractでは、ハートビート表を有効にできません。

Amazon Aurora MySQLでは、Amazon RDSでグローバル変数の設定が許可されないため、パラメータ・グループ内でグローバル変数event_schedulerを有効にする必要があります。データベースが再起動されると、event_schedulerは無効に戻ります。これを回避するには、my.cnf/iniファイルでevent_schedulerを有効にする必要があります。

PostgreSQLでは、システム・ジョブを手動で作成し、ハートビート・レコード更新および履歴レコード・パージ関数gg_hb_job_runを定期的にコールする必要があります。たとえば、1分ごとに実行される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 Databaseを使用する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で有効です。

ハートビート履歴表でパーティション化を有効にします。受信したハートビート・タイムスタンプの列を使用して、1日間隔で表をパーティション化します。デフォルトでは、ハートビート履歴表はパーティション化されません。

TARGETONLY

Oracle AI Database、Db2 iシリーズ、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