ラグのモニター

ラグ統計は、Oracle GoldenGateプロセスが、ビジネス・アプリケーションによって生成されたデータの量に後れを取らず適切に処理を進めているかどうかを示します。この情報によって、潜在的な問題を診断し、Oracle GoldenGateプロセスのパフォーマンスをチューニングしてソース・データベースとターゲット・データベース間のレイテンシを最小化できます。

ラグについて

Extractのラグとは、(システム・クロックに基づく)Extractがレコードを処理した時刻と、データ・ソース内のそのレコードのタイムスタンプとの差(秒)です。

Replicatのラグとは、(システムクロックに基づく)Replicatが最後のレコードを処理した時刻と、証跡内のそのレコードのタイムスタンプとの差(秒)です。

ラグ統計を表示するには、LAGまたはSEND ERSEND EXTRACTSEND REPLICATコマンドを使用します。

ノート:

INFOコマンドでもラグ統計は戻されますが、この統計は、処理中の現在のレコードではなく、チェックポイントが指定された最後のレコードから取得された統計です。LAGINFOと比較して正確性の点で劣ります。

自動ハートビート表を使用したラグのモニター

デフォルトの自動ハートビート表機能を使用してエンドツーエンドのレプリケーション遅延を監視できます。自動ハートビートは、ハートビート・シード表およびハートビート表のレコードを更新し、ハートビート履歴表を構築することにより、各ソース・データベースからレプリケーション・ストリームに送信されます。レプリケーション・パスの各レプリケーション・プロセスがこれらのハートビート・レコードを処理して、その情報を更新します。これらのハートビート・レコードは、ターゲット・データベースでハートビート表に挿入されるか、更新されます。

ハートビート表には次の情報が含まれます。

  • ソース・データベース

  • 宛先データベース

  • 送信レプリケーション・ストリームに関する情報:

    • パス内のExtract、Distribution ServiceまたはReplicatプロセスの名前

    • ハートビート・レコードがレプリケーション・プロセスによって処理されたときのタイムスタンプ。

  • 受信レプリケーション・ストリームに関する情報:

    • パス内のExtract、Distribution ServiceまたはReplicatプロセスの名前

    • ハートビート・レコードがレプリケーション・プロセスによって処理されたときのタイムスタンプ。

ハートビート表とハートビート履歴表の情報を使用して、各レプリケーションの現在と過去の遅延を計算できます。

Replicatは、自動ハートビート表(LOGBSN)を使用してExtractの現在の再開位置を追跡できます。これにより、必要に応じてソース・データベースから証跡ファイルを再生成し、ソース・データベースのREDOログ保存期間を最小化できます。また、最新のExtractの再開位置を追跡することにより、自動競合検出および解決(ACDR)表のツームストン表をより頻繁にパージできます。

双方向の構成では、データベースに含まれる近隣へのレプリケーション・パスと同数のエントリがハートビート表にあり、片方向設定ではソース側の表は空です。送信列には、タイムスタンプと送信パス、ローカルExtractおよびダウンストリームのプロセスが含まれます。受信列には、タイムスタンプ、アップストリームのプロセスのパスおよびローカルReplicatが含まれます。

片方向構成では、ターゲット・データベースはハートビート表の受信列のみに移入します。

ノート:

自動ハートビート機能はMySQLバージョン5.5ではサポートされていません。

ハートビート表のエンドツーエンド・レプリケーション・フロー

ハートビート表のエンドツーエンドのレプリケーション処理は、Oracle GoldenGateの証跡形式の使用に依存しています。この処理について、次に説明します。

ADD HEARTBEATTABLEコマンドを使用して、各データベースにハートビート表を追加します。ハートビート表をすべてのソース・インスタンスおよびターゲット・インスタンスに追加し、既存のOracle GoldenGateプロセスを再起動して、ハートビート機能を有効にします。データベース・システムによっては、ハートビート表データを移入するためにジョブの作成または有効化が必要になることがあります。

次の例を参照してください。
DBLOGIN USERIDALIAS alias  [DOMAIN domain]|[SYSDBA | SQLID sqlid][SESSIONCHARSET character_set]}
ADD HEARTBEATTABLE

