2.5 ADD HEARTBEATTABLE
Oracle、DB2 z/OS、DB2 LUW、DB2 for iシリーズ、MySQL、PostgreSQL、SQL Server、TeradataおよびTimesTenに有効です。
このコマンドにはDBLOGIN
を使用したデータベース・ログインが必要です。
ADD HEARTBEATTABLE
では、自動ハートビート機能を使用する場合に必要なオブジェクトを作成します。このコマンドは、次のタスクを実行します。
-
ハートビート・シード表、ハートビート表およびハートビート履歴表の作成。
-
GG_LAG
ビューおよびGG_LAG_HISTORY
ビューの作成。 -
スケジューラ・ジョブによってコールされる
GG_UPDATE_HB_TAB
およびGG_PURGE_HB_TAB
プロシージャの作成。 -
ハートビートとシード表の更新および履歴表のパージを定期的に実行するスケジューラ・ジョブの作成。ただし、TeradataおよびTimesTenの場合、これらのジョブは作成されません。
-
シード表を移入します。
-
Oracleマルチテナント・データベースの場合:
-
ハートビート・オブジェクトとジョブは、
DBLOGIN
コマンドを使用してデータベースに接続されているユーザーのスキーマに作成されます。Oracle GoldenGate ExtractおよびReplicatは、USERID
またはUSERIDALIAS
スキーマでハートビート・オブジェクトを検索します。DBLOGIN
を使用して接続する場合は、ExtractおよびReplicatプロセスが使用する適切なUSERID
またはUSERIDALIAS
スキーマであることを確認します。 -
Extract: 各PDBでスキーマ名を使用します。Extractが登録されている各PDBには、独自のハートビート表が必要です。ハートビート表を検索するスキーマをExtractに指示するには、GLOBALSファイル内で
GGSCHEMA pdb.schemaname
を使用します。 -
Replicat: 各Replicatには、そのPDB用の独自のハートビート表が必要です。
-
双方向のアクティブ/アクティブ・レプリケーションの場合、ハートビート表はExtractとReplicatの両方で同じスキーマ内にある必要があります。
-
-
Oracle GoldenGateハートビート表の管理は、限定された状況を除き、
GGSCHEMA
(またはHEARTBEATTABLE
パラメータ)が必要なくなることで簡略化されました。ハートビート表の管理操作は、DBLOGIN
ユーザーのスキーマでのみ実行されます。Oracle CDBルートExtractの場合を除き、ExtractおよびReplicatプロセスは、ER接続ユーザーのスキーマでハートビート表を検索します。次の表に、OracleデータベースでのExtractおよびReplicatの動作を示します。Extract/Replicatプロセス 動作 非ルートExtract (非CDB、およびPDB)
最初のExtractユーザーの場合はGGSCHEMAが使用され、Autonomous Database (ADB)の場合はユーザーが
GGADMIN
である必要があります。Extractの起動後にハートビートが作成された場合は、Extractユーザーでのみ検索します。
CDBルートExtract
GGSCHEMA
が使用されます。Replicat
最初のReplicatユーザーの場合、GGSCHEMAが使用されます。ADBの場合、ユーザーは
GGADMIN
である必要があります。Replicatの起動後にハートビートが作成された場合は、Replicatユーザーでのみ検索します。
DELETE EXTRACT/REPLICAT
最初のExtractまたはReplicatユーザーの場合は、GGSCHEMAが使用されます。ADBの場合、ユーザーは
GGADMIN
である必要があります。この機能を使用すると、異なるOracle GoldenGate管理者スキーマで複数のデータベースを管理するOracle GoldenGate Hubデプロイメントでハートビート表を使用できます。ノート:
ハートビート表オブジェクトはOracle Multitenant DatabaseのルートCDBに作成しないでください。 -
異種またはOracle以外のデータベースの場合、ハートビート・オブジェクトおよびジョブはGLOBALSファイルにリストされているGGSCHEMA値で作成されます。
-
TARGETONLY
を指定すると、ジョブ表もジョブ・プロシージャも作成されません。NOTARGETONLY
はサポートされていません。
シード表、ハートビート表および履歴表のデフォルト名は、それぞれGG_HEARTBEAT_SEED
、GG_HEARTBEAT
およびGG_HEARTBEAT_HISTORY
です。
Microservices Architectureでは、スキーマは、Oracle GoldenGate Microservicesを使用したデータ・レプリケーションのステップガイドのデプロイメントの作成方法に関する項に記載されているステップ12を使用して構成されます。
-
デフォルト名をオーバーライドするには、
GLOBALS
ファイルでHEARTBEATTABLE
hbschemaname.hbtablename
を指定します。 -
表、プロシージャおよびジョブは、スキーマ
hbschemaname
で作成されます。 -
シードと履歴表を作成するには、表
hbtablename
に_SEED
および_HISTORY
を追加します。
DB2 LUWの場合、db2set DB2_ATS_ENABLE=yes
コマンドでDB2_ATS_ENABLE
プロパティを設定する必要があります。
Amazon RDSではグローバル変数の設定が許可されていないため、Amazon Aurora MySQLの場合はグローバル変数event_scheduler
をパラメータ・グループで有効にする必要があります。データベースが再起動されると、event_scheduler
は無効に戻ります。これを回避するには、my.cnf/ini
ファイルでevent_scheduler
を有効にする必要があります。
Admin Client構文
ADD HEARTBEATTABLE
[, FREQUENCY number_in_seconds]
[, RETENTION_TIME number_in_days] |
[, PURGE_FREQUENCY number_in_days]
[, PARTITIONED]
[, TARGETONLY]
GGSCI構文
ADD HEARTBEATTABLE
[, FREQUENCY number_in_seconds]
[, RETENTION_TIME number_in_days] |
[, PURGE_FREQUENCY number_in_days]
[, PARTITIONED]
[, TARGETONLY]
-
FREQUENCY number_in_seconds
-
ハートビート・レコードが生成される頻度を指定します。デフォルトは60秒です。
次の制限を考慮します。
-
Oracle Databaseの場合、最小値は0、最大値は7999です。
-
DB2 for iシリーズの場合、最小値は0、最大値は7999です。
-
DB2 LUWおよびDB2 z/OSの場合、最小値は60、最大値は7999です。
-
DB2 /zOSおよびDB2 LUWの頻度は、3600未満の値では60の倍数である必要があり、3600以上の値では3600の倍数である必要があります。
-
MySQLの場合、最小値は0、最大値は7999です。
-
SQL Serverの場合、最小値は10、最大値は3600です。
-
PostgreSQLの場合、最小値は60、最大値は7999です。
-
FREQUENCY
を0に設定できるデータベースでは、ハートビート・レコード・スケジューラが一時停止されます。
-
-
RETENTION_TIME number_in_days
-
ハートビート履歴表で保存時間を過ぎたハートビート・エントリをパージすることを指定します。デフォルトは30日です。
すべてのデータベースで、最小値は1、最大値は2147483646です。
-
PURGE_FREQUENCY number_in_days
-
保存時間を過ぎた表エントリをハートビート履歴表から削除するパージ・スケジューラの実行頻度を指定します。デフォルトは1日です。
DB2 LUWおよびDB2 z/OSの場合、最小値は1、最大値は31です。
サポートされている他のすべてのデータベースでは、最小値は1、最大値は199です。
ノート:
Teradataの場合、NOTARGETONLY
オプションはサポートされていません。TeradataおよびPostgreSQLの場合、オプションFREQUENCY
、PURGE_FREQUENCY
およびRETENTION_TIME
はサポートされていません。 -
PARTITIONED
-
Oracleに有効です。
ハートビート履歴表のパーティション化を有効にします。受信したハートビートのタイム・スタンプの列を使用して、表を1日間隔でパーティション化します。デフォルトでは、ハートビート履歴表はパーティション化されていません。
-
TARGETONLY
- Oracle 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
親トピック: 共通コマンドライン・インタフェースのコマンド