15 Oracle GoldenGate処理の監視
Oracle GoldenGate Microservicesガイドのモニターを参照してください。
15.1 情報コマンドの使用
Oracle GoldenGate MA Webインタフェースから、様々なレベルでExtractおよびReplicatグループに関する情報を表示できます。もう1つの方法として、Admin ClientまたはGGSCIコマンドライン・インタフェースを使用して様々なプロセスを監視する方法があります。
Oracle GoldenGate Microservicesを使用したデータ・レプリケーションのステップ・ガイドのパフォーマンスの監視、証跡の監視、分散パス情報統計の監視を参照してください。
コマンドの構文、使用方法および例については、Oracle GoldenGateコマンド・ライン・インタフェース・リファレンスを参照してください。
表15-1 プロセス情報を表示するコマンド
コマンド | 表示内容 |
---|---|
|
実行ステータス、チェックポイント、ラグ概算および環境情報 |
|
実行ステータスおよびポート番号 |
|
システム上のすべてのOracle GoldenGateプロセスに関する |
|
処理量に関する統計(実行した操作の数など)。 |
|
実行ステータス(起動中、実行中、停止済、異常終了済) |
|
実行ステータス |
|
処理された最新レコードとデータソースのタイムスタンプとの間のレイテンシ |
|
関連プロセスの名前、最後に処理されたデータの位置、最大ファイル・サイズ |
|
実行ステータス、子プロセスに関する情報、ポート情報、証跡消去設定 |
|
プロセスと選択したオプションに応じて、メモリー・プール、ラグ、TCP統計、長時間実行トランザクション、プロセス・ステータス、リカバリ進行状況などに関する情報が戻されます。 |
|
破棄ファイルとプロセス・レポートの内容 |
|
Oracle GoldenGateエラー・ログの内容 |
|
|
|
静的情報を問い合せて表示します。 |
|
現在実行中のパラメータ値を表示します。 |
|
分散パスに関する情報を返します。このコマンドを実行する前に、そのデプロイメントの分散サービスが稼働していることを確認します。 |
|
ローカル証跡の構成情報を取得します。トレイル名、書込み元のExtract、最新のデータ処理位置、割り当てられた最大ファイル・サイズが表示されます。 |
|
リモート証跡の構成情報を取得します。トレイル名、書込み元のExtract、最新のデータ処理位置、割り当てられた最大ファイル・サイズが表示されます。 |
|
複数のExtractおよびReplicatグループの情報を1つの単位として取得します。 |
|
チェックポイント表の存在を確認し、作成された日時を表示します。 |
|
資格証明のリストを取得します。 |
|
サービス・マネージャで使用可能な暗号化プロファイルに関する情報を返します。 |
|
データベースに構成されたハートビート表に関する情報を表示します。 |
|
デプロイメント内のすべての認可プロファイルまたは特定のデプロイメントの特定の認可プロファイルの情報をリストします。 |
|
現在オープンしているマスター・キー・ウォレットの内容を表示します。ウォレット・ストアが存在しない場合は、新しいウォレット・ストア・ファイルが作成されます。このウォレット・ストア・ファイルは、様々な暗号化キーを作成時にホストするために使用されます。 |
|
管理対象プロセスのプロファイルに関する情報を返します。 |
|
レシーバ・サービスのターゲットで開始される分散パスに関する情報を返します。このコマンドを実行する前に、レシーバ・サービスが実行中であることを確認します。 |
|
Oracleデータベースにのみ有効です。Oracleのスキーマレベルのサプリメンタル・ロギングが、指定したスキーマに対して有効かどうか、またはインスタンス化情報があるかどうかを確認します。このコマンドを使用する前に、 |
|
データベースのローカル・インスタンスに指定したトレース表が存在することを確認します。 |
|
データベースに応じて異なる出力を表示します。 |
|
分散パス(DISTPATH)またはレシーバ・パス(RECVPATH)の統計を取得します。 |
|
複数のExtractおよびReplicatグループの統計を1つの単位として取得します。ワイルドカードとともに使用すると、その条件を満たすすべてのExtractおよびReplicatグループにコマンドを適用します。 |
|
複数のExtractおよびReplicatグループのステータスを1つの単位として取得します。 |
|
指定したデプロイメントのステータスを表示します。 |
|
|
|
指定したOracle GoldenGateサービスのステータスを表示します。 |
親トピック: Oracle GoldenGate処理の監視
15.2 Extractリカバリの監視
長時間実行トランザクションがオープンしているときにExtractが異常終了すると、Extractの再起動時のリカバリに時間がかかることがあります。処理状態をリカバリするため、Extractは、必要に応じて以前のオンライン・ログとアーカイブ・ログを検索し、その長時間実行トランザクションの最初のログ・レコードを検出する必要があります。トランザクションの開始時点が古いほど、一般的にリカバリにかかる時間も長くなり、Extractは停止したように見えることがあります。
Extractのリカバリ状況が適切であることを確認するには、SEND EXTRACT
コマンドをSTATUS
オプション付きで使用します。次のステータス記録のいずれかが表示されるため、リカバリの実行中にExtractがそのログ読取り位置を変更するのに応じて、作業の進行状況を追跡できます。
-
In recovery[1]
– Extractは、トランザクション・ログのチェックポイントにリカバリ中です。つまり、次のいずれかから読み取っています。a) BRチェックポイント・ファイル、次にアーカイブ/オンライン・ログから読取り中、
または
b) アーカイブ/オンライン・ログのリカバリ・チェックポイントから読取り中。
-
In recovery[2]
– Extractは、チェックポイントから証跡の末尾にリカバリ中です。つまり、最後のトランザクションが完全には書き込まれず、トランザクションを再書込みしているときにリカバリ・マーカーが出力証跡に付加されます。 -
Recovery complete
– リカバリは終了し、通常の処理が再開されます。
親トピック: Oracle GoldenGate処理の監視
15.3 ラグの監視
ラグ統計は、Oracle GoldenGateプロセスが、ビジネス・アプリケーションによって生成されたデータの量に後れを取らず適切に処理を進めているかどうかを示します。この情報によって、潜在的な問題を診断し、Oracle GoldenGateプロセスのパフォーマンスをチューニングしてソース・データベースとターゲット・データベース間のレイテンシを最小化できます。Oracle GoldenGateをチューニングしてラグを最小化する方法の詳細は、「Oracle GoldenGateのパフォーマンスのチューニング」を参照してください。
内容は次のとおりです。
15.3.1 ラグについて
Extractのラグとは、(システム・クロックに基づく)Extractがレコードを処理した時刻と、データ・ソース内のそのレコードのタイムスタンプとの差(秒)です。
Replicatのラグとは、(システムクロックに基づく)Replicatが最後のレコードを処理した時刻と、証跡内のそのレコードのタイムスタンプとの差(秒)です。
ラグの統計を表示するには、GGSCIでLAG
コマンドかSEND
コマンドを使用します。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
ノート:
INFO
コマンドでもラグ統計は戻されますが、この統計は、処理中の現在のレコードではなく、チェックポイントが指定された最後のレコードから取得された統計です。LAG
やINFO
と比較して正確性の点で劣ります。
親トピック: ラグの監視
15.3.2 ラグのレポート方法の制御
LAGREPORTMINUTES
またはLAGREPORTHOURS
パラメータでは、ManagerがExtractおよびReplicatのラグを確認する間隔を指定します。『Oracle GoldenGateリファレンス』を参照してください。
LAGCRITICALSECONDS
、LAGCRITICALMINUTES
、またはLAGCRITICALHOURS
パラメータでは、クリティカルとみなすラグしきい値を指定し、しきい値に達したときにエラー・ログに警告メッセージを書き込みます。このパラメータは、ローカル・システムのExtractおよびReplicatプロセスに影響します。『Oracle GoldenGateリファレンス』を参照してください。
LAGINFOSECONDS
、LAGINFOMINUTES
またはLAGINFOHOURS
パラメータでは、ラグしきい値を指定します。ラグが指定した値を超えると、Oracle GoldenGateはエラー・ログにラグ情報をレポートします。ラグがLAGCRITICAL
パラメータで指定した値を超えると、Managerはこのラグをクリティカルとしてレポートし、それ以外の場合は情報メッセージとしてレポートします。値ゼロ(0)を指定すると、LAGREPORTMINUTES
またはLAGREPORTHOURS
パラメータで指定した間隔でメッセージがレポートされます。『Oracle GoldenGateリファレンス』を参照してください。
親トピック: ラグの監視
15.4 自動ハートビート表を使用した監視
デフォルトの自動ハートビート表機能を使用してエンドツーエンドのレプリケーション遅延を監視できます。自動ハートビートは、ハートビート・シード表およびハートビート表のレコードを更新し、ハートビート履歴表
を構築することにより、各ソース・データベースからレプリケーション・ストリームに送信されます。レプリケーション・パスの各レプリケーション・プロセスがこれらのハートビート・レコードを処理して、その情報を更新します。これらのハートビート・レコードは、ターゲット・データベースでハートビート表に挿入されるか、更新されます。
ハートビート表には次の情報が含まれます。
-
ソース・データベース
-
宛先データベース
-
送信レプリケーション・ストリームに関する情報:
-
パス内のExtract、ポンプ/分散サービスまたはReplicatプロセスの名前
-
ハートビート・レコードがレプリケーション・プロセスによって処理されたときのタイムスタンプ。
-
-
受信レプリケーション・ストリームに関する情報:
-
パス内のExtract、ポンプ/分散サービスまたはReplicatプロセスの名前
-
ハートビート・レコードがレプリケーション・プロセスによって処理されたときのタイムスタンプ。
-
ハートビート表とハートビート履歴表の情報を使用して、各レプリケーションの現在と過去の遅延を計算できます。
Replicatは、自動ハートビート表(LOGBSN)を使用してExtractの現在の再開位置を追跡できます。これにより、必要に応じてソース・データベースから証跡ファイルを再生成し、ソース・データベースのREDOログ保存期間を最小化できます。また、最新のExtractの再開位置を追跡することにより、自動競合検出および解決(ACDR)表のツームストン表をより頻繁にパージできます。
双方向の構成では、データベースに含まれる近隣へのレプリケーション・パスと同数のエントリがハートビート表にあり、片方向設定ではソース側の表は空です。送信列には、タイムスタンプと送信パス、ローカルExtractおよびダウンストリームのプロセスが含まれます。受信列には、タイムスタンプ、アップストリームのプロセスのパスおよびローカルReplicatが含まれます。
片方向構成では、ターゲット・データベースはハートビート表の受信列のみに移入します。
ノート:
自動ハートビート機能はMySQLバージョン5.5ではサポートされていません。
内容は次のとおりです。
親トピック: Oracle GoldenGate処理の監視
15.4.1 ハートビート表のエンドツーエンド・レプリケーション・フローの理解
ハートビート表のエンドツーエンドのレプリケーション処理は、Oracle GoldenGateの証跡形式の使用に依存しています。この処理について、次に説明します。
-
ADD HEARTBEATTABLE
コマンドを使用して、各データベースにハートビート表を追加します。ハートビート表をすべてのソース・インスタンスおよびターゲット・インスタンスに追加し、既存のOracle GoldenGateプロセスを再起動して、ハートビート機能を有効にします。データベース・システムによっては、ハートビート表データを移入するためにジョブの作成または有効化が必要になることがあります。次の例を参照してください。GGSCI>DBLOGIN {[SOURCEDB data_source] |[, database@host:port] |USERID {/ | userid}[, PASSWORD password] [algorithm ENCRYPTKEY {keyname | DEFAULT}] |USERIDALIAS alias [DOMAIN domain]|[SYSDBA | SQLID sqlid][SESSIONCHARSET character_set]} GGSCI>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
とともに移入され、レコードが証跡に入力されます。
-
-
ポンプまたは分散サーバーは、レコードの読取り時に
OUTGOING_ROUTING_PATH
列の値をチェックします。この列には分散パスのリストが含まれています。値が
NULL
の場合、列は現在のグループ名(およびパス、ただしこれが分散サーバーの場合)"*"
で更新され、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
OUTGOING_ROUTING_TS
の1列しかありません。レコードが複数のポンプをパス・スルーしてからReplicatによって適用される場合、各ポンプではOUTGOING_ROUTING_TS
列を上書きして、計算するポンプ遅延を1つのポンプに限定せずに、PUMP_PATH
で指定されたすべてのポンプの遅延を参照するようにします。 -
その他の考慮事項:
ハートビートがシステムを流れる際の遅延の計算は、ソース・システムとターゲット・システムのクロックが正確に設定されているかどうかに依存します。ターゲット・システムがソース・システムよりも進んでいると、遅延が負の値になる可能性があります。クロックの差異に気付いて修正する措置を取れるよう、遅延は負の数値として表示されます。
システムを流れるタイムスタンプはUTCで設定されています。タイムスタンプにはタイムゾーンが関連付けられていないので、各コンポーネントが異なるタイムゾーンに設定されている場合でも、ハートビート表を表示するときは、すぐに遅延を表示できます。基礎となる表を基に必要なビューを書き込むことができます。UTCが推奨されます。
すべてのハートビート・エントリはUTF-8で証跡に書き込まれます。
送信パスと受信パスを組み合せて一意に行が特定されます。つまり、送信パスが同じで受信パスが異なる2つの行がある場合、2つの一意のエントリとみなされます。
ハートビート表の詳細
GG_HEARTBEAT
表には、エンドツーエンド・レプリケーション時間のタイムスタンプ情報と、異なるコンポーネントのプライマリとセカンダリのExtractおよびReplicatのタイミング情報が表示されます。
片方向環境では、ターゲット・データベースのみにレプリケーション・ラグに関する情報が含まれます。この場合は、レコードがソース・データベースで生成され、ターゲット・データベースでクライアントに見えるようになります。
ノート:
ソース・データベースとリモート・データベースの両方が同じ名前の場合、自動ハートビート表はOUTGOING_%列にデータを移入しません。データベース名を変更するには、ユーティリティDBNEWID
を使用します。詳細は、DBNEWID
ユーティリティを参照してください。
列 | データ型 | 説明 |
---|---|---|
|
|
リモート・データベースからのレプリケーション時間が計測されるローカル・データベース。 |
CURRENT_LOCAL_TS 00:00:00 |
DATETIME | |
|
|
タイムスタンプがリモート・データベースで生成された時点。 |
|
|
タイムスタンプが生成されるリモート・データベース |
|
|
リモート・データベースでのプライマリExtract (取得)の名前 |
|
|
リモート・データベースでのセカンダリExtract (ポンプ)の名前 |
|
|
ローカル・データベースでのReplicatの名前。 |
|
|
情報がローカル・データベースの |
|
|
生成されたタイムスタンプがリモート・データベースのプライマリExtractで処理されるときのタイムスタンプ。 |
|
|
生成されたタイムスタンプがリモート・データベースのセカンダリExtractで処理されるときのタイムスタンプ。 |
|
|
生成されたタイムスタンプがローカル・データベースのReplicatで処理されるときのタイムスタンプ。 |
|
|
双方向/N方向レプリケーション: ローカル・データベースのプライマリExtractの名前。 |
|
|
双方向/N方向レプリケーション: ローカル・データベースのセカンダリExtractの名前。 |
|
|
双方向/N方向レプリケーション: リモート・データベースのReplicatの名前。 |
|
|
双方向/N方向レプリケーション: 情報がリモート・データベースの表に挿入されるときの最終タイムスタンプ。 |
|
|
双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのプライマリExtractで処理されるときのタイムスタンプ。 |
|
|
双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのセカンダリExtractで処理されるときのタイムスタンプ。 |
|
|
双方向/N方向レプリケーション: 生成されたタイムスタンプがリモート・データベースのReplicatで処理されるときのタイムスタンプ。 |
|
|
|
|
|
|
|
|
|
|
|
GG_HEARTBEAT_HISTORY
表には、エンドツーエンド・レプリケーション時間のタイムスタンプ履歴情報と、異なるコンポーネントのプライマリとセカンダリのExtractおよびReplicatのタイミング情報が表示されます。
片方向環境では、宛先データベースのみにレプリケーション・ラグに関する情報が含まれます。
タイムスタンプはUTCタイムゾーンで管理されます。この場合は、レコードがソース・データベースで生成され、ターゲット・データベースでクライアントに見えるようになります。
列 | データ型 | 説明 |
---|---|---|
|
|
エンドツーエンド・ラグが計測されるローカル・データベース。 |
|
|
リモート・データベースのタイムスタンプがローカル・データベースで受け取られた時点。 |
|
|
タイムスタンプが生成されるリモート・データベース。 |
|
|
リモート・データベースのプライマリExtractの名前。 |
|
|
リモート・データベースのセカンダリExtractの名前。 |
|
|
ローカル・データベースでのReplicatの名前。 |
|
|
情報がローカル・データベースの |
|
|
生成されたタイムスタンプがリモート・データベースのプライマリExtractで処理されるときのタイムスタンプ。 |
|
|
生成されたタイムスタンプがリモート・データベースのセカンダリExtractで処理されるときのタイムスタンプ。 |
|
|
生成されたタイムスタンプがローカル・データベースのReplicatで処理されるときのタイムスタンプ。 |
|
|
双方向/N方向レプリケーション: ローカル・データベースのプライマリExtractの名前。 |
|
|
双方向/N方向レプリケーション: ローカル・データベースのセカンダリExtractの名前。 |
|
|
双方向/N方向レプリケーション: リモート・データベースのReplicatの名前。 |
|
|
双方向/N方向レプリケーション: 情報がリモート・データベースの表に永続的に挿入されたときの最終タイムスタンプ。 |
|
|
双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのプライマリExtractで処理されるときのタイムスタンプ。 |
|
|
双方向/N方向レプリケーション: 生成されたタイムスタンプがローカル・データベースのセカンダリExtractで処理されるときのタイムスタンプ。 |
|
|
双方向/N方向レプリケーション: 生成されたタイムスタンプがリモート・データベースのReplicatで処理されるときのタイムスタンプ。 |
|
|
この列は、このハートビート・レコードを処理するときにReplicatによって移入されます。このレコードを処理する際に、現在の低水位標(LWM)がこの列に移入されます。これにより、ReplicatのLWM以降のハートビート・レコードからLOGBSNを選択できます。 |
|
|
この列は、Extractによって移入され、ソース・データベースのハートビート・トランザクションのソース・コミットSCNが含まれています。ソース・データベースのハートビート・ジョブは、コミットSCNを先験的に知らないため、この値を移入できません。 |
|
|
この列は、Extractによって移入され、Extractがこの特定のハートビート・レコードを処理するときの現在のLOGBSNが含まれています。ソース・データベースのハートビート・ジョブはこの値を移入しません。 |
|
|
この列は、Extractによって移入され、Extractがこの特定のハートビート・レコードを処理するときの現在のLOGBSNに対応するUTCのREDOタイムスタンプが含まれています。ソース・データベースのハートビート・ジョブはこの値を移入しません。 |
GG_LAG
ビューには、ローカル・データベースとリモート・データベースのレプリケーション・ラグに関する情報が表示されます。
片方向環境では、宛先データベースのみにレプリケーション・ラグに関する情報が含まれます。ラグは秒単位で計測されます。
列 | データ型 | 説明 |
---|---|---|
|
|
リモート・データベースからのエンドツーエンド・レプリケーション・ラグが計測されるローカル・データベース。 |
|
|
ローカル・データベースの現在のタイムスタンプ。 |
|
|
タイムスタンプが生成されるリモート・データベース。 |
|
|
リモート・データベースから受信した最新のハートビートの経過時間。 |
|
|
リモート・データベースからExtractおよびReplicatコンポーネントを含むローカル・データベースへのレプリケーション・パス。 |
|
|
リモート・データベースからローカル・データベースへのレプリケーション・ラグ。この時間は、リモート・データベースでハートビートが生成された時刻から、ローカル・データベースの表に情報が永続的に挿入された時刻を引いたものです。 |
|
|
ローカル・データベースからリモート・データベースへの最新のハートビートの経過時間。 |
|
|
ローカル・データベースからExtractおよびReplicatコンポーネントを含むリモート・データベースへのレプリケーション・パス。 |
|
|
ローカル・データベースからリモート・データベースへのレプリケーション・ラグ。この時間は、ローカル・データベースでハートビートが生成された時刻から、リモート・データベースの表に情報が永続的に挿入された時刻を引いたものです。 |
|
|
ソースExtractの再開位置。 |
|
|
リモート・データベースの一意の名前が表示されます。一意の名前が存在しない場合は、DB_NAME値が表示されます。 |
|
Timestamp |
ソースExtractのREDOの位置に関連付けられたタイムスタンプ。 |
|
Timestamp |
Extractが現在処理しているソース・データベースで最も古いオープン・トランザクションの経過時間。この列は、 |
|
String |
ハートビートを処理したときのローカルReplicatの低水位標CSN。 |
GG_LAG_HISTORY
ビューには、ローカル・データベースとリモート・データベースのレプリケーション・ラグ履歴に関する履歴情報が表示されます。
片方向環境では、宛先データベースのみにレプリケーション・ラグに関する情報が含まれます。
ラグは秒単位です。
列 | データ型 | 説明 |
---|---|---|
|
|
リモート・データベースからのエンドツーエンド・レプリケーション・ラグが計測されるローカル・データベース。 |
|
|
リモート・データベースのタイムスタンプがローカル・データベースで受け取られた時点。 |
|
|
タイムスタンプが生成されるリモート・データベース。 |
|
文字列 | リモート・データベース名。 |
DB_UNIQUE_NAME |
文字列 | リモート・データベースの一意の名前。データベースの一意の名前が存在しない場合、DB_NAME とDB_UNIQUE_NAME は同じになります。
スタンバイへのスイッチオーバーのシナリオでは、 |
|
|
ハートビート表の経過期間。 |
|
|
リモート・データベースからExtractおよびReplicatコンポーネントを含むローカル・データベースへのレプリケーション・パス。 |
|
|
リモート・データベースからローカル・データベースへのレプリケーション・ラグ。この時間は、リモート・データベースでハートビートが生成された時刻から、ローカル・データベースの表に情報が永続的に挿入された時刻を引いたものです。 |
|
|
|
|
|
ローカル・データベースからExtractおよびReplicatコンポーネントを含むリモート・データベースへのレプリケーション・パス。 |
|
|
ローカル・データベースからリモート・データベースへのレプリケーション・ラグ。この時間は、ローカル・データベースでハートビートが生成された時刻から、リモート・データベースの表に情報が永続的に挿入された時刻を引いたものです。 |
|
|
ソースExtractの再開位置。 |
|
|
ソースExtractのREDOの位置に関連付けられたタイムスタンプ。 |
|
|
Extractが現在処理しているソース・データベースで最も古いオープン・トランザクションの経過時間。この列は、 |
|
|
ハートビートを処理したときのローカルReplicatの低水位標CSN。 |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
親トピック: 自動ハートビート表を使用した監視
15.4.2 ハートビート表の更新
ハートビート・シード表のHEARTBEAT_TIMESTAMP
列は、データベース・ジョブで定期的に更新する必要があります。デフォルトのハートビート間隔は1分で、この間隔はコマンドラインまたは管理サービスWebインタフェースから指定または上書きできます。
Oracle Databaseの場合、データベース・ジョブは自動的に作成されます。サポートされているその他のすべてのデータベースの場合、データベース固有のスケジューラ機能を使用してハートビート・タイムスタンプを更新するバックグラウンド・ジョブを作成する必要があります。
ハートビート表の更新の詳細は、ADD HEARTBEATTABLE
、ALTER HEARTBEATTABLE
を参照してください。
親トピック: 自動ハートビート表を使用した監視
15.4.3 ハートビート履歴表のパージ
ハートビート履歴表はジョブを使用して定期的にパージされます。デフォルトの間隔は30日で、この間隔は管理クライアント、GGSCIまたは管理サービスWebインタフェースなどのコマンドライン・インタフェースを使用して指定または上書きできます。
Oracle Databaseの場合、データベース・ジョブは自動的に作成されます。サポートされているその他のすべてのデータベースの場合、データベース固有のスケジューラ機能を使用してハートビート・履歴表をパージするバックグラウンド・ジョブを作成する必要があります。
親トピック: 自動ハートビート表を使用した監視
15.4.4 ベスト・プラクティス
次のことをお薦めします。
-
すべてのデータベースで同じハートビート頻度を使用して診断を容易にします。
-
容量に問題がある場合は保存時間を調整します。
-
デフォルトのハートビート表の頻度を保持します。頻度を30から60秒に設定すると、ほとんどのワークロードで最適な結果をもたらします。
-
遅延履歴統計を使用して遅延および期間の情報を収集します。
親トピック: 自動ハートビート表を使用した監視
15.4.5 自動ハートビート・コマンドの使用方法
ハートビート表コマンドを使用して、次のようにOracle GoldenGateの自動ハートビート機能を制御できます。
コマンド | 説明 |
---|---|
|
自動ハートビート機能に必要なハートビート表( |
|
既存のハートビート・オブジェクトを変更します。 |
|
ハートビート表を変更して、ハートビート表に |
|
既存のハートビート・オブジェクトを削除します。 |
|
ハートビート表内のエントリを削除します。 |
|
ハートビート表情報を表示します。 |
詳細は、Oracle GoldenGate Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
親トピック: 自動ハートビート表を使用した監視
15.5 処理量の監視
GGSCIでSTATS
コマンドを使用すると、Oracle GoldenGateプロセスによって処理されているデータ量と、そのデータ量がOracle GoldenGateシステムを通じて移動されている速度を表示できます。この情報によって、潜在的な問題を診断し、Oracle GoldenGateプロセスのパフォーマンスをチューニングできます。それらのコマンドには、出力の選択やフィルタリングに使用できる様々なオプションがあります。
STATS
コマンドには、STATS EXTRACT
、STATS REPLICAT
、STATS ER
の各コマンドがあります。
SEND EXTRACT
またはSEND REPLICAT
コマンドにREPORT
オプションを指定することで、いつでもレポート・ファイルに仮統計を送信できます。
親トピック: Oracle GoldenGate処理の監視
15.6 エラー・ログの使用
Oracle GoldenGateのエラー・ログを使用して、次の情報を表示できます。
-
GGSCIコマンドの履歴
-
起動および停止したOracle GoldenGateプロセス
-
実行された処理
-
発生したエラー
-
情報メッセージおよび警告メッセージ
エラー・ログにはイベントが発生順に記録されているため、エラーの(1つ以上の)原因を検出する場合に役立ちます。たとえば、次の情報を検索できます。
-
ユーザーがプロセスを停止したこと
-
プロセスがTCP/IPまたはデータベース接続の確立に失敗したこと
-
プロセスがファイルを開くことに失敗したこと
エラー・ログを表示するには、次のいずれかの方法を使用します。
-
標準のシェル・コマンドによるOracle GoldenGateのルート・ディレクトリに含まれる
ggserr.log
ファイルの表示 -
Oracle GoldenGate DirectorまたはOracle GoldenGate Monitor
-
GGSCIの
VIEW GGSEVT
コマンド。
ggserr.log
ファイルの動作を次のように制御できます。
-
ファイルが最大サイズに達するとロールオーバーします。これはディスク領域の問題を回避するためのデフォルトです。
-
ディスク領域を考慮せず、すべてのプロセスによってすべてのメッセージがファイルに付加されます。
-
ファイルを無効にします。
-
メッセージをシステム・ログなど別の宛先にルーティングします。
このような動作は、次のいずれかの場所にあるogg-ggserr.xml
ファイルに指定されて制御されます。
親トピック: Oracle GoldenGate処理の監視
15.7 プロセス・レポートの使用
プロセス・レポートを使用して、(プロセスに応じて)次の情報を表示できます。
-
使用中のパラメータ
-
表および列マッピング
-
データベース情報
-
実行時メッセージおよびエラー
-
処理された操作の数に関する実行時統計
Extract、ReplicatおよびManagerのすべてのプロセスで、レポート・ファイルが生成されます。このレポートは、実行中に発生した問題(無効なマッピング構文、SQLエラー、接続エラーなど)を診断する場合に役立ちます。
プロセス・レポートを表示するには、次のいずれかの方法を使用します。
-
標準のシェル・コマンドによるテキスト・ファイルの表示
-
Oracle GoldenGate Monitor
-
GGSCIの
VIEW REPORT
コマンド。 -
プロセスがレポートを生成せずに異常終了した場合に情報を表示するには、次のコマンドを使用して、(GGSCIでなく)オペレーティング・システムのコマンド・シェルからプロセスを実行し、端末に情報を送信します。
process
paramfilepath
.prm説明:
-
process
の値は、extract
またはreplicat
です。 -
path
.prm
の値は、パラメータ・ファイルの完全修飾名です。たとえば:replicat paramfile /ogg/dirdat/repora.prm
-
デフォルトでは、レポートのファイル拡張子は.rpt
です(EXTORA.rpt
など)。デフォルトの場所は、Oracle GoldenGateディレクトリのdirrpt
サブディレクトリです。ただし、これらのプロパティは、グループを作成するときに変更できます。レポート・ファイルは、一度作成したら、処理の開始後にOracle GoldenGateを適切に動作させるため、元の場所から移動しないでください。
プロセス・レポートの名前と場所を確認するには、GGSCIでINFO EXTRACT
、INFO REPLICAT
、INFO MANAGER
のいずれかのコマンドを使用します。
親トピック: Oracle GoldenGate処理の監視
15.7.1 プロセス・レポートの実行時統計のスケジュール
デフォルトでは、実行時統計は、各実行の終了時に1回のみレポートに書き込まれます。長時間の実行や継続的な実行では、オプション・パラメータを使用することで、各実行の終了を待機せずにこれらの統計を定期的に表示できます。
実行時統計をレポートするスケジュールを設定するには、ExtractまたはReplicatのパラメータ・ファイルでREPORT
パラメータを使用して、レポートで実行時統計を生成する日時を指定します。REPORT
を参照してください。
レポートにオン・デマンドで実行時統計を送信するには、必要に応じてその時点の実行時統計を表示するREPORT
オプションを付けてSEND EXTRACT
またはSEND REPLICAT
コマンドを実行します。
親トピック: プロセス・レポートの使用
15.7.2 プロセス・レポートのレコード数の表示
REPORTCOUNT
パラメータでは、ExtractまたはReplicatが起動以降に処理したトランザクション・レコード数をレポートします。各トランザクション・レコードは、Oracle GoldenGateによって取得されたトランザクション内で実行された論理データベース操作を表します。レコード数は、レポート・ファイルおよび画面に出力されます。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
親トピック: プロセス・レポートの使用
15.7.3 ReplicatレポートがSQLエラーで一杯になることを防止する方法
WARNRATE
パラメータでは、プロセス・レポートまたはエラー・ログにレポートされるまでの、ターゲット表で許容されるSQLエラー数のしきい値を設定します。エラーは警告としてレポートされます。お使いの環境で、多数のエラーを許容できるときは、WARNRATE
の値を増やすことによってこれらのファイルのサイズを最小限に抑えられます。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
親トピック: プロセス・レポートの使用
15.8 破棄ファイルの使用
デフォルトでは、プロセスがGGSCIのSTART
コマンドによって開始されると常に破棄ファイルが生成されます。破棄ファイルは、失敗したOracle GoldenGate操作に関する情報を取得します。この情報は、データ・エラー(無効な列マッピングに関連するエラーなど)を解決する場合に役立ちます。
破棄ファイルでは、次のような情報がレポートされます。
-
データベースのエラー・メッセージ
-
データソースまたは証跡ファイルの順序番号
-
データソースまたは証跡ファイルのレコードの相対バイト・アドレス
-
破棄された操作の詳細(DML文の列値やDDL文のテキストなど)
破棄ファイルを表示するには、テキスト・エディタを使用するか、GGSCIでVIEW REPORT
コマンドを使用します。『Oracle GoldenGateリファレンス』を参照してください。
デフォルトの破棄ファイルには、次のプロパティがあります。
-
ファイル名は、ファイルを作成したプロセスの名前に、デフォルトの拡張子
.dsc
を付けたものです。例:finance.dsc
。 -
ファイルは、Oracle GoldenGateインストール・ディレクトリの
dirrpt
サブディレクトリに作成されます。 -
ファイルの最大サイズは50MBです。
-
起動時に破棄ファイルが存在する場合、消去してから新しいデータが書き込まれます。
これらのプロパティを変更するには、DISCARDFILE
パラメータを使用します。NODISCARDFILE
パラメータを使用すると、破棄ファイルの使用を無効にできます。『Oracle GoldenGateリファレンス』を参照してください。
オペレーティング・システムのコマンドラインを使用してプロセスを開始した場合、デフォルトでは破棄ファイルは生成されません。DISCARDFILE
パラメータを使用して、破棄ファイルを使用するかどうかと、そのプロパティを指定できます。
破棄ファイルは、一度作成したら、処理の開始後にOracle GoldenGateを適切に動作させるため、元の場所から移動しないでください。
親トピック: Oracle GoldenGate処理の監視
15.9 破棄ファイルとレポート・ファイルの維持
デフォルトでは、破棄ファイルとレポート・ファイルは同じ方法でエージングされます。新しい破棄ファイルまたはレポート・ファイルは、新しいプロセス実行の開始時に作成されます。古いファイルは、名前に0(最新)から9(最も古い)までの順序番号を付加してエージングされます。
アクティブなレポートまたは破棄ファイルが、ある実行の終了前に(または、連続実行の最中に)最大ファイル・サイズに到達した場合、有効なエージング・スケジュールがなければ、そのプロセスは異常終了します。破棄ファイルやレポート・ファイルのエージング・スケジュールを設定するには、それぞれ、DISCARDROLLOVER
パラメータおよびREPORTROLLOVER
パラメータを使用します。これらのパラメータにより、プロセスの開始時に加え、定期的にファイルをロールオーバーするように指定されます。これは、ファイルのサイズを制御し、プロセスの停止を防止するだけでなく、アーカイブ・ルーチンに含めることができるアーカイブのセットが予測可能になります。詳細は、次のドキュメントを参照してください。
プロセスは、最大10個のエージングされたレポートまたは破棄ファイルと1個のアクティブなレポートまたは破棄ファイルを保持できます。10個目のファイルがエージングされると、新規レポートの作成時に最も古いレポートが削除されます。サービス・リクエストの解決に必要とされる場合に備えて、エージングされたレポート・ファイルおよび破棄ファイルのアーカイブ・スケジュールを設定することをお薦めします。
表15-2 ExtractおよびManagerの現行レポートとエージングされたレポート
権限 | X | 日付 | レポート |
---|---|---|---|
-rw-rw-rw- |
1 ggs ggs |
1193 Oct 11 14:59 |
MGR.rpt |
-rw-rw-rw- |
1 ggs ggs |
3996 Oct 5 14:02 |
MGR0.rpt |
-rw-rw-rw- |
1 ggs ggs |
4384 Oct 5 14:02 |
TCUST.rpt |
-rw-rw-rw- |
1 ggs ggs |
1011 Sep 27 14:10 |
TCUST0.rpt |
-rw-rw-rw- |
1 ggs ggs |
3184 Sep 27 14:10 |
TCUST1.rpt |
-rw-rw-rw- |
1 ggs ggs |
2655 Sep 27 14:06 |
TCUST2.rpt |
-rw-rw-rw- |
1 ggs ggs |
2655 Sep 27 14:04 |
TCUST3.rpt |
-rw-rw-rw- |
1 ggs ggs |
2744 Sep 27 13:56 |
TCUST4.rpt |
-rw-rw-rw- |
1 ggs ggs |
3571 Aug 29 14:27 |
TCUST5.rpt |
親トピック: Oracle GoldenGate処理の監視
15.10 時間の差異の調整
ソース・システムとターゲット・システム間の時間の差異に対応するには、Extractパラメータ・ファイルでTCPSOURCETIMER
パラメータを使用します。このパラメータにより、レプリケートされたレコードのタイムスタンプがレポート目的で調整されるため、同期ラグの解析が容易になります。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
親トピック: Oracle GoldenGate処理の監視
15.11 パフォーマンス・チューニングに関するヘルプ情報の取得
Oracle GoldenGateのパフォーマンスをチューニングする方法の詳細は、Oracle GoldenGateのパフォーマンスのチューニングを参照してください。
親トピック: Oracle GoldenGate処理の監視