(オプション) Oracle Databaseの場合、ハートビート更新はOracle DBMS_SCHEDULERに依存しているので、これが適切に動作していることを確認する必要があります。DBMS_SCHEDULERを問い合せるには、次を発行します。

SELECT START_DATE, LAST_START_DATE, NEXT_RUN_DATE 
FROM DBA_SCHEDULER_JOBS 

Where job_name ='GG_UPDATE_HEARTBEATS';

次に、NEXT_RUN_DATE (スケジューラを次回実行する日時)の有効な値を探します。これが過去のタイムスタンプである場合、ジョブは実行されないので修正する必要があります。

スケジューラが機能しない一般的な理由は、パラメータjob_queue_processesの設定値が低すぎる(通常はゼロ)場合です。ALTER SYSTEM SET JOB_QUEUE_PROCESSES = ##; (##はジョブ・キュー・プロセス数)コマンドを使用して、データベースに構成されたjob_queue_processesの数を増やします。

Extractを実行します。これにより、論理変更レコード(LCR)を受信時に、OUTGOING_EXTRACT列の値がチェックされます。

  • Extract名がこの値に一致すると、OUTGOING_EXTRACT_TS列が更新され、レコードが証跡に入力されます。

  • Extract名が一致しない場合、LCRは破棄されます。

  • OUTGOING_EXTRACT値がNULLの場合、OUTGOING_EXTRACT_TSとともに移入され、レコードが証跡に入力されます。

レコードの読取り時にDistribution Serviceによって、OUTGOING_ROUTING_PATH列の値がチェックされます。この列には分散パスのリストが含まれています。

値がNULLの場合、列は現在のグループ名(およびパス、ただしこれがDistribution Serviceの場合) "*"で更新され、OUTGOING_ROUTING_TS列を更新して、レコードがそのターゲット証跡ファイルに書き込まれます。

値のリストに"*"が含まれている場合は、それをgroup name[:pathname],"*"'で置換して、OUTGOING_ROUTING_TS列を更新し、レコードがそのターゲット証跡ファイルに書き込まれます。リストの値にアスタリスク(*)が含まれていない場合、分散パス名がリストにあると、リスト内の関連するgroup name[:pathname],"*"'ペアに指定されたパスにレコードが送信されます。分散パス名がリストにない場合、レコードは破棄されます。

Replicatを実行します。これによりレコードの受信時に、OUTGOING_REPLICA列の値がチェックされます。

  • Replicat名が値に一致すると、ハートビート表の行が更新され、レコードが履歴表に挿入されます。

  • Replicat名が一致しない場合は、レコードが破棄されます。

  • 値がNULLの場合、Replicatの列マッピングを暗黙的に起動して、ハートビート表とハートビート履歴表の行が更新されます。

    Replicatの自動列マッピング

    REMOTE_DATABASE 		= LOCAL_DATABASE
    INCOMING_EXTRACT	 	= OUTGOING_EXTRACT
    INCOMING_ROUTING_PATH      = OUTGOING_ROUTING_PATH with "*"    removed
    INCOMING_REPLICAT		= @GETENV ("GGENVIRONMENT", "GROUPNAME")
    INCOMING_HEARTBEAT_TS	= HEARTBEAT_TIMESTAMP
    INCOMING_EXTRACT_TS	= OUTGOING_EXTRACT_TS
    INCOMING_ROUTING_TS	= OUTGOING_ROUTING_TS
    INCOMING_REPLICAT_TS          = @DATE ('UYYYY-MM-DD HH:MI:SS.FFFFFF','JTSLCT',@GETENV ('JULIANTIMESTAMP'))
    LOCAL_DATABASE	= REMOTE_DATABASE
    OUTGOING_EXTRACT	= INCOMING_EXTRACT
    OUTGOING_ROUTING_PATH	= INCOMING_ROUTING_PATH
    OUTGOING_HEARTBEAT_TS     = INCOMING_HEARTBEAT_TS
    OUTGOING_REPLICAT	= INCOMING_REPLICAT
    OUTGOING_HEARTBEAT_TS	= INCOMING_HEARTBEAT_TS
    

その他の考慮事項:

ハートビートがシステムを流れる際の遅延の計算は、ソース・システムとターゲット・システムのクロックが正確に設定されているかどうかに依存します。ターゲット・システムがソース・システムよりも進んでいると、遅延が負の値になる可能性があります。クロックの差異に気付いて修正する措置を取れるよう、遅延は負の数値として表示されます。

