Chat now with support
Chat with Support

SharePlex 8.6.6 - 管理ガイド

このガイドについて このガイドで使用されている表記規則 SharePlex の概要 SharePlex の実行 複数の SharePlex インスタンスの実行 sp_ctrl でのコマンドの実行 SharePlex パラメータ 複製のための Oracle 環境の準備 設定ファイルの作成 オープンターゲットのターゲットへの複製の設定 複製方法の設定 分割レプリケーションの設定 名前付きキューの設定 変更履歴ターゲットを維持するための SharePlex の設定 Oracle DDL の複製 エラー処理のセットアップ データの変換 SharePlex セキュリティ機能の設定 実稼動環境での複製のアクティベート SharePlex の監視 複製上の問題の防止および解決方法 非同期データの修復 Oracle の高可用性を維持するための手順 アクティブな複製環境の変更 Oracle アプリケーションのパッチまたはアップグレードの適用 ソースまたはターゲット上の Oracle データのバックアップ Capture プロセスのチューニング Post プロセスのチューニング 付録 A:ピアトゥピアの説明図 付録 B:SharePlex 環境変数

sp_ctrl コマンドによる監視

SharePlex の監視 > sp_ctrl コマンドによる監視

sp_ctrl の情報コマンドを使用することで、複製のさまざまな側面を監視できます。次の目的のために、これらのコマンドを頻繁に発行してください。

  • 非同期状態のテーブルを監視
  • 複製プロセスが実行中であることを確認
  • キューの中の複製されたメッセージを表示
  • 警告、エラーなどの通知を表示するために Event Log を表示
  • チューニングおよび問題解決に役立つプロセス統計を表示
  • 複製プロセスの速度を低下させているテーブルまたは操作を検出
情報コマンドのリスト
コマンド 権限レベル 説明
append status 3 append using および append コマンドのステータスと結果を表示します。
copy status 3 copy using および copy コマンドのステータスと結果を表示します。
compare status 3 compare using および compare コマンドのステータスと結果を表示します。
lstatus 3 SharePlex 複製の状態について詳細情報を表示します。
job status 3 appendcomparecopy、および repair コマンドの現在のステータスと履歴を表示します。
orainfo 3 Oracle データベース情報を表示します。
qstatus 3 capture、export、post キューの状態を表示します。
repair status 2 repair および repair using コマンドのステータスと結果を表示します。
report 3 テーブルの appendcomparecopy、または repair の履歴を表示します。
show 3 システム上の各複製プロセスで処理されているデータのソースおよび destination を表示し、各プロセスの状態を表示します。
show activate 3 ソースシステム上のすべての設定のアクティベート活動の状態を表示します。
show capture 3 チューニングおよび問題解決のために使用する Capture プロセスの簡略または詳細統計を表示します。
show config 3 アクティブ設定のプロパティを表示します。
show export 3 ターゲットシステムに送信されるメッセージの数を表示します。
show import 3 ソースシステムから受信されるメッセージの数を表示します。
show log 3 Event Log、Command Log、Verify Log、Trace Log またはプロセスログを表示します。
show post 3 チューニングおよび問題解決のために使用する Post プロセスの簡略または詳細統計を表示します。
show read 3 チューニングおよび問題解決のために使用する Read プロセスの簡略または詳細統計を表示します。
show sql 3 Post プロセスが処理した現在または最後の SQL 文を表示します。
show statusdb 3 重要な複製イベントのレコードがある Status Database を表示します。
show sync 3 非同期状態に関する情報を表示します。
status 3 SharePlex 複製の状態について概要を表示します。

これらのコマンドの詳細については、『SharePlex リファレンスガイド』を参照してください。

UNIX での監視スクリプトの実行

SharePlex の監視 > Unix での監視スクリプトの実行

SharePlex 監視スクリプトは、Unix または Linux システム上での複製に悪影響を及ぼす可能性のあるイベントおよび条件を通知します。これらのスクリプトは、sp_ctrl を介したステータスチェックを頻繁に行う必要のない監視メカニズムとして機能します。これらのスクリプトは、個別に実行することも、スケジュールされたジョブを介して実行することもできます。

