この章では、エラーを検出し、レプリケーションプロセスを監視するためのSharePlexのツールの概要を説明します。他のミッションクリティカルなソフトウェアと同様に、特にデータ同期が失われるような、処理を妨げる可能性のある状況やイベントがないか、SharePlexを定期的に監視する必要があります。
これらの説明では、レプリケーションを直ちにシャットダウンしなければならない場合に SharePlexプロセスを強制的に終了する方法を示します。
UnixまたはLinuxシステムでは、ps -ef | grep sp_コマンドを使用して実行中のSharePlexプロセスを表示できます。
以下の子プロセスは、ソースシステム上でsp_copによって生成されます。
以下の子プロセスは、ターゲットシステム上でsp_copによって生成されます。
CommandおよびControlプロセス(sp_cnc)
各子プロセスの-uidentifierは親プロセスsp_copと同一です。これにより、sp_copの複数のセッションが実行されている場合に、関連するプロセスの識別が容易になります。
UnixとLinuxでSharePlexプロセスを終了するには:
$ killPID
または...
$ kill -9PID
SharePlexでは、以下の方法でエラーやその他の異常状態を報告します。
SharePlexは、操作上のエラー、通知、警告状態をイベントログに報告します。このログには、レプリケーションアクティビティ、エラー、およびイベントの永続的なステップごとの記録が含まれます。イベントログは、問題が発生するまでの一連の流れを再現するのに役立ちます。
レプリケーションイベントの例には以下のようなものがあります。
sp_ctrlにおけるコマンドの実行。ユーザ発行コマンドは、SharePlexコマンドが発行されるたびに記録されます。
注意: ユーザ発行コマンドは、以下の例のようにイベントログに通知として表示されます。
Notice 08-07-02 16:13:24.641582 23696 1 User command: rjones activate config 1route (from mycomp14) |
ユーザのログインまたはログアウト
イベントログの各エントリには以下の内容が含まれます。
イベントログを表示するには:
sp_ctrlのshow logコマンドを使うか、SharePlexの変数データディレクトリのlogサブディレクトリにあるevent_logという名前のファイルを開きます。
SharePlexには、このログを無人で監視するためのスクリプトがあります。詳細については、sp_eventmonによるイベントの監視を参照してください。
注意: ターゲットテーブルの非同期の状態が著しいときに、Postがログに記録する非同期メッセージの数を制御するには、SP_OPO_SYNC_LOG_FREQUENCYパラメーターを使用します。詳細については、『SharePlexリファレンスガイド』を参照してください。
ステータスデータベースには、sp_ctrlユーザインターフェイスでエラーメッセージや警告を生成しなかったイベントなど、イベントログで報告された状態のサマリーが含まれます。この情報は潜在的な問題を警告し、既存の問題を解決するのに役立ちます。ステータスデータベースは、警告、通知、またはイベントの詳細情報を得るために、イベントログを参照することができます。
ステータスデータベースを表示するには:
sp_ctrlのshow statusdbコマンドを使用するか、SharePlexの変数データディレクトリのdataサブディレクトリにあるファイルを開きます。
Postプロセスは、ソーステーブルとターゲットテーブルが同期していないことを検出すると、同期していないトランザクションの最初の100個のSQLステートメントとデータをターゲットシステム上のエラーファイルに記録します。このログを使用して非同期状態の程度を判断し、最初に問題の原因を修正した後、状態がそれほど深刻でなければ、SQLステートメントを使用してターゲットテーブルを修復することができます。
エラーログを表示するには:
SharePlexの変数データディレクトリのlogサブディレクトリにあるID_errlog.sqlファイルを開きます(ここでIDは、ターゲットデータベースなどSharePlexのターゲットの識別子)。
SharePlexのプロセスがレコードを処理できない場合、プロセスはそのレコードをイベントログに記録するだけでなく、そのプロセスログファイルにも記録します。プロセスログは、主にデバッグに使用されます。
プロセスログの名前は、データソース識別子(ORACLE_SIDなど)、プロセスの短い名前(ocap、ord、opo、rclなど)、ファイル番号、ファイルの拡張子(.log)で構成されます。
例:
Capture: ora10_ocap02.log
Read: ora10_ord01.log
Post: ora10_opo03.log
Reconcile: ora10_rcl01.log
古いログファイルのエージングは循環パターンで実行されます。番号は01から始まり、03で終わります。現在のログを含め、常に最大3つのログが存在することができます。3つのすべてのログがいっぱいになると(50 MB)、最も古いものから順に上書きされます。
プロセスログを表示するには
SharePlexの変数データディレクトリのlogサブディレクトリにあるファイルを開きます。
設定をアクティベーションすると、ログが生成されます。
アクティベーションログを表示するには
SharePlexの変数データディレクトリのlogサブディレクトリにあるSID_oconf##.logという名前のファイルを開きます。
compareおよびrepairコマンドは、エラー、メッセージ、警告をログに記録します。これらのログの詳細については、『SharePlex リファレンスガイド』のcompareコマンドを参照してください。
sp_ctrlの情報コマンドは、レプリケーションのさまざまな側面を監視するのに役立ちます。これらのコマンドは、以下の目的で頻繁に発行します。
コマンド | 認証レベル | 説明 |
---|---|---|
append status |
3 | append usingおよびappendコマンドのステータスと結果を表示します。 |
copy status |
3 | copy usingおよびcopyコマンドのステータスと結果を表示します。 |
compare status |
3 | compare usingおよびcompareコマンドのステータスと結果を表示します。 |
lstatus |
3 | SharePlexのレプリケーションの状態に関する詳細情報を表示します。 |
job status |
3 | append、compare、copy、およびrepairコマンドの現在のステータスと履歴を表示します。 |
orainfo |
3 | Oracleデータベースの情報を表示します。 |
qstatus |
3 | capture、export、およびpostキューの状態を表示します。 |
repair status |
2 | repairおよびrepair usingコマンドのステータスと結果を表示します。 |
report |
3 | テーブルのappend、compare、copy、およびrepairの履歴を表示します。 |
show |
3 | システム上の各レプリケーションプロセスで処理されているデータのソースとターゲットを表示し、各プロセスのステータスを表示します。 |
show capture |
3 | チューニングや問題解決に使用するために、Captureプロセスの簡単な、または詳細な統計情報を表示します。 |
show config |
3 | アクティブな設定のプロパティを表示します。 |
show export |
3 | ターゲットシステムに送信されたメッセージの数を表示します。 |
show import |
3 | ソースシステムから受信したメッセージの数を表示します。 |
show log |
3 | イベントログ、コマンドログ、確認ログ、追跡ログ、またはプロセスログを表示します。 |
show post |
3 | チューニングや問題解決に使用するために、Postプロセスの簡単な、または詳細な統計情報を表示します。 |
show read |
3 | チューニングや問題解決に使用するために、Readプロセスの簡単な、または詳細な統計情報を表示します。 |
show sql |
3 | Postプロセスで処理された現在または最後のSQLステートメントを表示します。 |
show statusdb |
3 | 重要なレプリケーションイベントの記録を含むステータスデータベースを表示します。 |
show sync |
3 | 非同期状態に関する情報を表示します。 |
status |
3 | SharePlexのレプリケーションの状態の概要を表示します。 |
これらのコマンドの詳細については『SharePlexリファレンスガイド』を参照してください。
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center