システムを流れるタイムスタンプはUTCで設定されています。タイムスタンプにはタイムゾーンが関連付けられていないので、各コンポーネントが異なるタイムゾーンに設定されている場合でも、ハートビート表を表示するときは、すぐに遅延を表示できます。基礎となる表を基に必要なビューを書き込むことができます。UTCが推奨されます。

すべてのハートビート・エントリはUTF-8で証跡に書き込まれます。

送信パスと受信パスを組み合せて一意に行が特定されます。つまり、送信パスが同じで受信パスが異なる2つの行がある場合、2つの一意のエントリとみなされます。

ハートビート表の詳細

GG_HEARTBEAT表には、エンドツーエンド・レプリケーション時間のタイムスタンプ情報と、異なるコンポーネントのプライマリとセカンダリのExtractおよびReplicatのタイミング情報が表示されます。

片方向環境では、ターゲット・データベースのみにレプリケーション・ラグに関する情報が含まれます。この場合は、レコードがソース・データベースで生成され、ターゲット・データベースでクライアントに見えるようになります。

ノート:

ソース・データベースとリモート・データベースの両方が同じ名前の場合、自動ハートビート表はOUTGOING_%列にデータを移入しません。データベース名を変更するには、ユーティリティDBNEWIDを使用します。詳細は、DBNEWIDユーティリティを参照してください。
データ型 説明

LOCAL_DATABASE

VARCHAR2

リモート・データベースからのレプリケーション時間が計測されるローカル・データベース。

HEARTBEAT_TIMESTAMP

TIMESTAMP(6)

タイムスタンプがリモート・データベースで生成された時点。

REMOTE_DATABASE

VARCHAR2

タイムスタンプが生成されるリモート・データベース

INCOMING_EXTRACT

VARCHAR2

リモート・データベースでのプライマリExtract (取得)の名前

INCOMING_ROUTING_PATH

VARCHAR2

リモート・データベースでのセカンダリExtract (ポンプ)の名前

INCOMING_REPLICAT

VARCHAR2

ローカル・データベースでのReplicatの名前。

INCOMING_HEARTBEAT_TS

TIMESTAMP(6)

情報がローカル・データベースのGG_HEARTBEAT表に挿入されるときの最終タイムスタンプ。

INCOMING_EXTRACT_TS

TIMESTAMP(6)

生成されたタイムスタンプがリモート・データベースのプライマリExtractで処理されるときのタイムスタンプ。

INCOMING_ROUTING_TS

TIMESTAMP(6)

生成されたタイムスタンプがリモート・データベースのセカンダリExtractで処理されるときのタイムスタンプ。

INCOMING_REPLICAT_TS

TIMESTAMP(6)

生成されたタイムスタンプがローカル・データベースのReplicatで処理されるときのタイムスタンプ。

OUTGOING_EXTRACT

VARCHAR2

双方向/N方向レプリケーション: ローカル・データベースのプライマリExtractの名前。

OUTGOING_ROUTING_PATH

VARCHAR2

双方向/N方向レプリケーション: ローカル・データベースのセカンダリExtractの名前。

OUTGOING_REPLICAT

VARCHAR2

双方向/N方向レプリケーション: リモート・データベースのReplicatの名前。

OUTGOING_HEARTBEAT_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 情報がリモート・データベースの表に挿入されるときの最終タイムスタンプ。

OUTGOING_EXTRACT_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのプライマリExtractで処理されるときのタイムスタンプ。

OUTGOING_ROUTING_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのセカンダリExtractで処理されるときのタイムスタンプ。

OUTGOING_REPLICAT_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 生成されたタイムスタンプがリモート・データベースのReplicatで処理されるときのタイムスタンプ。

INCOMING_REPLICAT_LW_CSN

VARCHAR2

-

INCOMING_EXTRACT_HEARTBEAT_CSN

VARCHAR2

-

INCOMING_EXTRACT_RESTART_CSN

VARCHAR2

-

INCOMING_EXTRACT_RESTART_TS

TIMESTAMP(6)

-

GG_HEARTBEAT_HISTORY表には、エンドツーエンド・レプリケーション時間のタイムスタンプ履歴情報と、異なるコンポーネントのプライマリとセカンダリのExtractおよびReplicatのタイミング情報が表示されます。