SharePlex には、以下のスクリプトが用意されています。

  • sp_eventmon は SharePlex Event ログを監視し、指定したエラーを専用のファイルに記録します。
  • sp_logmon は Capture が REDO ログに入ってくる変更と同調しているかを監視します。Capture が指定された数のログで遅れをとった場合、sp_logmon はログが wrap する前に警告を出し、対処措置が取れるようにします。
  • sp_ps は SharePlex プロセスを監視し、1 つ以上のプロセスが停止するとそれを通知して、ログがラップされたり、キューが使用可能なディスクスペースを超過したりする前に、問題を解決できるようにします。
  • sp_qstatmon は SharePlex のキューのステータスを監視し、定義したしきい値(制限)をバックログが超過した場合に警告を出します。これによって、キューが使用可能なディスクスペースに蓄積して複製に悪影響を及ぼす前に、対処措置を取ることができます。

重要!

  • これらのスクリプトは Unix または Linux システムでのみ動作します。
  • SharePlex でパッチやアップグレードを適用すると、監視スクリプトは新しいスクリプトで上書きされます。スクリプトのカスタマイズを残したい場合は、パッチまたはアップグレードをインストールする前に、既存のスクリプトの名前を変更してください。パッチの適用後は、新しいスクリプトに自分のカスタマイズを加えて更新します。既存のスクリプトの名前を、更新済みのスクリプトの名前に変更することは避けてください。重要な機能向上や修正が失われる恐れがあります。

監視スクリプトを使用するための要件

  • これらのスクリプトは ksh シェルで実行する必要があります。
  • すべての監視スクリプトは、インストール先のディレクトリに配置したままにする必要があります。sp_ps 以外のすべてのスクリプトは、SharePlex インストールディレクトリの .app-modules ディレクトリにあります。sp_ps スクリプトは、インストールディレクトリの util ディレクトリにあります。

  • スクリプトは、電子メールの種類や使用可能なページングなどのように、使用環境に合わせてカスタマイズする必要があります。
  • 監視スクリプトを使用するには、-uname name オプションを付けて sp_cop を起動します。ここで、name はユーザーが選択した識別子です。次のような識別子をお勧めします。

    • SharePlex のポート番号
    • 複製の監視対象であるインスタンスの ORACLE_SID
    • SharePlex 管理者名

  • 監視スクリプトを実行する前に、SharePlex を起動しておく必要があります。
  • 監視対象の Oracle インスタンスごとに、ORACLE_HOME(ORACLE_HOME ディレクトリへのパス)を検証してください。

  • 監視スクリプトは sp_ctrl コマンドを使用します。スクリプトを使用する前に、util サブディレクトリから SharePlex 製品ディレクトリにある bin サブディレクトリの sp_ctrl バイナリにリンクを張ってください。sp_ctrl へのパッチ管理が難しくなるため、バイナリ自体のコピーはしないでください。
  • 監視ユーティリティを使用するユーザーには、次の権限が必要です。

    • sp_ctrl へのローカルアクセス権と、監視対象の sp_cop が実行されているシステム上でそのスクリプトを実行する許可
    • Unix または Linux コマンドラインからの Korn(ksh)シェルへのアクセスと ps の許可
    • スクリプトが置かれたディレクトリに対する読み取り、書き込み、実行許可
    • iwgrepユーティリティに対する許可は 755 である必要があります。
  • 監視ユーティリティは、電子メール通知の送信に mailx プログラムを使用します。スクリプトを使用する前に、監視スクリプトが展開されるすべてのシステムで、mailx が電子メールを送信できるように設定されていることを確認してください。
  • ページングには、使用するサービスプロバイダがページングデバイスでの電子メール受信をサポートしている必要があります。
  • これらのスクリプトで生成されたプロセスを kill するには、kill -9 コマンドを使用してください。kill コマンド単独ですべてのプロセスを kill できるとは限りません。

sp_logmon による Oracle capture の監視

SharePlex の監視 > UNIX での監視スクリプトの実行 > sp_logmon による Oracle capture の監視

sp_logmon 監視スクリプトによって、Capture の読み込みが終了する前に Oracle REDO ログがラップし、データを再同期せざるを得なくなる事態を回避できます。このユーティリティは Oracle が現在書き込んでいる REDO ロググループを監視し、SharePlex が読み込んでいるログを判断します。

Capture が指定された数のログで Oracle から遅れをとった場合、sp_logmonlogmon.log ファイルと、オプションが有効な場合は電子メールメッセージに、警告を生成します。これによって遅れの原因を解決し、必要に応じてアーカイブログをリストアする時間を確保できます。

sp_logmon の実行準備

スクリプトを実行する前に、次のタスクを実行します。

要件を満たす

