Chatta subito con l'assistenza
Chat con il supporto

SharePlex 11.4 - 管理者ガイド

このガイドについて このガイドで使用される表記規則 SharePlexの概要 SharePlexの実行 SharePlexの複数のインスタンスの実行 sp_ctrlでのコマンドの実行 SharePlexパラメータの設定 データレプリケーションの設定 コンテナデータベースとの間のレプリケーションの設定 名前付きキューの設定 分割レプリケーションの設定 変更履歴ターゲットへのレプリケーションの設定 レプリケーション戦略の設定 DDLレプリケーションの設定 エラー処理の設定 データトランスフォーメーションの設定 セキュリティ機能の設定 SharePlexユーザのセキュリティグループへの割り当て 本番システムでのレプリケーションの開始 SharePlexの監視 レプリケーションの問題の防止と解決 非同期データのrepair Captureプロセスの調整 Postプロセスの調整 Oracleフェールオーバー後のレプリケーションのリカバリ アクティブなレプリケーション環境に対する変更 Oracleアプリケーションのパッチまたはアップグレードの適用 ソースまたはターゲットのOracleデータのバックアップ トラブルシューティングのヒント 付録A: ピアツーピア図 付録B: SharePlex環境変数

Open Target Postパラメーター

これらのパラメーターは、Open TargetOracle以外にデータを適用する際にSharePlexのPostプロセスで使用されます。

SP_OPX_BATCH_ENABLE

同じ操作の複数のトランザクションを適用するときにパフォーマンスを最大化するために、Postプロセスはトランザクションをグループ化し、バッチとして適用することができます。SP_OPX_BATCH_ENABLEパラメーターはこの機能を制御します。デフォルトでは有効になっています。SP_OPX_MAX_BATCH_MBYTESはバッチの最大サイズを制御します。

デフォルト: 1有効

有効な値の範囲: 0または1

有効になるタイミング: 即時

SP_OPX_COMMIT_REDUCE_MSGS

Post Enhanced Performance機能のコミット削減コンポーネントにしきい値を設定します。コミット削減機能により、小規模なトランザクションのバッチを大規模なトランザクションにまとめるようにPostを設定することができます。これにより、処理しなければならないコミットや確認の数を減らすことができます。トランザクションが小さければ小さいほど、パフォーマンスは向上します。

指定されたメッセージ数に達すると、Postはコミットを発行します。トランザクションの境界がこのメッセージの範囲内にあるトランザクションのコミットはスキップされ、それらのトランザクションはすべて1つのトランザクションとしてコミットされます。コミット削減はデフォルトでオンになっています。無効にするには、このパラメーターの値を1に設定します。

このパラメーターの設定は絶対的なしきい値ではありません。SharePlexは、結合された異なるトランザクションにトランザクションを分割することはありません。したがって、すべての操作とグループ内の最後のトランザクションのコミットを含めるために、Postがそのしきい値を超えなければならない可能性があります。

 

デフォルト: 100個のメッセージ

有効な値の範囲: 任意の正の整数

有効になるタイミング: Postの再開時

SP_OPX_CONT_ON_ERR

このパラメーターは、特定のODBCエラーが発生したときにPostを停止するかどうかを制御します。このフラグをデフォルトの0に設定すると、PostはすべてのODBCエラーで停止します。特定のエラーを無視して処理を続行するようにPostを設定するには、以下のファイルデータベースによって異なるのいずれかにそのエラーをリストし、SP_OPX_CONT_ON_ERRを1に設定します。

hanamsglist

mysqlmsglist

postgresmsglist

sqlservermsglist

sybasemsglist

tdmsglist

これらのファイルの保存場所は、変数データディレクトリのdataサブディレクトリです。これらのファイルの設定方法の詳細については、『SharePlex管理ガイド』を参照してください。

無視した各エラーについて、PostはSharePlex errlog.sqlファイルにエラーを記録し、その後にポストを再開します。ファイルに指定されていないエラーをPostが受け取った場合、プロセスは停止します。

 

デフォルト: 0すべてのエラーで停止

有効な値の範囲: 0または1フラグ

有効になるタイミング: 即時

SP_OPX_DISABLE_OBJECT_NUM

このパラメーターは、ソーステーブルのオブジェクトIDに基づいて、レプリケートされたDMLおよびDDL操作をPostがターゲットにポストしないようにします。ソーステーブルのデータが無効であるか破損している場合、ソーステーブルにターゲットでサポートされていないデータ型が含まれている場合、またはテーブルの操作をターゲットデータベースに反映させたくないその他の理由がある場合に、このパラメーターを設定できます。