片方向環境では、宛先データベースのみにレプリケーション・ラグに関する情報が含まれます。

タイムスタンプはUTCタイムゾーンで管理されます。この場合は、レコードがソース・データベースで生成され、ターゲット・データベースでクライアントに見えるようになります。

データ型 説明

LOCAL_DATABASE

VARCHAR2

エンドツーエンド・ラグが計測されるローカル・データベース。

HEARTBEAT_RECEIVED_TS

TIMESTAMP(6)

リモート・データベースのタイムスタンプがローカル・データベースで受け取られた時点。

REMOTE_DATABASE

VARCHAR2

タイムスタンプが生成されるリモート・データベース。

INCOMING_EXTRACT

VARCHAR2

リモート・データベースのプライマリExtractの名前。

INCOMING_ROUTING_PATH

VARCHAR2

リモート・データベースのセカンダリExtractの名前。

INCOMING_REPLICAT

VARCHAR2

ローカル・データベースでのReplicatの名前。

INCOMING_HEARTBEAT_TS

TIMESTAMP(6)

情報がローカル・データベースのGG_HEARTBEAT_HISTORY表に挿入されるときの最終タイムスタンプ。

INCOMING_EXTRACT_TS

TIMESTAMP(6)

生成されたタイムスタンプがリモート・データベースのプライマリExtractで処理されるときのタイムスタンプ。

INCOMING_ROUTING_TS

TIMESTAMP(6)

生成されたタイムスタンプがリモート・データベースのセカンダリExtractで処理されるときのタイムスタンプ。

INCOMING_REPLICAT_TS

TIMESTAMP(6)

生成されたタイムスタンプがローカル・データベースのReplicatで処理されるときのタイムスタンプ。

OUTGOING_EXTRACT

VARCHAR2

双方向/N方向レプリケーション: ローカル・データベースのプライマリExtractの名前。

OUTGOING_ROUTING_PATH

VARCHAR2

双方向/N方向レプリケーション: ローカル・データベースのセカンダリExtractの名前。

OUTGOING_REPLICAT

VARCHAR2

双方向/N方向レプリケーション: リモート・データベースのReplicatの名前。

OUTGOING_HEARTBEAT_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 情報がリモート・データベースの表に永続的に挿入されたときの最終タイムスタンプ。

OUTGOING_EXTRACT_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのプライマリExtractで処理されるときのタイムスタンプ。

OUTGOING_ROUTING_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのセカンダリExtractで処理されるときのタイムスタンプ。

OUTGOING_REPLICAT_TS

TIMESTAMP(6)

双方向/N方向レプリケーション: 生成されたタイムスタンプがリモート・データベースのReplicatで処理されるときのタイムスタンプ。

REPLICAT_LOW_WATERMARK_CSN

String

この列は、このハートビート・レコードを処理するときにReplicatによって移入されます。このレコードを処理する際に、現在の低水位標(LWM)がこの列に移入されます。これにより、ReplicatのLWM以降のハートビート・レコードからLOGBSNを選択できます。

SOURCE_EXTRACT_HEARTBEAT_CSN

String

この列は、Extractによって移入され、ソース・データベースのハートビート・トランザクションのソース・コミットSCNが含まれています。ソース・データベースのハートビート・ジョブは、コミットSCNを先験的に知らないため、この値を移入できません。

SOURCE_EXTRACT_RESTART_CSN

String

この列は、Extractによって移入され、Extractがこの特定のハートビート・レコードを処理するときの現在のLOGBSNが含まれています。ソース・データベースのハートビート・ジョブはこの値を移入しません。

SOURCE_EXTRACT_RESTART_CSN_TS

TIMESTAMP

この列は、Extractによって移入され、Extractがこの特定のハートビート・レコードを処理するときの現在のLOGBSNに対応するUTCのREDOタイムスタンプが含まれています。ソース・データベースのハートビート・ジョブはこの値を移入しません。

GG_LAGビューには、ローカル・データベースとリモート・データベースのレプリケーション・ラグに関する情報が表示されます。

片方向環境では、宛先データベースのみにレプリケーション・ラグに関する情報が含まれます。ラグは秒単位で計測されます。