このスクリプトを使用する前に、「監視スクリプトを使用するための要件」を参照してください。注:スクリプトは ksh シェルで実行する必要があります。

電子メールアドレスの定義

電子メール通知機能を使用するには、スクリプトの実行前にスクリプトで電子メールアドレスを定義します。

  1. SharePlex 製品ディレクトリの app-modules ディレクトリにあるスクリプトを開きます。
  2. MailUserName= 変数の後に任意の数のアドレス文字列を追加します。電子メールアドレスやページャーのアドレスは、完全な形で使用してください。次の例のように、複数のエントリはカンマで区切ります。

    MailUserName=scott@company.com,12345678910@pageservice.com

重要! SharePlex ユーザー以外がスクリプトを修正する場合は、次の Oracle 権限が必要になります。

  • CONNECT 権限
  • V$LOG テーブルに対する SELECT 権限
  • SharePlex 内部テーブルに対する SELECT 権限

sp_logmon の実行

SharePlex 製品ディレクトリの util サブディレクトリからスクリプトを実行します(app-modules ではありません)。util ディレクトリから実行すると、実際に、スクリプト自体の実行前に適切な環境を最初にセットアップするユーティリティへのソフトリンクが作成されます。

構文

nohup sp_logmon -p port -t interval -l integer [-m ] [/dev/null] &

表 15: 必須引数

引数 説明
nohup sp_logmon ユーザーがログアウトしてもバックグラウンドで実行を継続するようにスクリプトに指示します。これによって、監視が継続的に行われます。sp_logmon コンポーネントはスクリプトを実行します。
-p port 監視する sp_cop インスタンスのポート番号を設定します。インスタンスごとにこの引数の値を変えて sp_logmon を実行すると、複数の SharePlex インスタンスを監視できます。
-t interval スキャンの間隔を秒単位で設定します。値は任意の正の整数です。
-l integer Oracle が書き込む REDO ログ数と Capture が読み込む REDO ログ数との間で、許容できる最大数を設定します。この値によって、sp_logmon の警告の生成がトリガされます。有効な値は、グループ内の REDO ログの個数を上限とする、1 以上の正の整数です。
& スクリプトをバックグラウンドで実行します。

表 16: オプションの引数

引数 説明
/dev/null 通知の出力をローカルシステムの /dev/null デバイスにリダイレクトし、バックグラウンドでの監視プロセスの実行と出力の生成を継続できるようにします。出力を画面に表示するには、この引数を省略します。
-m 電子メール / ページングのオプションを有効にします。このパラメータがない場合、sp_logmon はログファイルへのエラーの記録のみを行います。

 

sp_eventmon によるイベントの監視

SharePlex の監視 > UNIX での監視スクリプトの実行 > sp_eventmon によるイベントの監視

sp_eventmon 監視スクリプトは、主要な複製イベントに関連する SharePlex イベントログ(event_log)のエントリを、指定された間隔で監視します。スキャンの間隔と、スクリプトで検出するエラーメッセージを定義できます。システムへの影響を最小限に抑えるとともに警告が重複しないように、スキャンはいずれも以前のスキャンが停止した箇所からスタートします。

