これらのパラメーターは、Oracleターゲットにデータを適用する際にSharePlexのPostプロセスで使用されます。
このパラメーターはchangeidメタデータ列の開始値を設定します。この列は変更履歴ターゲットに含めることができ、targetコマンドで設定します。changeidは、レコードを一意に識別し、重複を防ぐためにSharePlexによって生成されます。
デフォルト: 0(オフ)
有効な値の範囲: 0~9,223,372,036,854,775,807
有効になるタイミング: Postの再開時
Post Enhanced Performance機能のコミット削減コンポーネントにしきい値を設定します。コミット削減機能により、小規模なトランザクションのバッチを大規模なトランザクションにまとめるようにPostを設定することができます。これにより、処理しなければならないコミットや確認の数を減らすことができます。トランザクションが小さければ小さいほど、パフォーマンスは向上します。
指定されたメッセージ数に達すると、Postはコミットを発行します。トランザクションの境界がこのメッセージの範囲内にあるトランザクションのコミットはスキップされ、それらのトランザクションはすべて1つのトランザクションとしてコミットされます。コミット削減はデフォルトでオンになっています。無効にするには、このパラメーターの値を1に設定します。
このパラメーターの設定は絶対的なしきい値ではありません。SharePlexは、結合された異なるトランザクションにトランザクションを分割することはありません。したがって、すべての操作とグループ内の最後のトランザクションのコミットを含めるために、Postがそのしきい値を超えなければならない可能性があります。
デフォルト: 100個のメッセージ
有効な値の範囲: 1 または任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターは、Postが接続プールをどのように使用するかを制御します。
接続プールが有効(デフォルト)で、サブキューがOracleへの接続を必要とする場合、サブキューはコミットされているサブキューを探そうとします。もし見つかれば、Oracleへの新しい接続を開くのではなく、その接続を使用します。これにより、PostはOracleへの接続を減らして操作することができます。
接続プールを使用しない場合、各サブキューはOracleへの個別の接続を持ち、サブキューがコミットされるまで、その接続を(SP_OPO_IDLE_LOGOUTパラメーターによって決定される)時間(秒)保持します。
このパラメーターを使用するには:
デフォルト: 1(有効)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Postの再開時
このパラメーターは、修正可能なエラーが発生したときにPostを停止するかどうかを制御します。このフラグをデフォルトの0に設定すると、Postは、すべてのOracleおよびSharePlexのエラーで停止します。SharePlexまたはOracleの特定のエラーが発生してもPostにポストを続けさせるには、変数ディレクトリのdataサブディレクトリにあるoramsglistファイルにそれらのエラーをリストし、このパラメーターを1に設定します。このパラメーターを2に設定すると、Postはテーブルエラーを他のエラーと同じように扱い、そのエラーがoramsglistファイルにリストされていない限りポストを停止します。
パラメーターの設定にかかわらず、以下のエラーが発生してもPostはポストを継続します。
Postが停止しないデフォルトのエラー
*パケットライターの失敗とnowaitでのリソースビジーは、SP_OPO_RETRIES_MAXパラメーター(デフォルトは10)に基づいて再試行され、その後にPostが終了します。
エラー発生時に続行するようにPostを設定する方法の詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 0(すべてのエラーで停止)
有効な値の範囲: 0、1、2(フラグ)
有効になるタイミング: 即時
このパラメーターは以下の機能を制御します。
これらの機能をサポートするには、以下のようにします。
SP_OPO_DEPENDENCY_CHECKを適切な値に設定します。
注意: ON DELETE CASCADE機能は、設定2で有効になるPost Enhanced Performance機能に依存しています。SP_OPO_DEPENDENCY_CHECKの設定に加えて、ソース上でプライマリキー、一意インデックス列、外部キー列のロギングを有効にする必要があります。
デフォルト: 0(オフ)
有効な値の範囲: 0、1、2(フラグ)
有効になるタイミング: Postの再開時
このパラメーターは、Post Enhanced Performance機能の依存性チェックで使用されるメモリのサイズを設定します。デフォルト値で十分ですが、必要であれば大きくすることもできます。
デフォルト: 7019
有効な値の範囲: 任意の有効なメモリ値
有効になるタイミング: Postの再開時
このパラメーターは、ソーステーブルのオブジェクトIDに基づいて、レプリケートされたDMLおよびDDL操作をPostがターゲットにポストしないようにします。ソーステーブルのデータが無効であるか破損している場合、ソーステーブルにターゲットでサポートされていないデータ型が含まれている場合、またはテーブルの操作をターゲットデータベースに反映させたくないその他の理由がある場合に、このパラメーターを設定できます。
このパラメーターは1つまたは複数のテーブルに設定できます。これにより、データを再同期して設定ファイルを再度アクティベーションする時間ができるまで、ソーステーブルのターゲットテーブルでそれ以上レプリケーションが実行されないようにします。Postプロセスは、これらのテーブルの複製されたすべてのメッセージをpostキューから破棄するため、メッセージはキューに蓄積されません。
このパラメーターは注意して使用してください。これを有効にしてソーステーブルに対してDDLまたはDMLを実行すると、変更がポストされないため、ターゲットデータが古くなります。レプリケーション設定外の他のテーブルの外部キーなど、テーブルに依存関係がある場合は、ポストを無効にすると依存関係が満たされなくなります。
このパラメーターは、デフォルトでは無効になっています。この機能を有効にするには、ターゲットシステムで以下のコマンドを実行します。ここに表示される数字は、ポストから除外するソーステーブルのオブジェクトIDです。
sp_ctrl(sysB)> set param SP_OPO_DISABLE_OBJECT_NUM 12345,67890
各オブジェクトIDをカンマで区切り、その間にはスペースを入れません。エントリ間にスペースを使用するには、以下の例のようにリスト全体を引用符で囲みます。
sp_ctrl(sysB)> set param SP_OPO_DISABLE_OBJECT_NUM "498438, 1000, 497109"
無効なオブジェクトIDは無視されます。
ターゲットテーブルへのポストを再開する準備ができたら、SP_OPO_DISABLE_OBJECT_NUMを0に設定します。
デフォルト: 0(オフ)
有効な値の範囲: カンマで区切られた有効なOracleオブジェクトIDのリスト
有効になるタイミング: 即時
このパラメーターは、ヒントファイルに記載できるヒント(テーブルとインデックスの組み合わせ)の最大数を制御します。ヒントは、定義されたインデックスがあるテーブルに対してPostがフルテーブルスキャンを行っている場合にのみ、使用してください。大量のヒントを使用すると、Postプロセスのパフォーマンスが低下する可能性があります。ヒント機能の詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 100ヒント
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターを使用すると、成功したコンフリクト解決プロシージャに関する情報をSHAREPLEX_CONF_LOGテーブルに記録できるようになります。これは、SharePlexが提供する準備されたルーチンにのみ適用されます。
1に設定すると、SHAREPLEX_CONF_LOGテーブルへのコンフリクト解決のロギングが有効になります。
注意: 1に設定すると、SHAREPLEX_CONF_LOGテーブルのEXISTING_TIMESTAMPおよびTARGET_ROWID列(既存のデータが置換されない場合)は更新されません。
2に設定すると、SHAREPLEX_CONF_LOGテーブルへのコンフリクト解決のロギングが、Postによる追加のメタデータのクエリと共に有効になります。
準備されたルーチンLeastRecentRecordまたはMostRecentRecordを使用すると、Postは既存のレコードのタイムスタンプ列のターゲットデータベースにクエリを実行します。クエリの結果は、SHAREPLEX_CONF_LOGテーブルのEXISTING_TIMESTAMP列にログ記録されます。
準備されたルーチンでは、入力されたレコードで置換されなかった行に対し、Postは置換される可能性のある既存の行のTARGET_ROWIDを問い合わせます。そうでない場合、既存の行のROWIDは記録されません。
注: 2と設定すると、クエリを実行した結果、Postのパフォーマンスに影響を与える可能性があります。
デフォルト: 0(無効)
有効な値の範囲: 0、1、または2
有効になるタイミング: Postの再開時
このパラメーターはSQLキャッシュモジュール用であり、セッションが同時に開くことができるカーソルキャッシュの最大数を制御します。この数値は、v$parameterビューのOPEN_CURSORSに対するOracle設定より小さくする必要があります。SP_OPO_SQL_CACHE_DISABLEが0(有効)に設定されている場合にのみ使用されます。
デフォルト: 50
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターは、SQLスレッドがOCIStmtExecute ( )の呼び出しに費やすことができる最大時間を秒単位で制御します。この時間を経過すると、タイムキーパー スレッドがデッドロック状態になり、マルチスレッドPostプロセスは強制終了されます。
デフォルト: 900 [秒]
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターは、部分的ロールバックで後方カウントを増分する際の最大メッセージ数を指定します。メインスレッドは、前方にスキャンし、後方メッセージをカウントします。後方カウントがこのパラメーターに設定された最大数に達すると、メインスレッドはロールバックを解決します。ロールバックが解決されると、メインスレッドはメッセージのディスパッチを再開します。まだ後方にメッセージがある場合、メインスレッドは再びサブキューを前方にスキャンします。次の10,000の後方メッセージのグループ(パラメーターが10,000に設定されている場合)も、同じプロシージャを使用して解決されます。
デフォルト: 10,000メッセージ
有効な値の範囲: 11~1,000,000
有効になるタイミング: Postの再開時
このパラメーターは、OracleソースとOracle ターゲット間の文字セット変換を制御します。
SharePlexが、使用しているOracleの文字セット内のすべての文字を複製するには、以下のいずれかが真でなければなりません。
SharePlexでは、以下の文字セットがテストされ、サポートされています。
US7ASCII
UTF8
WE8ISO8859P1
AL16UTF16
AL32UTF8
KO16KSC5601
デフォルトでは、SharePlexにより、Oracleターゲットデータベースは文字変換を行うことができます。Postはソースデータの文字エンコーディングをOracleに通知し、Oracleは必要な変換を実行します。
関係する文字セットによっては、Oracleの変換はデータロスにつながる可能性があります。次などを考慮します。
例1: JA16SJIS文字セットの「米」という日本語文字は、US7ASCII文字セットには対応する記号がありません。この記号をUS7ASCIIデータベースに複製しようとすると、Oracleはこの記号を「?」文字に変換します。
例2: Oracleによると、WE8ISO8859P1文字セットはUS7ASCII文字セットのスーパーセットであるため、US7ASCIIの文字はすべて、変換されずにWE8ISO8859P1ターゲットデータベースにポストされると考えるのが論理的です。これは、0x00から0x7Fの範囲の文字に当てはまります。しかし、Oracleは、0x80から0xFFの範囲の文字の最上位ビットを除去します。この「変換」は、ソースのスーパーセットである文字セットにレプリケートする際に、データロスを引き起こす可能性があります。
注意: Oracleは、文字セットが同一の場合は文字を変換しません。したがって、WE8ISO8859P1のデータをWE8ISO8859P1の文字セットを持つデータベースにポストすると、Oracleの変換プロセスがバイパスされます。
データを変換せずに適用するには:
SP_OPO_NLS_CONVERSIONパラメーターを1に設定し、データを変換して適用します。
注意: ソースデータベースのNLS_NCHAR_CHARACTERSETとターゲットデータベースのNLS_NCHAR_CHARACTERSETが異なる場合、SharePlexは、常にNVARCHARとNCLOBのデータを変換します。
デフォルト: 1
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Postの再開時
このパラメーターは、Postが文字データ(CHAR、VARCHAR)を変換するかどうかを制御します。デフォルトでは変換は行われません。7に設定すると、Postは文字データは変換しませんが、CLOBデータは変換します。compare/repairコマンドは、無変換の文字データと変換後のCLOBデータをcompare・repairします。NCHARデータのレプリケーションには影響しません。
SP_OPO_NLS_DEFAULT_COMPATはSP_OPO_NLS_CONVERSIONよりも優先されます。
デフォルト: 0
有効な値の範囲: 0または7
有効になるタイミング: Postの再開時
このパラメーターは、Postの特定のオブジェクト(テーブルなど)のデバッグを可能にします。SP_OPO_OBJID_DEBUGパラメーターは通常、非同期のデバッグに使用されます。SP_OPO_OBJID_DEBUGパラメーターを使用するには、ターゲットシステムでその値を、ソースデータベースのオブジェクトのオブジェクトIDの値に設定します。
デフォルト: 0
有効な値の範囲: 0以上の任意の数値
有効になるタイミング: 即時
このパラメーターは、Postプロセスのオンラインデバッグ機能を制御します。
オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。
このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。
例:
sp_ctrl> set sp_opo_oneline_debug 230230, 351626
以下の項目が記録されます。
デフォルト: 無効
有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列(カンマで区切る)
有効になるタイミング: 即時
このパラメーターは、非同期状態を検出したときのSharePlexの動作を以下に基づいて制御します。
値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管理ガイド』を参照してください。
トランザクションに非同期の操作が含まれている場合にトランザクション全体をロールバックするようにPostを設定するには、SP_OPO_SAVE_OOS_TRANSACTIONも参照してください。
デフォルト: 0(非同期状態では停止しない)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、Postプロセスがターゲットインスタンスにレコードをポストするまでの遅延時間を制御します。通常、Postはソースシステムとターゲットシステム間のレイテンシを最小にするために変更を即座に適用しますが、最大5日間(7200分)ポストを遅らせることができます。
ポストを遅らせることで、ソースシステムでの不要な削除やオブジェクトのドロップによる偶発的な損失からデータを保護することが可能になります。この遅延により、間違いを検知し、間違いがレプリケートされる前にターゲットインスタンスからデータを回収するのに十分な時間が得られます。「what-if」分析を実行することも、このパラメーターをデフォルトから変更する理由のひとつです。ターゲットデータベースを時間的に遅らせることで、実際のものとcompareして予測モデリングを検証することができます。
SP_OPO_POSTER_DELAYによる遅延は、メッセージが最初にREDOログに表示された時点から測定されます。
このパラメーターを使用する際は、以下の点を考慮してください。
パラメーターの設定に基づいていつポストを開始するかを決定するために、SharePlexはターゲットシステムの現在のタイムスタンプと、ソースシステムのREDOログにレコードが記録された時刻をcompareします。これらのマシンは、別々の、互いに何千マイルも離れている場所にある可能性があります。タイムゾーンの差を考慮し、それを遅延時間に追加します。
例えば、アメリカのカリフォルニア州ロサンゼルスとオーストラリアのシドニーでは18時間の時差があります。ポストを5時間遅らせるには、希望する5時間の遅延と18時間の時差を考慮して、SP_OPO_POSTER_DELAYを23時間(1,380分)に設定する必要があります。また、その場所がサマータイムを採用しているかどうかも考慮してください。それにより、2地点間の時差が変わる可能性があります。サマータイムの実施方法は、サマータイムを導入している国によって異なり、同じ国内でも異なる場合があります。
デフォルト: 0分
有効な値の範囲: 0~7,200分
有効になるタイミング: 即時
このパラメーターを1に設定すると、部分的ロールバックで不一致が発生したときに Postが停止します。これにより、問題を調査し、解決してから、Postの処理を再開できます。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、Postの読み取り/リリースの頻度を制御します。通常、Postは各COMMITを受信した後に読み取り/リリースを実行します。これは、チェックポイントのリカバリプロセスの一環として、キューからそのトランザクションのデータを削除することを意味します。小規模なトランザクションの場合は、これが要因となってターゲットシステムで過剰なI/Oが行われ、Postの速度を低下させます。ほとんどのトランザクションが小規模の場合は、PostがCOMMITの後に毎回行うのではなく、一定のメッセージ数に達した後に読み取り/リリースを行うようにこのパラメーターを設定できます。
読み取り/リリースの間隔を設定する場合、コミットされたトランザクションの後に新しいデータが続かない場合(例えば、その日の最後のトランザクションの場合や、それ以上のユーザアクティビティがない場合)、PostはCOMMITを処理し、内部パラメーターSP_OPO_IDLE_LOGOUTによって制御される一定時間待機することに注意してください。データが到着しない場合、PostはSP_OPO_READRELEASE_INTERVAL間隔が満たされていなくても読み取り/リリースを実行します。postキュー内のメッセージ数が0になり、Postがキューからのメッセージをすべて処理し終わったことを示します。
注意: Postプロセスには複数のスレッドがあるため、メッセージ数はキューではなく各スレッドに関連付けられます。そのため、読み取り/リリースの間隔が予想よりも長くなり、デフォルト値を小さくする必要がある場合があります。
デフォルト: 100
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターはPostのWHERE句の内容を制御します。PostはWHERE句を使用して、ソースから複製されたUPDATEによって変更する必要がある行をターゲットで見付けます。SharePlexの機能によって、PostのWHERE句で使用する必要のあるデータの量が異なることがあります。
重要! ピアツーピア構成では0に設定する必要があります。
注意: 水平分割レプリケーションでSP_OPX_REDUCED_KEYパラメーターが2に設定されている場合、PostはUPDATE句のために追加される列のキーと変更前のデータでWHERE句を準備します。
SP_CAP_REDUCED_KEYも参照してください。
デフォルト: 0
有効な値の範囲: 0、1、2
有効になるタイミング: Postの再開時
このパラメーターは、初回に失敗したSQLステートメントのポストをPostプロセスが試行する回数を制御します。
Postは、失敗した操作のうち、再試行すれば成功する可能性があるものを再試行します。Postが再試行する主な操作は、TNSの書き込みの失敗、接続の失敗、またはPostがTRUNCATEを適用する必要があるテーブルのロックです。
失敗した操作が成功する可能性を高めるには、SP_OPO_RETRIES_MAXパラメーターの値を大きくして、Postが試行できる操作の回数を増やします。同時に、SP_OPO_RETRY_DELAY_TIMEパラメーターの値を大きくして、試行間隔を長くします。その結果、試行と次の試行の間にロックやその他のブロック操作を解決するのに十分な時間を確保できます。
Postプロセスがエラー発生時に続行するように設定されている場合(SP_SYS_SUSPEND_ON_ERROR=0)、またはエラーメッセージがoramsglistファイルに記載されている場合、Postはキュー内の次のトランザクションに移ります。それ以外のすべての場合では、最大試行回数に達するとPostは停止します。
注意: oramsglistファイルの詳細については、『SharePlex管理ガイド』を参照してください。
重要: このパラメーターの値を小さくすると、キューにデータが蓄積され、利用可能なディスク容量を超える可能性があります。
デフォルト: 10回
有効な値の範囲: 0または任意の正の整数
有効になるタイミング: 即時
このパラメーターは、トランザクションに非同期操作が含まれている場合に、Postがトランザクションをロールバックして破棄するかどうかを制御します。この機能は、SP_OPO_SAVE_OOS_TRANSACTIONパラメーターによって制御されます。
このパラメーターが1に設定され、トランザクションに非同期エラーを発生させる操作が含まれている場合、Postはトランザクション全体を破棄し、そのトランザクションのすべての操作をSQLファイルに保存します。このファイルを編集して失敗したSQLの問題をrepairしてから、ファイルを実行してターゲットデータベースにトランザクションを適用することができます。
このパラメーターを1に設定すると、Postはロールバックされたトランザクションに続く有効なトランザクションの処理をデフォルトで継続します。これはターゲットのレイテンシを防止するためです。トランザクションをロールバックした後にPostを停止するように設定するには、SP_OPO_OUT_OF_SYNC_SUSPENDパラメーターを1に設定します。
重要! このパラメーターは、アプリケーションが1つのトランザクション内で相互に依存するすべての変更を行うことが分かっている場合にのみ使用してください。
ロールバックされるトランザクションに関係するすべてのテーブルには、以下のデータ型のみが含まれている必要があります。
ロールバックされたトランザクションには、それぞれ独自のSQLファイルがあります。ファイル名はSCN_queue.sqlです。ここで、
ファイル名の例:
4346118046_postq1.sql
メモ:
|
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Postの再開時
このパラメーターは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の再開時
このパラメーターは、DDLの適用中にエラーが発生した場合にPost処理を停止するかどうかを制御します。デフォルトの1は、エラーが発生した場合にPostを停止させます。エラーは通常、DDLが実行されたソースコンポーネントがターゲットデータベースに存在しないことを示し、後続のDMLの変更も失敗する可能性があることを示します。Postを停止することでDMLの失敗を防止し、問題を修正してデータベースの同期を保つことができます。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、PostがターゲットにDELETE操作を適用するかどうかを制御します。DELETE操作を抑制することは、データウェアハウスのように、ソーステーブルから削除されても行が一元的に存在しなければならない状況では適切である可能性があります。このパラメーターは、設定ファイルを変更したりアクティベーションしたりすることなく、設定および設定解除できます。DELETEを抑制するには、1に設定します。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: プロセスの再開時
このパラメーターは、ソースからレプリケート中の変更がターゲット行に既に含まれていることをPostが検出した場合に、非同期メッセージを返すかどうかを制御します。この条件が満たされた場合、PostはレプリケートされたSQLを破棄し、イベントログまたはerrlog.sqlログファイルに非同期メッセージを書き込みません。
このパラメーターは、以下の場合にINSERT、UPDATE、およびDELETE操作をサポートします。
注意: SharePlex は、ターゲット値がレプリケートされた後の値と一致しない場合、非同期メッセージを返します。
デフォルトでは、このパラメーターは有効になっています。ただし、Postで検出されない非同期値が存在する可能性があるため、compareコマンドのような、すべてのターゲットデータを検証するツールを使用する必要があります。
デフォルト: 1
有効な値の範囲: 0(無効)または1
有効になるタイミング: 即時
このパラメーターは、Postが非同期メッセージをイベントログ(変数データディレクトリのevent_logファイル)に記録する頻度を制御します。Postは非同期状態を検出すると、非同期イベントを生成します。ターゲットテーブルが非同期であるため、イベントログが非同期メッセージでいっぱいになっている場合、このパラメーターを使用して、これらのメッセージがログに記録される頻度を制御することができます。
このパラメーターが0より大きい場合、Postは最初の非同期エラーをログに記録し、その後は指定された間隔でのみ非同期メッセージをログに記録します。Postは、非同期テーブルが再同期できるようになるまで、有効なデータをポストし続けます。
デフォルト: 1(非同期ッセージを毎回記録)
有効な値の範囲: 0より大きい整数
有効になるタイミング: 即時
このパラメーターは主にテストで使用され、SQLスレッドが複数のサブキューを処理しているときの動作を確認します。最小のスレッド数は4で、Postプロセスは、メインスレッド、タイムキーパースレッド、シグナル・ウェイター・スレッド、および1つのSQLスレッドを作成できます。
デフォルト: 128スレッド
有効な値の範囲: 4スレッド(最小)~1024スレッド(最大)
有効になるタイミング: Postプロセスの再開時
このパラメーターは、Postプロセスがコミットを追跡するかどうかを制御します。1に設定すると、Postはコミットごとに行を挿入します。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Postプロセスの再開時
このパラメーターは、変更履歴ターゲットデータベースを管理する際に、PostがどのDMLを追跡するかを制御します。デフォルトでは、PostはすべてのDMLタイプを追跡します。例えば、挿入と更新のみを追跡するようにPostを設定するには、パラメーターをI/Uに設定します。
デフォルト: I/U/D(挿入、更新、および削除)
有効な値の範囲: スラッシュ(/)で区切られたI、U、Dの任意の組み合わせ
有効になるタイミング: Postプロセスの再開時
このパラメーターは、Postプロセスが挿入および更新の変更前イメージ、または削除の変更後イメージを追跡するかどうかを制御します。挿入の変更前イメージと削除の変更後イメージには、キー値が含まれ、その他の列はすべてNULLに設定されます。
このパラメーターは、I、U、D、またはスラッシュで区切られたこれらの値の任意の組み合わせ(I/Uなど)に設定できます。このパラメーターを使用すると、Postは指定されたタイプの操作ごとに2つの行を適用します。1つには変更前イメージの列値、もう1つには変更後イメージの値が入ります。
デフォルト: オフ
有効な値の範囲: I、U、D
有効になるタイミング: Postプロセスの再開時
このパラメーターは、信頼できるソースシステムを指定します。このシステムには、ピアツーピアレプリケーション環境でプライマリデータセットとみなされるデータが格納されています。信頼できるホストは、カスタムのコンフリクト解決ルーチンで使用することができ、SharePlexで提供される準備されたルーチンの1つの基礎でもあります。コンフリクト解決とピアツーピアレプリケーションの詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: なし
有効な値の範囲: SharePlexレプリケーション環境で有効な任意のホスト名
有効になるタイミング: Postプロセスの再開時
このパラメーターはOracle SCNの追跡を制御し、高可用性クラスタでの操作時にSharePlexをすばやく回復させることができます。このパラメーターを有効にすると、SharePlexは内部トランザクションテーブルでSCNを追跡します。これによりSharePlexは、最も適用されていないトランザクションまでアクティベーションするため、フェールオーバーの発生時に正しいトランザクションに合わせて調整することができます。
注意: このパラメーターを有効にすると、PEP(Post Enhanced Performance)機能のコミット削減機能が無効になります。SCNの追跡時にはこの機能はサポートされません。
デフォルト: 0
有効な値の範囲: 0(無効)または1(有効)
有効になるタイミング: Postの再開時
このパラメーターを指定すると、Postはターゲットデータベースに数値を入力する際にVARNUMを使用するようになります。これにより、データベースの数値列に非標準の高精度値を入力することができます。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Postの再開時
このパラメーターは、Postが古いまたは停止中のOracleセッションを強制終了することを伝えるメッセージを生成するまでに待機する時間を制御します。これらのメッセージはPostの起動時に発生します。
デフォルト: 300秒
有効な値の範囲: 86,400までの任意の正の整数
有効になるタイミング: Postの再開時
これらのパラメーターは、Open Target(Oracle以外)にデータを適用する際にSharePlexのPostプロセスで使用されます。
同じ操作の複数のトランザクションを適用するときにパフォーマンスを最大化するために、Postプロセスはトランザクションをグループ化し、バッチとして適用することができます。SP_OPX_BATCH_ENABLEパラメーターはこの機能を制御します。デフォルトでは有効になっています。SP_OPX_MAX_BATCH_MBYTESはバッチの最大サイズを制御します。
デフォルト: 1(有効)
有効な値の範囲: 0または1
有効になるタイミング: 即時
Post Enhanced Performance機能のコミット削減コンポーネントにしきい値を設定します。コミット削減機能により、小規模なトランザクションのバッチを大規模なトランザクションにまとめるようにPostを設定することができます。これにより、処理しなければならないコミットや確認の数を減らすことができます。トランザクションが小さければ小さいほど、パフォーマンスは向上します。
指定されたメッセージ数に達すると、Postはコミットを発行します。トランザクションの境界がこのメッセージの範囲内にあるトランザクションのコミットはスキップされ、それらのトランザクションはすべて1つのトランザクションとしてコミットされます。コミット削減はデフォルトでオンになっています。無効にするには、このパラメーターの値を1に設定します。
このパラメーターの設定は絶対的なしきい値ではありません。SharePlexは、結合された異なるトランザクションにトランザクションを分割することはありません。したがって、すべての操作とグループ内の最後のトランザクションのコミットを含めるために、Postがそのしきい値を超えなければならない可能性があります。
デフォルト: 100個のメッセージ
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターは、特定の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(フラグ)
有効になるタイミング: 即時
このパラメーターは、ソーステーブルのオブジェクト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のリスト
有効になるタイミング: 即時
このパラメーターは、バッチDML操作の最大サイズを制御します。ターゲットにSQL操作を適用する際のパフォーマンスを最大化するために、Postプロセスは小さなレプリケート操作を1つの大きなバッチ操作にグループ化します。操作が同一でSQLが類似している場合、Postはレプリケートされた操作をグループ化します。Postは、SP_OPX_MAX_BATCH_MBYTESで指定されたバッチサイズに達するまで、(条件が一致する)操作をバッチに追加し続けます。
SP_OPX_BATCH_ENABLEパラメーターはこの機能を有効にします(デフォルトでは有効)。
デフォルト: 1メガバイト
有効な値の範囲: 1~任意の正の整数
有効になるタイミング: 即時
このパラメーターは、Postプロセスが使用するメモリの量を制御します。Open TargetのPostプロセスは、トランザクションデータを一時的に保存するために内部キューを使用します。このパラメーターは、この内部キューが使用するメモリの最大量を制御します。
デフォルト: 5,000個のメッセージ
有効な値の範囲: 整数、最大値なし
有効になるタイミング: Postの再開時
このパラメーターは、Oracleソースと非Oracleターゲット間の文字セットの変換を制御します。
Open Targetターゲット(Oracle以外のターゲット)にレプリケートする場合、SharePlexは、任意のOracle Unicode文字セットおよびUS7ASCII文字セットからのレプリケーションをサポートします。SharePlexはUnicode文字セットでOpen Targetターゲットにデータをポストするため、ソースデータがUnicodeまたはUS7ASCIIの場合、ターゲット上で変換する必要はありません。
ただし、以下の項目に当てはまる場合は、ターゲット上で変換が必要となります。
Linux上のOracleクライアントで変換を実行するには:
UnicodeとUS7ASCIIのデータを変換せずに適用するには:
ソースデータがUnicodeまたはUS7ASCIIで、LOBデータをレプリケートしない場合は、変換やOracleクライアントは必要ありません。SP_OPX_NLS_CONVERSIONパラメーターを0に設定して変換を無効にし、Postが実行中であれば再起動します。
デフォルト: 1
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Postの再開時
このパラメーターは、Open TargetのPostプロセスのオンラインデバッグ機能を制御します。
オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。
このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。
例:
sp_ctrl> set sp_opo_oneline_debug 230230, 351626
以下の項目が記録されます。
デフォルト: 無効
有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列(カンマで区切る)
有効になるタイミング: 即時
このパラメーターは、SP_OPX_ONELINE_DEBUGが有効な場合に列の値をログに記録するかどうかを制御します。これは、非同期の状態を診断するのに役立ちます。オンラインデバッグが有効になっているときに指定されたオブジェクトの列の値をログに記録するには、SP_OPX_ONELINE_DEBUG_COLUMNSを1に設定します。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: 即時
このパラメーターは、非同期状態を検出したときのSharePlexの動作を以下に基づいて制御します。
値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(フラグ)
有効になるタイミング: 即時
このパラメーターは、Postがトランザクション方式でJMSサーバにポストするように設定されている場合に使用します(targetコマンドのsession_transactedプロパティで指示されるようにすべてのメッセージの後ではなく、一定間隔でJMSコミットを発行)。
このパラメーターは、読み取り/リリースの間隔(Postがキューからトランザクションのデータをパージする頻度)を制御します。
デフォルト: 1,000
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターはPostのWHERE句の内容を制御します。PostはWHERE句を使用して、ソースから複製されたUPDATEによって変更する必要がある行をターゲットで見付けます。SharePlexの機能によって、PostのWHERE句で使用する必要のあるデータの量が異なることがあります。
重要! ピアツーピア構成では0に設定する必要があります。
注意: 水平分割レプリケーションでSP_OPX_REDUCED_KEYパラメーターが2に設定されている場合、PostはUPDATE句のために追加される列のキーと変更前のデータでWHERE句を準備します。
SP_CAP_REDUCED_KEYも参照してください。
デフォルト: 0
有効な値の範囲: 0、1、2
有効になるタイミング: Postの再開時
このパラメーターは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の再開時
このパラメーターは、DDLの適用中にエラーが発生した場合にPost処理を停止するかどうかを制御します。デフォルトの1は、エラーが発生した場合にPostを停止させます。エラーは通常、DDLが実行されたソースコンポーネントがターゲットデータベースに存在しないことを示し、後続のDMLの変更も失敗する可能性があることを示します。Postを停止することでDMLの失敗を防止し、問題を修正してデータベースの同期を保つことができます。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、Post Enhanced Performance機能のTransaction Concurrencyコンポーネントを制御します。2以上の値に設定すると、指定されたスレッド数(同時処理数)でPostが実行されます。
このパラメーターはSQL ServerおよびPostgreSQLデータベースをサポートしています。通常は、システム上のプロセッサーのコア数に設定しなければなりません。
Postのパフォーマンスを調整する方法の詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 1(無効)
有効な値の範囲: Max_connection値未満
有効になるタイミング: Postの再開時
このパラメーターは、信頼できるソースシステムを指定します。このシステムには、ピアツーピアレプリケーション環境でプライマリデータセットとみなされるデータが格納されています。このパラメーターは、SharePlexによって提供される準備されたコンフリクト解決ルーチンで使用されます。SP_OPX_TRUSTED_SOURCEパラメーターは、両方のサーバで同じ値に設定する必要があります。コンフリクト解決とピアツーピアレプリケーションの詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: なし
有効な値の範囲: SharePlexレプリケーション環境で有効な任意のホスト名
有効になるタイミング: Postプロセスの再開時
これらのパラメーターは、SharePlexキューのプロパティを制御します。
このパラメーターは、sp_copのインスタンスごとに許可されるキューの最大数を決定します。デフォルトでは、各captureキューとexportキューは8 MBの共有メモリを使用し、各postキューは32 MBを使用します。システムに十分なメモリがある場合、このパラメーターの値を増やすことができます。SharePlexは起動時に、アクティブな設定ファイル内のキュー数に必要な共有メモリ量を表示します。
デフォルト: 25
有効な値の範囲: 9~254
有効になるタイミング: sp_copの再開時
このパラメーターは、postキューの固有の共有メモリサイズを決定します。
重要: このパラメーターの値を大きくするには、システム設定で共有メモリの最大セグメントサイズを大きくする必要がある場合があります。
デフォルト: 32メガバイト
有効な値の範囲: 0より大きい整数
有効になるタイミング: sp_copの再開時
このパラメーターは、captureキューおよびexportキューの固有の共有メモリサイズを決定します。
デフォルト: 8メガバイト
有効な値の範囲: 0より大きい整数、最大値なし
有効になるタイミング: sp_copの再開時
このパラメーターは、SharePlexプロセスが一度にキューから読み込んだり、キューに書き込んだりする情報量を決定する共有メモリのバッファサイズを制御します。バッファは、データの高速で安全な非同期転送を促進するSharePlexチェックポイント・リカバリ・プロセスの一部です。デフォルト設定は最適な値であり、テクニカルサポート担当者の指導または文書化されたSharePlex手順がない限り変更しないでください。ただし、トランザクションの大半が大規模である場合は、このパラメーターを変更してもかまいません。初期設定を65536にしてみてください。このパラメーターに設定する値はすべて2の累乗にする必要があります。
重要: このパラメーターの値を64kより大きくするには、システム設定で共有メモリの最大セグメントサイズを大きくする必要がある場合があります。
デフォルト: 32,768バイト
有効な値の範囲: 2の累乗の任意の正の整数
有効になるタイミング: SharePlexの再開時
SP_QUE_SYNCは、キューデータのディスクへの書き込みがディスクメディアに書き込まれたことを検証してから戻るようにキューモジュールに指示します。これは、UnixやLinuxの標準のディスク書き込みモデルではありません。
デフォルトのOSディスクI/O手順では、ディスク書き込みはOSの内部バッファキャッシュに書き込まれ、その後ディスクに書き込まれます。この動作によって、ディスクへの書き込みのオーバーヘッドが分散され、プロセスはデータがディスクに書き込まれるのを待つ必要がなくなります。データブロックがバッファキャッシュに書き込まれると、データにアクセスするアプリケーションは、バッファキャッシュに書き込まれたデータとディスクに書き込まれたデータを区別できません。OracleのCOMMITとは異なり、ファイルにアクセスできるすべてのプロセスは、バッファキャッシュ内のデータにもアクセスできます。データブロックがバッファキャッシュに書き込まれてから物理メディアに書き込まれるまでの間にシステムクラッシュが発生した場合、メディアに書き込まれていないデータはシステムリカバリ時に失われる危険性があります。
SP_QUE_SYNCパラメーターは以下のように実装されます。
SP_QUE_SYNC=0
2つ目の段落で説明されているOSのデフォルトケースは、SharePlexキューデータに使用されるディスク書き込みアルゴリズムです。
SP_QUE_SYNC=1
SP_QUE_SYNC を1に設定すると、各キューデータとヘッダーファイルを開く際にO_SYNCフラグが設定されます。このフラグは、データがディスクに正常に書き込まれるまで、書き込み呼び出しを戻さないようにOSに指示します。同期フラグがない場合(「通常の」I/O)、ファイルデータ用に領域が割り当てられますが、システムクラッシュ、クラスタフェールオーバー、またはOSの実行を停止させるようなその他の重大な問題のために、ファイルデータが書き込まれない可能性があります。
SP_QUE_SYNC=2(SharePlexのデフォルト設定)
SP_QUE_SYNCパラメーターを2に設定しても、O_SYNCフラグはオンになりません。その代わり、キューへの書き込みCOMMITが呼び出されるまで、通常の書き込みが行われます。書き込みCOMMITの一部として、キューモジュールは各キュー・データ・ファイルに対してシステム呼び出しfsyncを実行し、さらにキュー・ヘッダー・ファイルに対してシステム呼び出しfsyncを実行します。これによって、後で書き込みCOMMITによって書き換えられる可能性のあるデータに対する冗長な同期操作が排除されます。
SP_QUE_SYNCの設定の影響
SP_QUE_SYNCを、ディスク書き込みが完了してから戻るような値に設定すると、SharePlexのパフォーマンスに影響を与える可能性があり、SharePlex以外のプロセスのI/O処理がわずかに増加する可能性があります。オーバヘッドの量は、キュー内のデータ量、ファイルシステムのタイプ、および使用中のディスクドライブとディスクコントローラのタイプに依存します。
SP_QUE_SYNCが実行しない機能
SP_QUE_SYNCパラメーターが実行しない機能は多数あります。最も一般的な問題は次の通りです。
「共有メモリ不足」エラーや「仮想メモリ不足」エラーを引き起こしたり、防止したりしません。共有メモリの喪失を示すメッセージが表示される場合は、キューモジュールのデマンド・ページング・システムの障害である可能性が最も高いです。「仮想メモリ不足」エラーが発生した場合は、データセグメントの制限に関するOSのパラメーターを確認してください。通常または予想される制限値では不十分な場合は、テクニカルサポートにお問い合わせください。
クラスタでのSP_QUE_SYNCの使用
クラスタでは、クラスタのプライマリノード(共有変数データディレクトリがマウントされているノード)、および同じレプリケーション環境の一部である、クラスタ外の各ソースマシンおよびターゲットマシンでSP_QUE_SYNCを設定します。
デフォルト: 2
有効な値の範囲: 0~2
有効になるタイミング: SharePlexの再開時
このパラメーターはキューのパフォーマンスを向上させます。ソースで大量の同時処理が行われる場合、postキューには多数のサブキューが含まれる可能性があります(各サブキューはトランザクションセッションを表す)。これがPostプロセスのパフォーマンスを低下させる可能性があります。このパラメーターは、サブキュー構造へのアクセスに改善されたインデックスを使用するようにSharePlexに指示します。このパラメーターが有効になっているすべてのpostキューに対して、メッセージ「Subqueue index enabled queuename(サブキューインデックスが有効になっているキュー名)」がイベントログに書き込まれます。
このパラメーターはVARRAYをサポートしません。VARRAYを複製しているときにこのパラメーターが有効になっている場合、このパラメーターは無視されます。
デフォルト: 0
有効な値の範囲: 0(無効)または1(有効)
有効になるタイミング: SharePlexの再開時
これらのパラメーターは、SharePlex sp_copプログラムによって使用されます。
このパラメーターは、sp_copが非アクティブである時間間隔を決定します。アイドル時間の目的は、マシンのリソースを節約することです。一般的に、sp_copはレプリケーションの中心的役割を担っているため、長い時間アイドル状態にすべきではありません。sp_copがオーバーヘッドアクティビティにCPU時間を使いすぎている場合、このパラメーターを使用してアイドル時間を増やすことができます。オーバーヘッドを減らすための推奨値は600秒です。
デフォルト: 60秒
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、プロセスを停止または再起動する必要があるかどうかを判断するために、sp_copがサービステーブルをスキャンする最初の時間間隔を設定します。
SharePlexの実行が継続すると、各プロセスの履歴に応じてこの間隔が変わる可能性があります。
デフォルト: 300秒
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、ターゲットマシンのTCP/IPウィンドウサイズを調整します。ソースマシンのSP_XPT_SO_SNDBUFパラメーターと連動して、ネットワークを介して送信されるパケットのサイズを確立します。SharePlexは、sp_copとExportプロセスの開始時、TCP/IPソケットが作成されるときに両方のパラメーターを参照します。
SharePlexがWANを通じてレプリケートされ、exportキューが常に滞留している場合は、両方のパラメーターを調整してみてください。SP_COP_SO_RCVBUFは、1024バイトの倍数で、SP_XPT_SO_SNDBUFの値以上に設定しなければなりません。パラメーターのサイズを設定するには、ソースマシンとターゲットマシンの間のping時間を決定し、両方のパラメーターに以下の式を使用します。
param_value / ping_time= 1秒あたりのバイト数
例えば、ping時間が200ミリ秒、2つのパラメーターの値が64Kの場合、SharePlexは、毎秒5個の64Kパケットを送信し、合計で毎秒320Kを送信することになります。
帯域幅の問題が確認されない限り、Questでは、両方のパラメー ターをデフォルト(システムの設定を使用する)のままにしておくことを推奨します。SP_COP_SO_RCVBUFを変更するには、これをターゲットシステム上で設定し、そのシステム上でsp_copを停止してから開始します。
それでも転送が遅い場合は、ターゲットシステムのSP_IMP_WCMT_MSGCNTパラメーターとSP_IMP_WCMT_TIMEOUTパラメーターを大きくしてください。SP_IMP_WCMT_MSGCNTを少なくとも10,000に設定します。
デフォルト: 0(デフォルトはオペレーティングシステムによって設定される)
有効な値の範囲: 1,024の倍数を使用したバイト単位の正の整数。最大値はオペレーティングシステムによって設定されます。
有効になるタイミング: SharePlexの再開時
このパラメーターは、SharePlex sp_copプロセス間のTCP/IP通信に使用するTCP/IPポート番号を設定します。相互にレプリケートするすべてのsp_copプロセスは、同じTCP/IPポート番号を使用する必要があります。SP_COP_TPORTのデフォルト設定は2100ですが、インストール時に別のポート番号を設定することもできます。インストール後は、set portコマンドを使用して、別のポート番号を設定することができます。それ以降、sp_copは新しいポート番号を使用します。
デフォルト: 2100
有効な値の範囲: 任意の正の整数
有効になるタイミング: SharePlexの再開時
このパラメーターは、SharePlex sp_copプロセス間の通信に使用するUDPポート番号を設定します。相互にレプリケートするすべてのsp_copプロセスは、同じUDPポート番号を使用する必要があります。SP_COP_UPORTのデフォルト設定は2100ですが、インストール時に別のポート番号を設定することもできます。インストール後は、set portコマンドを使用して、別のポート番号を設定することができます。それ以降、sp_copは新しいポート番号を使用します。
デフォルト: 2100
有効な値の範囲: 任意の正の整数
有効になるタイミング: SharePlexの再開時
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center