データ型 説明

LOCAL_DATABASE

VARCHAR2

リモート・データベースからのエンドツーエンド・レプリケーション・ラグが計測されるローカル・データベース。

CURRENT_LOCAL_TS

TIMESTAMP(6)

ローカル・データベースの現在のタイムスタンプ。

REMOTE_DATABASE

VARCHAR2

タイムスタンプが生成されるリモート・データベース。

INCOMING_HEARTBEAT_AGE

NUMBER

リモート・データベースから受信した最新のハートビートの経過時間。

INCOMING_PATH

VARCHAR2

リモート・データベースからExtractおよびReplicatコンポーネントを含むローカル・データベースへのレプリケーション・パス。

INCOMING_LAG

NUMBER

リモート・データベースからローカル・データベースへのレプリケーション・ラグ。この時間は、リモート・データベースでハートビートが生成された時刻から、ローカル・データベースの表に情報が永続的に挿入された時刻を引いたものです。

OUTGOING_HEARTBEAT_AGE

NUMBER

ローカル・データベースからリモート・データベースへの最新のハートビートの経過時間。

OUTGOING_PATH

VARCHAR2

ローカル・データベースからExtractおよびReplicatコンポーネントを含むリモート・データベースへのレプリケーション・パス。

OUTGOING_LAG

NUMBER

ローカル・データベースからリモート・データベースへのレプリケーション・ラグ。この時間は、ローカル・データベースでハートビートが生成された時刻から、リモート・データベースの表に情報が永続的に挿入された時刻を引いたものです。

REMOTE_EXTRACT_RESTART_CSN

String

ソースExtractの再開位置。

REMOTE_DATABASE DB_UNIQUE_NAME

String

リモート・データベースの一意の名前が表示されます。一意の名前が存在しない場合は、DB_NAME値が表示されます。

REMOTE_EXTRACT_RESTART_CSN_TIME

Timestamp

ソースExtractのREDOの位置に関連付けられたタイムスタンプ。

REMOTE_DB_OLDEST_OPEN_TXN_AGE

Timestamp

Extractが現在処理しているソース・データベースで最も古いオープン・トランザクションの経過時間。この列は、SYSTIMESTAMP - REMOTE_EXTRACT_RESTART_TIMEとして計算できます。

LOCAL_REPLICAT_LWM_CSN

String

ハートビートを処理したときのローカルReplicatの低水位標CSN。

GG_LAG_HISTORYビューには、ローカル・データベースとリモート・データベースのレプリケーション・ラグ履歴に関する履歴情報が表示されます。

片方向環境では、宛先データベースのみにレプリケーション・ラグに関する情報が含まれます。

ラグは秒単位です。

データ型 説明

LOCAL_DATABASE

VARCHAR2

リモート・データベースからのエンドツーエンド・レプリケーション・ラグが計測されるローカル・データベース。

HEARTBEAT_RECEIVED_TS

TIMESTAMP(6)

リモート・データベースのタイムスタンプがローカル・データベースで受け取られた時点。

REMOTE_DATABASE

VARCHAR2

タイムスタンプが生成されるリモート・データベース。

DB_NAME

String リモート・データベース名。
DB_UNIQUE_NAME String リモート・データベースの一意の名前。データベースの一意の名前が存在しない場合、DB_NAMEDB_UNIQUE_NAMEは同じになります。

スタンバイへのスイッチオーバーのシナリオでは、db_unique_nameは変更されますが、db_nameとレプリケーション・パスは同じままです。

INCOMING_HEARTBEAT_AGE

NUMBER

ハートビート表の経過期間。

INCOMING_PATH

VARCHAR2

リモート・データベースからExtractおよびReplicatコンポーネントを含むローカル・データベースへのレプリケーション・パス。

INCOMING_LAG

NUMBER

リモート・データベースからローカル・データベースへのレプリケーション・ラグ。この時間は、リモート・データベースでハートビートが生成された時刻から、ローカル・データベースの表に情報が永続的に挿入された時刻を引いたものです。

OUTGOING_HEARTBEAT_AGE

NUMBER

OUTGOING_PATH

VARCHAR2

ローカル・データベースからExtractおよびReplicatコンポーネントを含むリモート・データベースへのレプリケーション・パス。

OUTGOING_LAG

NUMBER

ローカル・データベースからリモート・データベースへのレプリケーション・ラグ。この時間は、ローカル・データベースでハートビートが生成された時刻から、リモート・データベースの表に情報が永続的に挿入された時刻を引いたものです。

REMOTE_EXTRACT_RESTART_CSN

String

ソースExtractの再開位置。

REMOTE_EXTRACT_RESTART_CSN_TIME

TIMESTAMP

ソースExtractのREDOの位置に関連付けられたタイムスタンプ。

REMOTE_DB_OLDEST_OPEN_TXN_AGE

TIMESTAMP

Extractが現在処理しているソース・データベースで最も古いオープン・トランザクションの経過時間。この列は、SYSTIMESTAMP - REMOTE_EXTRACT_RESTART_TIMEとして計算できます。

LOCAL_REPLICAT_LWM_CSN

String

ハートビートを処理したときのローカルReplicatの低水位標CSN。

INCOMING_EXTRACT_LAG

-

-

INCOMING_ROUTINE_LAG

- -

INCOMING_REPLICAT_READ_LAG

- -

INCOMING_REPICAT_LAG

- -

OUTGOING_EXTRACT_LAG

- -

OUTGOING_ROUTINE_LAG

- -

OUTGOING_REPLICAT_READ_LAG

- -

OUTGOING_REPLICAT_LAG

- -

ハートビート表の更新

ハートビート・シード表のHEARTBEAT_TIMESTAMP列は、データベース・ジョブで定期的に更新する必要があります。デフォルトのハートビート間隔は1分で、この間隔はコマンドラインまたは管理サービスWebインタフェースから指定または上書きできます。

Oracle Databaseの場合、データベース・ジョブは自動的に作成されます。

PostgreSQLの場合は、ハートビート表を更新するための自動タスクを設定できます。「PostgreSQLの場合のハートビート表を更新する自動化タスクの構成」を参照してください。

サポートされているその他のすべてのデータベースの場合、データベース固有のスケジューラ機能を使用してハートビート・タイムスタンプを更新するバックグラウンド・ジョブを作成する必要があります。

ハートビート表の更新の詳細は、ADD HEARTBEATTABLEALTER HEARTBEATTABLEを参照してください。

PostgreSQLの場合のハートビート表を更新する自動化タスクの構成

Oracle GoldenGate 23ai for PostgreSQL Webインタフェースでは、ハートビート表を定期的に更新するためのcronジョブを作成する機能が提供されます。

Webインタフェースからこのタスクを作成するステップは、次のとおりです:

  1. 管理者の資格証明を使用して管理サービスにログインします。

  2. 左側のナビゲーション・ペインで、「タスク」を展開し、ハートビート更新タスクオプションを選択します。


    PostgreSQLの場合のハートビートを更新するための自動化タスク・オプション

  3. ハートビート更新タスクページでプラス記号をクリックします。ハートビート・タスクの新規作成ダイアログ・ボックスが表示されます。
    データベース資格証明の別名とドメインを選択するためとハートビート表の自動更新を実行する頻度間隔を指定するためのオプションを含む新しいハートビート更新タスクダイアログ・ボックスを作成します。

  4. このダイアログ・ボックスで次の値を指定し、「発行」をクリックします。
    • 名前: タスクの名前を指定します。

    • 資格証明ドメイン: ドロップダウン・リストからドメイン名を選択します。

    • 資格証明別名: ハートビート更新タスクを作成するPostgreSQLデータベース・インスタンスの資格証明別名を選択します。

    • 頻度間隔: 更新タスクを実行する頻度間隔を指定します。最小値は60 (デフォルト)であり、最大値は7999に設定できます。

ハートビート更新タスクを変更または削除するには、次のステップを使用します:
  1. 管理サービス・インタフェースの左側のナビゲーション・ペインで、「タスク」を選択します。

  2. ハートビート更新タスクをクリックします。既存のハートビート更新タスクのリストが表示されます。

  3. 「アクション」列で、鉛筆アイコンをクリックします。ハートビート更新タスクの編集ダイアログ・ボックスが表示されます。

  4. 資格証明ドメイン、別名または頻度間隔を変更し、「発行」をクリックできます。変更したハートビート更新タスクがハートビート更新タスクページに示されます。

  5. タスクを削除するには、そのタスクの「アクション」列から「削除」アイコンをクリックします。「OK」をクリックして削除を確認します。