sp_eventmon スクリプトは、Event ログをスキャンするたびに、次のアクションを実行します。

  • 定義されたエラーを検出すると、sp_eventmonerror.splex ログファイルと、オプションが有効に設定されている場合は電子メールメッセージに、その通知を書き込みます。
  • 各エラー、エラーのエラーイベントログの行番号、sp_cop のインスタンス名(通常はポート番号)、エラーの日時も記録します。
  • このスクリプトは、iwgrep プログラム、error_list ファイル(後述)、username.mrk という名前の marker file(usernamesp_eventmon の実行時に -s 引数と一緒に入力する文字列から派生)に依存します。これらの 3 つのコンポーネントはスクリプトと同じディレクトリに配置します。他のディレクトリに置いた場合、スクリプトは機能しません。
  • username.mrk ファイルは、警告メッセージがログや電子メールまたはページャーに重複して送信されるのを防ぎます。このファイルがなくても、スクリプトは起動のたびにイベントログを最初からスキャンするようになります。前に生成された警告は再度送信されます。

    sp_eventmon の実行準備

    スクリプトを実行する前に、次のタスクを実行します。

    要件を満たす

    このスクリプトを使用する前に、「監視スクリプトを使用するための要件」を参照してください。注:スクリプトは ksh シェルで実行する必要があります。

    エラーメッセージの定義

    sp_eventmon スクリプトは error_list ファイル内のイベントをスキャンします。このファイルはSharePlex 製品ディレクトリの util サブディレクトリにあります。サポートされるエラーの詳細については、そのファイルを参照してください。カスタムエラー文字列は、error_list ファイルをいずれかの ASCII テキストエディタで編集すれば追加できます。ファイルを開き、エラー文字列を 1 行ずつ入力してください。

    IW_HOME の設定

    スクリプトの IW_HOME 変数は、各マシンで適切な値に設定する必要があります。この変数は、監視スクリプトと iwgrep が置かれているディレクトリを指し示す必要があります。

    パスが正しくない場合:

    1. SharePlex 製品ディレクトリの app-modules ディレクトリにあるスクリプトを開きます。
    2. 次の例のように、パスを設定します。

      IW_HOME=/export/home/splex/monscripts

    電子メールアドレスの定義

    電子メール通知機能を使用するには、スクリプトの実行前にスクリプトで電子メールアドレスを定義します。

    1. SharePlex 製品ディレクトリの app-modules ディレクトリにあるスクリプトを開きます。
    2. MailUserName= 変数の後に任意の数のアドレス文字列を追加します。電子メールアドレスやページャーのアドレスは、完全な形で使用してください。次の例のように、複数のエントリはカンマで区切ります。

      MailUserName=scott@company.com,12345678910@pageservice.com

    sp_eventmon の実行

    メモ:

    • sp_eventmon の複数のインスタンスを実行する場合、各インスタンスは異なるオペレーティングシステムユーザー名で実行する必要があります。username.mrk ファイルはそれぞれ異なる username になります。
    • sp_eventmon スクリプトを実行するときに Event ログを頻繁に切り捨てる場合は、sp_ctrltruncate log コマンドを使用します。ログのサイズが大きすぎると、iwgrep プログラムは正しく grep を実行できません。truncate log コマンドを発行する場合は、username.mrk ファイルを削除します。sp_eventmon を次回実行するときに、新しいファイルが作成されます。truncate log コマンドの詳細は、『リファレンスガイド』を参照してください。

    • 既存のイベントログにエラーが存在しており、スクリプトが実行中である場合は、truncate log コマンドを発行して sp_cop_name.mrk ファイルを削除してください。sp_cop_name は、スクリプトを実行したときに -s 引数で使用した値です。このファイルは SharePlex 製品ディレクトリの bin サブディレクトリにあります。

    sp_eventmon を実行するには

    SharePlex 製品ディレクトリの util サブディレクトリからスクリプトを実行します(app-modules ではありません)。util ディレクトリから実行すると、実際に、スクリプト自体の実行前に適切な環境を最初にセットアップするユーティリティへのソフトリンクが作成されます。

    構文

    nohup sp_eventmon -s 'sp_copname' -t interval -p path [-n name ] [-m] /dev/null &

    表 17: 必須引数

    コンポーネント 説明
    nohup sp_eventmon ユーザーがログアウトしてもバックグラウンドで実行を継続するようにスクリプトに指示します。これによって、監視が継続的に行われます。sp_eventmon コンポーネントはスクリプトを実行します。
    -s 'sp_copname' -u オプション付きで sp_cop を起動したときに使用した sp_cop の名前を設定します。sp_cop の名前は一重引用符で囲みます。このパラメータは、システム上の複数の sp_cop インスタンスを監視するために、2 回以上使用できます。このパラメータがない場合、sp_eventmon は起動しません。
    & スクリプトをバックグラウンドで実行します。
    -t interval スキャンの間隔を秒単位で設定します。値は任意の正の整数です。

    表 18: オプションのコンポーネント

    コンポーネント 説明
    -p path パスを SharePlex 変数データディレクトリに設定します。この変数がない場合、sp_eventmon はデフォルトのパスを使用します。
    /dev/null 通知の出力をローカルシステムの /dev/null デバイスにリダイレクトし、バックグラウンドでの監視プロセスの実行と出力の生成を継続できるようにします。出力を画面に表示するには、この引数を省略します。
    -n name イベントログの名前がデフォルトの「event_log」とは異なる場合に、その名前を設定します。
    -m 電子メール / ページングのオプションを有効にします。このオプションがない場合、sp_eventmon はログファイルへのエラーの記録のみを行います。
  • Related Documents

    The document was helpful.

    Select Rating

    I easily found the information I needed.

    Select Rating