このパラメーターは1つまたは複数のテーブルに設定できます。これにより、データを再同期して設定ファイルを再度アクティベーションする時間ができるまで、ソーステーブルのターゲットテーブルでそれ以上レプリケーションが実行されないようにします。Postプロセスは、これらのテーブルの複製されたすべてのメッセージをpostキューから破棄するため、メッセージはキューに蓄積されません。

このパラメーターは注意して使用してください。これを有効にしてソーステーブルに対してDDLまたはDMLを実行すると、変更がポストされないため、ターゲットデータが古くなります。レプリケーション設定外の他のテーブルの外部キーなど、テーブルに依存関係がある場合は、ポストを無効にすると依存関係が満たされなくなります。

このパラメーターは、デフォルトでは無効になっています。この機能を有効にするには、ターゲットシステムで以下のコマンドを実行します。ここに表示される数字は、ポストから除外するソーステーブルのオブジェクトIDです。

sp_ctrl(sysB)> set param SP_OPX_DISABLE_OBJECT_NUM 12345,67890

各オブジェクトIDをカンマで区切り、その間にはスペースを入れません。エントリ間にスペースを使用するには、以下の例のようにリスト全体を引用符で囲みます。

sp_ctrl(sysB)> set param SP_OPX_DISABLE_OBJECT_NUM "498438, 1000, 497109"

無効なオブジェクトIDは無視されます。

ターゲットテーブルへのポストを再開する準備ができたら、SP_OPX_DISABLE_OBJECT_NUMを0に設定します。

 

デフォルト: 0オフ

有効な値の範囲: カンマで区切られた有効なオブジェクトIDのリスト

有効になるタイミング: 即時

SP_OPX_MAX_BATCH_MBYTES

このパラメーターは、バッチDML操作の最大サイズを制御します。ターゲットにSQL操作を適用する際のパフォーマンスを最大化するために、Postプロセスは小さなレプリケート操作を1つの大きなバッチ操作にグループ化します。操作が同一でSQLが類似している場合、Postはレプリケートされた操作をグループ化します。Postは、SP_OPX_MAX_BATCH_MBYTESで指定されたバッチサイズに達するまで、条件が一致する操作をバッチに追加し続けます。

SP_OPX_BATCH_ENABLEパラメーターはこの機能を有効にしますデフォルトでは有効

デフォルト: 1メガバイト

有効な値の範囲: 1~任意の正の整数

有効になるタイミング: 即時

SP_OPX_MSGS_IN_MEMORY

このパラメーターは、Postプロセスが使用するメモリの量を制御します。Open TargetのPostプロセスは、トランザクションデータを一時的に保存するために内部キューを使用します。このパラメーターは、この内部キューが使用するメモリの最大量を制御します。

 

デフォルト: 5,000個のメッセージ

有効な値の範囲: 整数、最大値なし

有効になるタイミング: Postの再開時

SP_OPX_NLS_CONVERSION

このパラメーターは、Oracleソースと非Oracleターゲット間の文字セットの変換を制御します。

Open TargetターゲットOracle以外のターゲットにレプリケートする場合、SharePlexは、任意のOracle Unicode文字セットおよびUS7ASCII文字セットからのレプリケーションをサポートします。SharePlexはUnicode文字セットでOpen Targetターゲットにデータをポストするため、ソースデータがUnicodeまたはUS7ASCIIの場合、ターゲット上で変換する必要はありません。

ただし、以下の項目に当てはまる場合は、ターゲット上で変換が必要となります。

  • ソースデータの文字セットがOracle UnicodeまたはUS7ASCII以外の場合、ターゲットに転記するためにUnicodeに変換するには、ターゲットにOracleクライアントをインストールする必要があります。
  • データをUnicode以外の文字セットでターゲットデータベースにポストする必要がある場合は、ターゲットにOracleクライアントをインストールして変換を実行し、targetコマンドを使用してPostが使用するターゲット文字セットを特定する必要があります。
  • LOBデータをレプリケートする場合は、ソースの文字セットにかかわらず変換が必要です。

Linux上のOracleクライアントで変換を実行するには:

  1. Oracle Administratorクライアントをターゲットシステムにインストールします。クライアントは管理者インストールタイプでなければなりません。Instant ClientおよびRuntimeインストールタイプはサポートされていません。
  2. ORACLE_HOMEをクライアントのインストールに設定します。ORACLE_SIDをエイリアスまたは存在しないSIDに設定します。SharePlexはこれらのSIDを使用せず、データベースが実行されている必要はありません。
  3. お使いのオペレーティングシステム用のLinux/Unixインストーラーを使用してSharePlexをします。
  4. SP_OPX_NLS_CONVERSIONパラメーターがデフォルトの1に設定されていることを確認してください。