ハートビート履歴表のパージ

ハートビート履歴表はジョブを使用して定期的にパージされます。デフォルトの間隔は30日で、この間隔は管理クライアントまたはAdministration Service Webインタフェースなどのコマンドライン・インタフェースを使用して指定または上書きできます。

Oracle Databaseの場合、データベース・ジョブは自動的に作成されます。

サポートされているその他のすべてのデータベースの場合、データベース固有のスケジューラ機能を使用してハートビート・履歴表をパージするバックグラウンド・ジョブを作成する必要があります。

ベスト・プラクティス

次のことをお薦めします。

  • すべてのデータベースで同じハートビート頻度を使用して診断を容易にします。

  • 容量に問題がある場合は保存時間を調整します。

  • デフォルトのハートビート表の頻度を保持します。頻度を30から60秒に設定すると、ほとんどのワークロードで最適な結果をもたらします。

  • 遅延履歴統計を使用して遅延および期間の情報を収集します。

自動ハートビート・コマンドの使用方法

ハートビート表コマンドを使用して、次のようにOracle GoldenGateの自動ハートビート機能を制御できます。

コマンド 説明

ADD HEARTBEATTABLE

自動ハートビート機能に必要なハートビート表(LOGBSN列を含む)を作成します。

ALTER HEARTBEATTABLE

既存のハートビート・オブジェクトを変更します。

ALTER HEARTBEATTABLE UPGRADE

ハートビート表を変更して、ハートビート表にLOGBSN列を追加します。これはオプションです。

DELETE HEARTBEATTABLE

既存のハートビート・オブジェクトを削除します。

DELETE HEARTBEATENTRY

ハートビート表内のエントリを削除します。

INFO HEARTBEATTABLE

ハートビート表情報を表示します。

ラグ・レポートの生成

ラグ・レポートには、管理サービスからアクセスできます。ラグ・レポート・タスクを設定して、特定の期間のラグ・レポートを自動的に生成し、ラグ値が指定されたしきい値を超えた場合に警告を発行できます。次のステップに従って、ラグ・レポートを生成するための自動タスクを設定します。
  1. 管理サービスの左側のナビゲーション・ペインで、「タスク」をクリックし、「ラグ・レポート」を選択します。

  2. 「アクション」列には、ラグ・レポート・タスクの詳細を削除、変更、リフレッシュおよび表示するためのすべてのオプションが含まれています。

  3. 必要なオプションを選択します。

  4. 「タスクの変更」オプションを選択すると、ラグ・レポートを編集するためのオプションが表示されます。次のオプションがあります。
    • Enabled: ラグ・レポート・タスクの処理を維持します。

    • Check Every (in minutes): ラグ・レポートをチェックする時間間隔を設定します。

    • レポート: 指定したしきい値を超えた場合にラグ・レポートを自動的に生成します。「超過した場合」ボックスでしきい値を指定できます。

    • If Exceeds: 警告が通知されるまでのしきい値を指定します。値は、秒、分または時間になります。

    • 警告: ラグのしきい値が指定したしきい値を超えた場合に警告が生成されるようにします。

    • When Exceeds: 警告がトリガーされるまでのラグしきい値。

  5. 「発行」をクリックします。

Replicatでのラグの識別

Replicatプロセスのラグを識別し、表の列を変更するには、次の手順を実行します。

  1. Oracle GoldenGateにリンクされているすべての表のソース・データベースでアクティビティを一時停止します。
  2. 管理クライアントを起動します。
  3. Replicatグループに対して次のコマンドを実行します。
    INFO REPLICAT group
    
  4. Checkpoint Lag行で、Replicatの遅れがあるかどうかを確認します。必要に応じて、遅れがゼロになるまでINFO REPLICATを発行し続けますが、ゼロは証跡のすべてのデータが処理されていることを示します。
  5. Replicatグループを停止します。
    STOP REPLICAT group
    
  6. ターゲット・データベースで表変更を実行します。
  7. Replicatプロセスを起動します。
    START REPLICAT group
    
  8. Oracle GoldenGateにリンクされているすべてのソース表で再開するユーザー・アクティビティを許可します。