SharePlex監視スクリプトは、UnixまたはLinuxシステム上のレプリケーションに悪影響を及ぼす可能性のあるイベントや状況を通知します。これらのスクリプトは、sp_ctrlによる頻繁なステータスチェックを必要としない監視メカニズムとなります。これらは単独で実行することも、スケジュールされたジョブを通じて実行することもできます。
SharePlexには以下のスクリプトがあります。
重要!
|
すべての監視スクリプトは、それらがインストールされたディレクトリに残っている必要があります。sp_ps以外はすべて、SharePlexのインストールディレクトリの.app-modulesディレクトリにあります。sp_psスクリプトは、インストールディレクトリのutilディレクトリにあります。
監視スクリプトを使用するには、sp_copを-uname nameオプションを指定して起動します。nameには任意の識別子を指定できます。以下のように提案します。
SharePlex管理者名
監視対象の各OracleインスタンスのORACLE_HOME(ORACLE_HOMEディレクトリへのパス)を確認します(Oracleソースの場合のみ)。
監視ユーティリティのユーザには以下の権限が必要です。
sp_logmon監視スクリプトを使用すると、データを再同期しなければならない状況を効果的に防ぐことができます。これはCaptureでの読み取りが完了する前にOracleのREDOログがラップされるためです。Oracleが現在書き込んでいるREDOロググループを監視し、SharePlexがどのログを読み込んでいるかを判断します。
Captureが指定されたログ数だけペースを失った場合、sp_logmonオプションが有効になっていれば、logmon.logファイルとEメールメッセージに警告が生成されます。これにより遅延の原因を修正し、必要に応じてアーカイブログを復元する時間が得られます。
スクリプトを実行する前に以下のタスクを実行します。
このスクリプトを使用する前に、「監視スクリプトを使用するための要件ページを参照してください。
注意: このスクリプトはkshシェルで実行する必要があります。
Eメール通知機能を使用するには、スクリプトを実行する前に、スクリプトでEメールアドレスを定義します。
MailUserName=変数の後に任意の数のアドレス文字列を追加します。Eメールまたはポケットベルの完全なアドレスを使用してください。次の例のように複数のエントリをコンマで区切ります。
MailUserName=scott@company.com,12345678910@pageservice.com
重要!スクリプトを修正する人がSharePlex以外のユーザの場合、以下のOracle権限を持っている必要があります。
|
app-modulesからではなく、SharePlexの製品ディレクトリのutilディレクトリからスクリプトを実行します。utilディレクトリから実行すると、スクリプト自体を実行する前に、まず正しい環境をセットアップするユーティリティを実行するソフトリンクが作成されます。
構文:
nohup sp_logmon -p port -t interval -l integer [-m ] [/dev/null] &
表6: 必要な引数
引数 | 説明 |
---|---|
nohup sp_logmon | ユーザがログアウトした後もバックグラウンドで実行を継続するようにスクリプトに指示します。これにより継続的な監視が確実に実行されます。sp_logmonコンポーネントがスクリプトを実行します。 |
-p port | 監視対象のsp_copのインスタンスのポート番号を設定します。それぞれにsp_logmonを実行し、この引数に異なる値を指定することで、SharePlexの異なるインスタンスを監視することができます。 |
-t interval | スキャン間隔を秒単位で設定します。値は任意の正の整数です。 |
-l integer | Oracleが書き込む場所とCaptureが読み込む場所の間のREDOログの最大許容数を設定します。この値は、sp_logmonによって生成される警告をトリガします。有効な値は、1からグループ内のREDOログの数までの正の整数です。 |
& | バックグラウンドでスクリプトを実行します。 |
表7: オプションの引数
引数 | 説明 |
---|---|
/dev/null | 通知出力をローカルシステム上の/dev/nullデバイスにリダイレクトし、監視プロセスがバックグラウンドで続行されて、出力が生成されるようにします。出力を画面に表示するには、この引数を省略します。 |
-m | e-mail/pagingオプションを有効にします。このパラメーターがないと、sp_logmonはエラーを単にログファイルに記録します。 |
sp_eventmon監視スクリプトは、SharePlexのイベントログ(event_log)を設定された間隔で監視し、主要なレプリケーションイベントに関連するエントリを探します。スキャンの間隔と、スクリプトで検出するエラーメッセージを定義できます。各スキャンは、システムへの影響を最小限に抑え、警告の重複を防ぐために、前回のスキャンが停止した場所から開始されます。
sp_eventmonスクリプトは、イベントログの各スキャンの後に以下のアクションを実行します。
注意: username.mrkファイルは、警告メッセージがログとEメールまたはポケットベルに重複して送信されるのを防ぎます。このファイルがないと、スクリプトは、起動するたびにイベントログを最初からスキャンし始めます。直前に生成された警告が再度送信されます。 |
スクリプトを実行する前に以下のタスクを実行します。
このスクリプトを使用する前に、「監視スクリプトを使用するための要件ページを参照してください。
注意: このスクリプトはkshシェルで実行する必要があります。
sp_eventmonスクリプトは、SharePlexの製品ディレクトリのutilサブディレクトリにあるerror_listファイルにリストされたイベントをスキャンします。サポートされているエラーの詳細については、そのファイルをご覧ください。任意のASCIIテキストエディタで編集することにより、error_listファイルにカスタムエラー文字列を追加することができます。ファイルを開き、各エラー文字列を個別の行に配置します。
スクリプトのIW_HOME変数は、各マシンで正しい値に設定する必要があります。この変数は、監視スクリプトとiwgrepが存在するディレクトリを指す必要があります。
パスが正しくない場合は、以下のようにします。
以下の例のようにパスを設定します。
IW_HOME=/export/home/splex/monscripts
Eメール通知機能を使用するには、スクリプトを実行する前に、スクリプトでEメールアドレスを定義します。
MailUserName=変数の後に任意の数のアドレス文字列を追加します。Eメールまたはポケットベルの完全なアドレスを使用してください。次の例のように複数のエントリをコンマで区切ります。
MailUserName=scott@company.com,12345678910@pageservice.com
注意:
|
sp_eventmonを実行するには
app-modulesからではなく、SharePlexの製品ディレクトリのutilディレクトリからスクリプトを実行します。utilディレクトリから実行すると、スクリプト自体を実行する前に、まず正しい環境をセットアップするユーティリティを実行するソフトリンクが作成されます。
構文:
nohup sp_eventmon -s 'sp_copname' -t interval -p path [-n name ] [-m] /dev/null &
表8: 必要な引数
コンポーネント | 説明 |
---|---|
nohup sp_eventmon |
ユーザがログアウトした後もバックグラウンドで実行を継続するようにスクリプトに指示します。これにより継続的な監視が確実に実行されます。sp_eventmonコンポーネントがスクリプトを実行します。 |
-s 'sp_copname' |
sp_copが-uオプションで起動されたときに使用したsp_copの名前を設定します。sp_copの名前は一重引用符で囲む必要があります。このパラメーターを複数回使用して、システム上の複数のsp_copインスタンスを監視することができます。このパラメーターがないとsp_eventmonは起動しません。 |
& |
バックグラウンドでスクリプトを実行します。 |
-t interval |
スキャン間隔を秒単位で設定します。値は任意の正の整数です。 |
表9: オプショナルコンポーネント
コンポーネント | 説明 |
---|---|
-p path | SharePlex変数データディレクトリへのパスを設定します。この変数がない場合、sp_eventmonはデフォルトのパスを想定します。 |
/dev/null | 通知出力をローカルシステム上の/dev/nullデバイスにリダイレクトし、監視プロセスがバックグラウンドで続行されて、出力が生成されるようにします。出力を画面に表示するには、この引数を省略します。 |
-n name | イベントログの名前がデフォルトの「event_log」以外の場合、その名前を設定します。 |
-m | e-mail/pagingオプションを有効にします。このオプションを指定しないと、sp_eventmonはエラーを単にログファイルに記録します。 |
sp_ps監視ユーティリティは、指定されたsp_copインスタンスに関連する、子プロセスを含むすべてのSharePlexプロセスを監視します。一定間隔でプロセスをスキャンし、異常な状態を1つまたは複数のログファイルに報告します。1つまたは複数のシステムにインストールされた複数のSharePlexを監視することができ、単方向および双方向(ピアツーピア)設定をサポートします。
スクリプトを実行する前に以下のタスクを実行します。
このスクリプトを使用する前に、「監視スクリプトを使用するための要件ページを参照してください。
注意: このスクリプトはkshシェルで実行する必要があります。
スキャン間隔は、sp_psプログラムがチェックの間に待つ時間を指定します。デフォルトは2,000秒です。別のスキャン間隔を指定するには、以下の手順に従ってください。
interval=パラメーターを必要なスキャン間隔に設定します。例えば、以下のように任意の正の整数を使用します。
interval=1500
Eメール通知機能を使用するには、スクリプトを実行する前に、スクリプトでEメールアドレスを定義します。
MailUserName=変数の後に任意の数のアドレス文字列を追加します。Eメールまたはポケットベルの完全なアドレスを使用してください。次の例のように複数のエントリをコンマで区切ります。
MailUserName=scott@company.com,12345678910@pageservice.com
注意: sp_psでは、e-mail/pagingオプションがデフォルトで有効になっていますが、変更されていないことを確認してください。スクリプトでは、MAILOPTION=TRUEはEメール通知を有効にし、MAILOPTION=FALSEは無効にします。
SharePlexの製品ディレクトリのutilディレクトリからスクリプトを実行します。
構文:
nohup sp_ps ['sp_cop -u name'] CONFIGURATION [> /dev/null] [ &]
表10: 必要な引数
引数 | 説明 |
---|---|
nohup sp_ps | ユーザがログアウトした後もバックグラウンドで実行を継続するようにスクリプトに指示します。これにより継続的な監視が確実に実行されます。sp_psコンポーネントがスクリプトを実行します。 |
'sp_cop -u name' | 複数のsp_copプロセスを複数実行している場合は、このパラメーターを使用します。これを使用して、監視する各プロセスを指定します。この引数は、-uオプションを指定してsp_copを起動したときに使用された名前と厳密に同じでなければなりません。-unameオプションがない場合、sp_psは、デフォルトのSharePlexのポート2100を使用するsp_copを監視することを想定しています。 |
CONFIGURATION |
監視しているSharePlexのインスタンスの設定のタイプを指定します。この値は大文字で入力しなければなりません。有効な値: SOURCE – 単方向レプリケーションに使用し、ソースシステムのCapture、Read、およびExportプロセスを監視します。 TARGET – 単方向レプリケーションに使用し、ターゲットシステムのImportおよびPostプロセスを監視します。 MULTI-SOURCE – ピアツーピアレプリケーションに使用します。各システムのCapture、Read、Export、Import、およびPostプロセスを監視するようにスクリプトに指示します。 注意: 同一システムのソーステーブルとターゲットテーブル間で複製する場合、ExportまたはImportプロセスはありません。 |
> /dev/null | 通知出力をローカルシステム上の/dev/nullデバイスにリダイレクトし、監視プロセスをバックグラウンドで続行して、出力を生成できるようにします。出力を画面に表示するには、この引数を省略します。 |
& | (アンパサンド)バックグラウンドでスクリプトを実行します。 |
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center