UnicodeとUS7ASCIIのデータを変換せずに適用するには:

ソースデータがUnicodeまたはUS7ASCIIで、LOBデータをレプリケートしない場合は、変換やOracleクライアントは必要ありません。SP_OPX_NLS_CONVERSIONパラメーターを0に設定して変換を無効にし、Postが実行中であれば再起動します。

 

デフォルト: 1

有効な値の範囲: 0または1フラグ

有効になるタイミング: Postの再開時

SP_OPX_ONELINE_DEBUG

このパラメーターは、Open TargetのPostプロセスのオンラインデバッグ機能を制御します。

オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。

このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。

例:

sp_ctrl> set sp_opo_oneline_debug 230230, 351626

以下の項目が記録されます。

  • 操作の状態Process キューからの読み取りSkipped コミット削減機能が有効な場合はコミットApplied ターゲットへの適用
  • SharePlexが使用するトランザクション識別子
  • 影響を受けたDMLまたはDDL操作のタイプ
  • 影響を受けるソーステーブルのオブジェクトID
  • 影響を受ける行の行識別子Oracle行ID
  • 操作が行われた時刻Oracle
  • 影響を受ける操作のログシーケンス番号とログ内のオフセット
  • トランザクションのOracle SCN
  • 冗長な操作を防ぐ内部SharePlexコード

 

デフォルト: 無効

有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列カンマで区切る

有効になるタイミング: 即時

SP_OPX_ONELINE_DEBUG_COLUMNS

このパラメーターは、SP_OPX_ONELINE_DEBUGが有効な場合に列の値をログに記録するかどうかを制御します。これは、非同期の状態を診断するのに役立ちます。オンラインデバッグが有効になっているときに指定されたオブジェクトの列の値をログに記録するには、SP_OPX_ONELINE_DEBUG_COLUMNSを1に設定します。

デフォルト: 0無効

有効な値の範囲: 0または1

有効になるタイミング: 即時

SP_OPX_OUT_OF_SYNC_SUSPEND

このパラメーターは、非同期状態を検出したときのSharePlexの動作を以下に基づいて制御します。

  • INSERT: 行が既に存在するため、一意制約違反エラーが発生します。
  • UPDATEとDELETE: 行がデータベースにありません。

値0デフォルト

トランザクションに非同期の操作が含まれる場合のPostのデフォルトの動作は、トランザクション内の他の有効な操作の処理を継続し、レイテンシを最小限に抑え、ターゲットを可能な限り最新の状態に保つことです。レイテンシとは、ソースでトランザクションが発生してから、それがターゲットに適用されるまでの時間のことです。きわめて量の多いトランザクションやネットワークトラフィックの中断など、さまざまな要因がレプリケーションのレイテンシの大きさに影響を与えます。

Postは、SQLステートメントと非同期の操作のデータをID_errlog.sqlログファイルに記録します。ここで、IDはデータベース識別子です。このファイルは、ターゲットシステムの変数データディレクトリのlogサブディレクトリにあります。

値1

値1を指定すると、Postは非同期状態を検出したときにポストを停止します。Postは、SQLステートメントと非同期の操作のデータをID_errlog.sqlログファイルに記録し、その後停止します。

このパラメーターを1の値に設定した場合は、レプリケーションプロセスのステータスを頻繁にチェックしてください。Postを停止すると、ソースデータベースとターゲットデータベース間にレイテンシが発生し、レプリケーションキューにデータが蓄積されるため、利用可能なディスク容量を超える可能性があります。SharePlexには、レプリケーションのステータスをチェックするためのいくつかのsp_ctrlコマンドと、無人でSharePlexを監視するためのツールがあります。SharePlexを監視する方法の詳細については、『SharePlex管理ガイド』を参照してください。

 

デフォルト: 0非同期状態では停止しない

有効な値の範囲: 0または1フラグ

有効になるタイミング: 即時

SP_OPX_READRELEASE_INTERVAL

このパラメーターは、Postがトランザクション方式でJMSサーバにポストするように設定されている場合に使用しますtargetコマンドのsession_transactedプロパティで指示されるようにすべてのメッセージの後ではなく、一定間隔でJMSコミットを発行

このパラメーターは、読み取り/リリースの間隔Postがキューからトランザクションのデータをパージする頻度を制御します。

 

デフォルト: 1,000

有効な値の範囲: 任意の正の整数

有効になるタイミング: Postの再開時

SP_OPX_REDUCED_KEY

このパラメーターはPostのWHERE句の内容を制御します。PostはWHERE句を使用して、ソースから複製されたUPDATEによって変更する必要がある行をターゲットで見付けます。SharePlexの機能によって、PostのWHERE句で使用する必要のあるデータの量が異なることがあります。

  • 0に設定すると、このパラメーターは、Captureから送信されるすべてのデータのWHERE句を作成するようにPostに指示します。Captureが送信するデータは、SP_CAP_REDUCED_KEYパラメーターの設定によって異なります。キーの値と、LONGまたはLOB以外のすべての列をWHERE句に含めるには、両方のパラメーターを0に設定します。

    重要! ピアツーピア構成では0に設定する必要があります。

  • 1に設定した場合、このパラメーターは、変更された列のキー値と変更前の値でWHERE句を構築するようにPostに指示します。この設定により、PostはWHERE句を作成する際に、変更された列の変更前後のcompareができるため、レプリケーションのパフォーマンスとターゲットデータ整合性のバランスが適切になります。この設定を使用するには、SP_CAP_REDUCED_KEYパラメーターを0または1に設定する必要があります。SharePlexが変更前後の値をどのように使用するかの詳細については、『SharePlex管理ガイド』を参照してください。
  • 2に設定すると、このパラメーターはキー列のみのWHERE句を作成するようにPostに指示します。この設定は、ポストのパフォーマンスを最大化するために使用できます。この設定では、変更された列の変更前後のcompareが省略されるため、SharePlex以外のプロセスやユーザがターゲットデータを変更できないようにする必要があります。さらに、compareコマンドを使用して、定期的に完全性の検証を行うことをお勧めします。

    注意: 水平分割レプリケーションでSP_OPX_REDUCED_KEYパラメーターが2に設定されている場合、PostはUPDATE句のために追加される列のキーと変更前のデータでWHERE句を準備します。

SP_CAP_REDUCED_KEYも参照してください。

デフォルト: 0

有効な値の範囲: 0、1、2

有効になるタイミング: Postの再開時

SP_OPX_SQL_CACHE_DISABLE

このパラメーターはSQL Cache機能を有効または無効にします。デフォルトではSQL Cacheはオンで、このパラメーターは0に設定されます。1の設定では、SQL Cacheは無効になります。3の設定ではバッチ操作のSQL Cacheが無効になり、Postが使用するメモリの量が減少します2の設定は不可

SQL Cacheを無効にすると、SharePlexはイベントログに以下のメッセージを表示します。 SQL Cache disabled.SQL Cacheが無効になりました。

SQL Cacheの詳細については、『SharePlex管理ガイド』を参照してください。

 

デフォルト: 0オン

有効な値の範囲: 0、1、3

有効になるタイミング: Postの再開時

SP_OPX_STOP_ON_DDL_ERR

このパラメーターは、DDLの適用中にエラーが発生した場合にPost処理を停止するかどうかを制御します。デフォルトの1は、エラーが発生した場合にPostを停止させます。エラーは通常、DDLが実行されたソースコンポーネントがターゲットデータベースに存在しないことを示し、後続のDMLの変更も失敗する可能性があることを示します。Postを停止することでDMLの失敗を防止し、問題を修正してデータベースの同期を保つことができます。

 

デフォルト: 1オン

有効な値の範囲: 0または1フラグ

有効になるタイミング: 即時

SP_OPX_THREADS

このパラメーターは、Post Enhanced Performance機能のTransaction Concurrencyコンポーネントを制御します。2以上の値に設定すると、指定されたスレッド数同時処理数でPostが実行されます。

このパラメーターはSQL ServerおよびPostgreSQLデータベースをサポートしています。通常は、システム上のプロセッサーのコア数に設定しなければなりません。

Postのパフォーマンスを調整する方法の詳細については、『SharePlex管理ガイド』を参照してください。

 

デフォルト: 1無効

有効な値の範囲: Max_connection値未満

有効になるタイミング: Postの再開時

SP_OPX_TRUSTED_SOURCE

このパラメーターは、信頼できるソースシステムを指定します。このシステムには、ピアツーピアレプリケーション環境でプライマリデータセットとみなされるデータが格納されています。このパラメーターは、SharePlexによって提供される準備されたコンフリクト解決ルーチンで使用されます。SP_OPX_TRUSTED_SOURCEパラメーターは、両方のサーバで同じ値に設定する必要があります。コンフリクト解決とピアツーピアレプリケーションの詳細については、『SharePlex管理ガイド』を参照してください。

デフォルト: なし

有効な値の範囲: SharePlexレプリケーション環境で有効な任意のホスト名

有効になるタイミング: Postプロセスの再開時

 

Related Documents

The document was helpful.

Seleziona valutazione

I easily found the information I needed.

Seleziona valutazione