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 環境変数

エラー処理のセットアップ

エラー処理のセットアップ

この章では、Post プロセスから返されるエラーを処理するために SharePlex に用意されているツールの概要を説明します。

コンテンツ

エラーが発生した場合の Post の続行

エラー処理のセットアップ > エラーが発生した場合の Post の続行

SharePlex では、DML エラーが発生したときに Post が処理を停止せずに続行できるようになっています。

Oracle および SharePlex エラーの発生時の post の続行

Oracle ターゲットに有効

SharePlex で Oracle ターゲットに post する場合、特定の Oracle DML エラーおよび特定の SharePlex エラーメッセージを無視して処理を続行するように Post を設定できます。Post は、oramsglist ファイル内のリストに基づいて、無視するメッセージを判定します。このファイルにはデフォルトでいくつかのエラーのリストが含まれていますが、必要に応じてそれらのエラーを削除できます。

Post はエラーを無視した場合、そのエラーを SharePlex イベントログに書き込みます。また、エラーとその原因となった SQL 文をエラーログに書き込みます。このログは SID_errlog.sql という名前のログファイルで、SharePlex 変数データディレクトリの data ディレクトリに格納されます。これらのログの詳細については、「イベントおよびエラーの表示」を参照してください。

注: Post が無視しない特定のエラーもあります。oramsglist ファイルにこれらのエラーがリストされている場合でも、Post はこれらのメッセージに対して処理を停止します。

重要: この機能を使用する際には注意が必要です。隠れた非同期状態になることがあります。このパラメータは、複製の遅延がターゲットユーザーによって許容されず、一部のデータが非同期になることが許容される場合にのみ有効にします。SID_errlog.sql ログを頻繁にチェックして、複製の問題の原因となる可能性のあるエラーがあるかどうかを確認してください。

エラーの発生時に Post を続行するように設定するには

  1. ターゲットシステムで、ディレクトリを SharePlex 変数データディレクトリの data サブディレクトリに変更します。

  2. oramsglist ファイルを見つけます。
  3. 複製がアクティブでない場合は、このファイルをテキストエディタで開きます。複製がアクティブな場合は、このファイルのコピーを作成し、コピーをテキストエディタで開きます。

  4. 1 行目の数値を、追加するエラーの数に合わせて増やします。この数値は、ファイル内のエラーの合計数と同じである必要があります。たとえば、以下のファイルには 10 個のエラーがリストされています。

    ora@sys1dad > vi oramsglist
    10
    604
    900
    902
    908
    909
    910
    911
    932
    960
    1026
  5. 前の例に示すように、ファイルの末尾から開始して、1 行に 1 つずつ、各 Oracle または SharePlex エラーの番号を追加します。メッセージを数字の順に並べる必要はありません。

  6. ファイルを保存してクローズします。
  7. Post を停止します(実行されている場合)。

    sp_ctrl> stop post

  8. oramsglist ファイルのコピーを編集した場合は、コピーを元の名前の oramsglist として保存します。
  9. SP_OPO_CONT_ON_ERR パラメータの値を 1 に変更します。

    sp_ctrl> set param SP_OPO_CONT_ON_ERR 1

  10. Post を開始します。

    sp_ctrl> start post

ODBC エラーの発生時の post の続行

オープンターゲットに有効

SharePlex でオープンターゲットターゲットに post する場合、特定の ODBC エラーを無視して処理を続行するように Post を設定できます。Post は、エラーを SharePlex イベントログに書き込みます。また、エラーとその原因となった SQL 文をエラーログに書き込みます。このログファイルの名前は ID_errlog.sql です。ここで、ID はデータベース識別子です。このファイルは、SharePlex 変数データディレクトリの data ディレクトリに格納されます。これらのログの詳細については、「イベントおよびエラーの表示」を参照してください。

重要: この機能を使用する際には注意が必要です。隠れた非同期状態になることがあります。このパラメータは、複製の遅延がターゲットユーザーによって許容されず、一部のデータが非同期になることが許容される場合にのみ有効にします。SID_errlog.sql ログを頻繁にチェックして、複製の問題の原因となる可能性のあるエラーがあるかどうかを確認してください。

エラーの発生時に Post を続行するように設定するには

  1. ターゲットシステムで、ディレクトリを SharePlex 変数データディレクトリの data サブディレクトリに変更します。

  2. データベースに応じて、以下のいずれかのファイルを見つけます。これらのファイルは内容が空の状態でインストールされています。

    ファイル名 サポートされるデータベース

    postgresmsglist

    PostgreSQL
    sqlservermsglist Microsoft SQL Server
    sybasemsglist SAP Adaptive Server Enterprise(ASE)
    tdmsglist Teradata

    注: メッセージファイルにリストされている場合でも Post が停止する特定のエラーがあります。

  3. 複製がアクティブでない場合は、このファイルをテキストエディタで開きます。複製がアクティブな場合は、このファイルのコピーを作成し、コピーをテキストエディタで開きます。

  4. 例に示すように、ファイルの末尾から開始して、各エラーの番号を追加します。メッセージを数字の順に並べる必要はありません。

    例:

    sqlservermsglist:

    8102

    8180

    544

    2627

    3621

  5. ファイルを保存してクローズします。
  6. Post を停止します(実行されている場合)。

    sp_ctrl> stop post

  7. 元のファイルをコピーした場合は、元の名前で保存します。
  8. SP_OPX_CONT_ON_ERR パラメータの値を 1 に変更します。

    sp_ctrl> set param SP_OPX_CONT_ON_ERR 1

  9. Post を開始します。

    sp_ctrl> start post

DDL エラーが発生した場合の Post の続行

エラー処理のセットアップ > DDL エラーが発生した場合の Post の続行

Post はデフォルトで、DDL エラーで停止します。通常、エラーは DDL がソースシステムで実行されたデータベースコンポーネントがターゲットデータベースに存在しないことを示します。SP_OPO_STOP_ON_DDL_ERR パラメータのデフォルト設定では Post が DDL エラーで停止するため、そのオブジェクトに対する後続の DML は失敗しません。このため、問題を修正してデータベースの同期を維持できます。このパラメータの詳細については、『 SharePlex リファレンスガイド』を参照してください。

エラー時の再試行回数を増やす

エラー処理のセットアップ > エラー時の再試行回数を増やす

Post は特定の操作が失敗すると、再試行で成功する可能性がある場合は再試行します。Post が再試行する主な操作は、TNS 書き込み失敗、接続失敗、Post が TRUNCATE を適用する必要があるときのテーブルへのロックです。

失敗した操作が成功する見込みを増加するには、Post がより多くの回数操作を試行するように、SP_OPO_RETRIES_MAX パラメータを増加します。同時に、SP_OPO_RETRY_DELAY_TIME パラメータを増加して、試行の間の時間間隔を増加します。こうすることで、試行の間にロックなどのブロッキング操作を解決する十分な時間を確保できます。

Post プロセスがエラー時に続行するように設定されている場合(SP_SYS_SUSPEND_ON_ERROR=0)、またはエラーメッセージが oramsglist ファイルに記載されている場合、Post はキューで次のトランザクションに移動します。それ以外の場合、Post は最大試行回数に達した後に停止します。

重要: このパラメータを減少すると、データが queue に蓄積し、使用可能なディスクスペースを超過することがあります。

詳細については、『SharePlex リファレンスガイド』の SP_OPO_RETRIES_MAX に関する説明を参照してください。

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating