これらのパラメーターは、SharePlexCaptureプロセスで使用されます。
このパラメーターは、Oracle Data Pumpのexport/importを実行する際に発生するDDL操作のレプリケーションにSharePlexが失敗した場合に有効にすることができます。場合によっては、SharePlexは、Data PumpのロードでDDLを無視すべき再帰的なDDLとして識別することがあります。このパラメーターは、そのDDLをキャプチャするようにSharePlexに指示します。
1を設定すると、このパラメーターが有効になります。ロード終了後、このパラメーターを0に戻し、Captureを再開します。
デフォルト: 0
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Captureプロセスの再開時
このパラメーターはアーカイブログへのパスを定義します。REDOログがラップした場合、SharePlexはOracleのアーカイブ・ログ・リストでアーカイブログを検索します。ここでアーカイブログを見つけられない場合、SharePlexはこのパラメーターによって指定されたディレクトリを検索します。サブディレクトリも検索します。デフォルトは/homeディレクトリです。アーカイブログのパスが異なる場合は、このパラメーターで正しいフルパス名を指定します。以下の例のようにセミコロン(;)で区切れば、複数のディレクトリパスを指定できます。この例では、Captureは/disk1/logと/disk2/logの両方のパスでログを検索します。
sp_ctrl> set param SP_OCT_ARCH_LOC /disk1/log;/disk2/log
SharePlex for RACのディレクトリパスを指定するには、以下を使用します。
sp_ctrl> set param SP_OCT_ARCH_LOC !;<node1_oracle_sid>;<node1_arch_absolutepath>;<node2_oracle_sid>;<node_arch_absolute_path>
パス名の非RAC形式では、セミコロンで区切られたディレクトリパス名のリストを使用できることに注意してください。リストの長さは、1,023バイトの制限まで任意の長さにできます。ただし、!;の後にsid;pathnameのペアのリストが続くRAC形式では、非RAC形式のようにパス名をパス名のリストにすることはできません。各SIDの後には、厳密に1つのディレクトリパス名を付けなければなりません。1つのインスタンスSIDに複数のパス名を指定する場合は、各エントリが同じSIDを持つ2つのエントリの対を入れなければなりません。したがって、以下のように指定することはできません。
!;sid1;path2;path2;path3;sid2;path4
この例の適切な形式は以下の通りです。
!;sid1;path2;sid1;path2;sid1;path3;sid2;path4
デフォルト: 空の文字列
有効な値の範囲: 復元されたアーカイブログへの完全なディレクトリパス
有効になるタイミング: 即時
このパラメーターは、ASMブロックの再クエリを実行してキャッシュを更新する前に、現在のASMキャッシュを保持する期間を制御します。
デフォルト: 40
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
エクステントをキャッシュするバッファの要素数。エクステントは、Oracle ASMにおけるファイルストレージの単位です。この数値を大きくするとメモリ使用量が増えます。
デフォルト: 20
有効な値の範囲: 9を超える任意の値
有効になるタイミング: Captureプロセスの再開時
同時に読み取まれるASMファイルの最大数。この数値を大きくするとメモリ使用量が増えます。
デフォルト: 10
有効な値の範囲: 4を超える任意の値
有効になるタイミング: Captureプロセスの再開時
このパラメーターは、Exadataシステムでマルチスレッドキャプチャを有効にするためにSP_OCT_ASM_MULTI_OCIが設定されている場合に、各Captureスレッドで使用されるバッファのサイズを制御します。このパラメーターはデフォルトのままにしておく必要があります。Captureは、ログが置かれたディスクグループに設定されているAU_SIZEパラメーターの値に合わせてバッファサイズを自動的に調整します。これは、最高のパフォーマンスを発揮するために推奨されるバッファサイズです。
デフォルト: 0
有効な値の範囲: 任意の正の整数
有効になるタイミング: Captureプロセスの再開時
このパラメーターは、CaptureがREDOログの読み取りに使用するスレッド数を制御します。このパラメーターを使用するには、SP_OCT_OLOG_USE_OCIを1に設定する必要があります。
このパラメーターの値は、REDOログ・ディスク・グループ内のディスク数を超えない範囲で2以上に設定する必要があります。
多くのスレッドは必要ありません。実際に、スレッド数が多すぎるとパフォーマンスが低下します。スレッド数が多ければ多いほど、Captureに多くのメモリが必要になります。少ないスレッド数から始めてパフォーマンスを監視し、パフォーマンス向上とメモリ使用量の理想的なバランスが得られるまで、必要に応じてスレッドを追加します。
デフォルト: 0(シングル・スレッド・キャプチャ)
有効な値の範囲: 最小値は2、最大値はREDOログを格納するASMディスクグループのディスク数です。
有効になるタイミング: Captureプロセスの再開時
同時にファイルにアクセスするセッションの最大数。
デフォルト: 10
有効な値の範囲: 4を超える任意の値
有効になるタイミング: Captureプロセスの再開時
このパラメーターは、ASMがサポートするプラットフォーム上でREDOログとアーカイブログのサポートを有効または無効にします。これは、SharePlexデータベース接続がASMに接続するように設定されている場合に自動的に有効になります。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Captureプロセスの再開時
このパラメーターは、新たに作成されたオブジェクトをアクティブなレプリケーション設定に自動的に追加するためのグローバルパラメーターです。デフォルトでは、テーブルとインデックスに適用されます。他のオブジェクトタイプを自動で追加するには、追加のパラメーター設定が必要です。
この機能は以下のように動作します。
SP_OCT_AUTOADD_ENABLEを有効にすると、以下のオブジェクトの自動追加がデフォルトで有効になります。
自動追加をサポートするには、SP_OCT_AUTOADD_ENABLEを有効にすることに加えて、以下のオブジェクトを明示的に有効にする必要があります。
CREATE MATERIALIZED VIEW操作で指定されたマテリアライズドビューのサポートテーブルは、マテリアライズドビューの名前がアクティブな設定ファイルのワイルドカードと一致し、SP_OCT_AUTOADD_MVIEWパラメーターが1に設定されている場合に、自動的にレプリケーションに追加されます。新しいマテリアライズドビューの自動追加をサポートするには、SP_SYS_TARGET_COMPATIBILITYパラメーターを8.6.2以上に設定する必要があります。
CREATE SEQUENCE操作で指定されたシーケンスは、アクティブな設定ファイルのワイルドカードと名前が一致し、SP_OCT_AUTOADD_SEQパラメーターが1に設定されている場合に、自動的にレプリケーションに追加されます。新しいシーケンスの自動追加をサポートするには、SP_SYS_TARGET_COMPATIBILITYパラメーターを8.6.3以上に設定する必要があります。
注意: シーケンスへの変更を複製するには、SP_OCT_REPLICATE_SEQUENCESパラメーターを1(デフォルト)に設定する必要があります。
パラメーターSP_OCT_REPLICATE_DDLが1または3に設定されていることを確認して、DDLレプリケーションが完全に有効になっていることを確認してください。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、アクティベーションの後にマテリアライズドビューが作成された場合に、SharePlexがこれを自動的にレプリケーションに追加するかどうかを決定します。この機能を有効にすると、マテリアライズドビューの名前がアクティブな設定ファイルのワイルドカードを満たす場合、SharePlexは新しいマテリアライズドビューの基礎となるテーブルをレプリケーションに追加します。SharePlexはCREATE MATERIALIZED VIEWをCREATE TABLEステートメントに変換し、CREATE TABLEをターゲットにポストし、ビューに入力するDMLをレプリケートします。このテーブルは、将来サポートされるDDLとDMLの変更を通じて、レプリケーションによって維持されます。
マテリアライズドビューを自動的に追加するには、このパラメーターとSP_OCT_AUTOADD_ENABLEパラメーターの両方を1に設定し、ターゲット上のSharePlexのバージョンを8.6.2以降にする必要があります。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: プロセスの再開時
このパラメーターは、アクティベーションの後にシーケンスが作成された場合に、SharePlexがこれを自動的にレプリケーションに追加するかどうかを決定します。有効にすると、シーケンスの名前がアクティブな設定ファイル内のワイルドカードを満たす場合、SharePlexはCREATEステートメントをレプリケートするようになります。次にSharePlexは、将来のDDLとDMLの変更を通じてターゲット上のオブジェクトを維持します。シーケンスを自動的に追加するには、このパラメーターとSP_OCT_AUTOADD_ENABLEパラメーターの両方を1に設定し、ターゲット上のSharePlexのバージョンを8.6.3以降にする必要があります。
重要! シーケンスをレプリケートするには、データベースレベルでプライマリキーとユニークキーのサプリメンタルロギングを有効にするか、sys.seq$テーブルでプライマリキーのサプリメンタルロギングを有効にする必要があります。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: プロセスの再開時
場合によっては、Captureプロセスが定期的にチェックポイントを実行しないことがあります。チェックポイントは、リカバリに必要な場合に備えてプロセスの状態を保存します。Captureプロセスが何らかの理由で終了し、REDOログがラップした場合、SharePlexは、存在していないチェックポイントへのリカバリを試みます。SP_OCT_CHECKPOINT_LOGは、ログが切り替わる前にチェックポイントを確実に実行するようにします。
チェックポイントは、Captureが指定されたログ数だけOracleから遅れたときにトリガされます。例えば、デフォルトの2の場合、CaptureはOracleからの遅れがログ2個分以上になったときにチェックポイントを実行します。
このパラメーターの許容値の範囲は、2(デフォルト)から、使用しているログの数に等しい値までです。0を指定すると、この機能は無効になります。このパラメーターは、頻繁なログの切り替えが原因で、SharePlexの内部チェックポイントメカニズムをトリガできるようになる前に切り替えが発生する環境で有効です。
デフォルト: ログ2個
有効な値の範囲: 2~REDOログの数
有効になるタイミング: 即時
このパラメーターはSP_OCT_CHECKPOINT_FREQパラメーターと連動します。Captureプロセスがチェックポイントを実行するまでの遅延時間(秒)を定義します。SP_OCT_CHECKPOINT_FREQに設定された値より前にこのパラメーターに設定された値に到達すると、チェックポイントがトリガされます(チェックポイントは、障害復旧に必要な場合に備えてプロセスの状態を保存する)。
デフォルト: 120秒
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターを使用すると、Captureプロセスは、SP_OCT_ARCH_LOCで指定された場所にあるアーカイブのREDOログを最初に検索します。SP_OCT_ARCH_LOCが空の文字列の場合、Captureは最初にOracleで設定されているアーカイブログの保存先を検索します。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: プロセスの再開時
このパラメーターは、データオブジェクトIDからテーブルオブジェクトIDへのマッピングキャッシュで使用されるエントリ/要素の数を指定します。DLOADまたはLOBデータなどの特定の操作では、そのような操作のREDOレコードにはデータオブジェクトIDのみが含まれます。Captureプロセスは、データオブジェクトIDをテーブルオブジェクトIDにマッピングし、その操作に注目する必要があるかどうかを確認する必要があります。データオブジェクトIDからテーブルオブジェクトIDへのキャッシュはルックアップソリューションを提供しますが、提供しない場合は、CaptureプロセスでOracleに問い合わせて、データオブジェクトIDをテーブルオブジェクトIDにマッピングする必要があります。
デフォルト: 50
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、無効な日付列を検出したときに、CaptureプロセスがイベントログとCaptureログに警告メッセージを表示するように設定できます。0に設定すると無効になり、1に設定すると有効になります。Captureにより生成されるエラーメッセージは以下の通りです。
Invalid DATE format detected in record with rowid=rowid, on obj object_id. See capture log for detail.(obj object_idのrowid=rowidのレコードで無効なDATE形式が検出されました。詳細については、captureログを参照してください。)
デフォルト: 0(メッセージを印刷しない)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、DDLアクティビティのCaptureログのレベルを制御します。DDLログへのDDLの記録はSP_OCT_REPLICATE_ALL_DDLの設定に依存しません。SP_OCT_REPLICATE_ALL_DDLが0であっても、DDLは記録されます。以下の設定が可能です。
0 = ログへの記録なし
1 = レプリケートされたDDLのみ
2 = すべてのDDL
デフォルト: 2
有効な値の範囲: 0、1、2
有効になるタイミング: 即時
このパラメーターは、ALTER TABLE RENAMEの処理時に、SharePlexが設定ファイルのテーブル名を更新するかどうかを制御します。デフォルトでは、このDDL操作を処理するときにSharePlexはテーブル名を更新します。設定ファイルを更新しないようにするには、このパラメーターを無効にします。
デフォルト: 1(有効)
有効な値の範囲: 0または1
有効になるタイミング: Captureの再開時
以下のパラメーターを設定することで、ユーザやアプリケーションによって日付や時刻が誤って入力され、データベースの有効性チェックをバイパスした場合に、SharePlexがその書式を修正することができます。これらのパラメーターは、アクティベーションされるとすぐに有効になります。
SP_OCT_DEF_MONTH |
値の範囲: 1~12 |
SP_OCT_DEF_DAY | 値の範囲: 1~31 |
SP_OCT_DEF_YEAR | 値の範囲: 1987~9999 |
SP_OCT_DEF_HOUR | 値の範囲: 0~23 |
SP_OCT_DEF_MIN | 値の範囲: 0~59 |
SP_OCT_DEF_SEC |
値の範囲: 0~59
|
このパラメーターを使用すると、CaptureプロセスによりすべてのDMLおよびDDLトランザクションを無視またはフィルタリングするOracleユーザIDを指定できます。
重要: ソースマシン上のトランザクションを無視すると、非同期の状態になることがあります。
SharePlexは、指定されたユーザIDが存在するかどうかを検証しません。
デフォルト: 0x00000000
有効な値の範囲: 整数(任意の有効なOracleユーザID)
有効になるタイミング: 即時
このパラメーターはDLOADメッセージの最大サイズを制御します。メッセージの行数は、このパラメーターを各行の列数で割ることで決まります。例: テーブルの列数が99で90行のDLOADがあり、このパラメーターが5,000に設定されている場合は、メッセージは2つのDLOADメッセージに分割され、最初のメッセージには99列×50行(合計4950列)が、2つ目のメッセージには残りが含まれるようになります。
デフォルト: 10,000
有効な値の範囲: 99を超える任意の値
有効になるタイミング: 即時
このパラメーターは、行の外のLOB列を含むテーブルをレプリケートする際にSharePlexがLOBマップを使用するかどうかを制御します。LOBマップは、PK/UKロギングが有効でない場合に、CaptureプロセスでのLOBIDと行のマッピングに使用されます。LOBマッピングはデフォルトで有効になっています。これらのマッピングはSHAREPLEX_LOBMAPテーブルに格納されます。Captureがマッピングを維持して参照する必要があるため、多数のLOB操作を伴うトランザクションではCaptureの処理速度が低下する可能性があります。データベースでPK/UKロギングが有効になっている場合、このパラメーターを0に設定することでLOBマッピングを無効にすることができます。
デフォルト: 1(オン)
有効な値の範囲: 0または1
有効になるタイミング: プロセスの再開時
このパラメーターは、UPDATE操作の変更後イメージに未変更の列を含めるかどうかを制御します。デフォルトでは、SharePlexは変更された値のみを更新後イメージに含めます。
デフォルト: 0(オフ)
有効な値の範囲: 0または1
有効になるタイミング: 即時
このパラメーターは、NULL値を持つ列をINSERTステートメントでレプリケートするかどうかを制御します。デフォルトでは、SharePlexはNULL値をレプリケートしません。例えば、INSERT INTO mytable (col1, col2, col3) VALUEs ('red', 'green', 2)のようなステートメントで、mytableに6つの列がある場合、SharePlexは、明示的な'red'、'green'、および2の値のみをレプリケートし、他の3つの列の暗黙的なNULL値はレプリケートしません。SP_OCT_INSERT_INCLUDE_NULLSが1に設定されている場合、SharePlexは'red'、'green'、2、'、'、'をレプリケートします。
デフォルト: 0(オフ)
有効な値の範囲: 0または1
有効になるタイミング: 即時
このパラメーターはCaptureのLOBバッファのサイズを制御します。LOBバッファは、Captureが関連するトランザクション情報をアセンブルするまで維持しなければなりません。トランザクションを特定できない場合、SharePlexは、トランザクションを含むキュー以外の特別なサブキューを使用します。これらのサブキューのヘッダはより多くの共有メモリを必要とし、SP_OCT_LOB_BUFFER_SIZEパラメーターの値を大きくしなければならないことがあります。
LOBバッファが大きければ大きいほど、システムメモリが不足する可能性が高くなり、メモリが再び利用可能になるまで、後続のLOB操作のバッファリングが妨げられます。
したがって、SP_OCT_LOB_BUFFER_SIZEパラメーターの値を大きくするのと同時に、SP_QUE_Q_SHMSIZEパラメーターの値も大きくしなければならない可能性があります。一般にVARRAYのLOBデータのみがバッファリングされるため、通常、このパラメーターはVARRAYを含むトランザクションにのみ影響を与えます。
デフォルト: LOBあたり5 MBのメモリ
有効な値の範囲: 任意の正の整数
有効になるタイミング: Captureの再開時
このパラメーターは、Captureデバッグ・ログ・ファイルのサイズを設定します。
デフォルト: 50,000,000バイト
有効な値の範囲: 9,999バイトを超える任意の値
有効になるタイミング: Captureの再開時
SP_OCT_LOG_MEMBERパラメーターは、データ辞書のクエリを強化して、REDOログの場所を指定するために使用します。このパラメーターを使用して、操作するログファイルを正確に指定することができます。
デフォルト: %(パーセント記号)
有効な値の範囲: ワイルドカード文字を含む、正しく形成された任意のファイル名指定
有効になるタイミング: Captureの再開時
このパラメーターは、最も古いCaptureデバッグ・ログ・ファイルが削除され、新しいCaptureデバッグ・ログ・ファイルが作成されるまでに許可されるCaptureデバッグ・ログ・ファイルの数を制御します。
デフォルト: 3
有効な値の範囲: 1を超える任意の値
有効になるタイミング: Captureの再開時
Captureプロセスは、複数のREDOログ・ファイル・ブロックを一度に読み取ります。このパラメーターは、一度に読み取むブロック数を制御するもので、システムの設定や、CaptureがOracleの処理ペースに遅れをとっているかどうかに応じて値を調整することができます。必要以上に高い値を設定すると、システムのオーバーヘッドが増えることに留意してください。
デフォルト: 64ブロック
有効な値の範囲: 任意の正の整数
有効になるタイミング: Captureの再開時
このパラメーターは、以下の状況に対するCaptureの動作を制御します。
Captureがアーカイブログを見つけることができない場合、またはログを開くことができない場合、プロセスはデフォルト(設定0)で停止します。この設定では、Captureがログにアクセスできない場合、show captureコマンドは「Stopped due to missing archive log(アーカイブログがないため停止しました)」というステータスを返します。
一定時間(秒)待機してから自動的に再開するようにCaptureを設定できます。これにより、正しい読み取り権限を割り当てたり、SharePlexが期待する場所にアーカイブを移動する外部ログ管理処理を実行したりする時間ができます。Captureは待機してログをチェックし、まだ利用できなければ、または開けなければ停止し、ログがリストアされるか開かれるまでチェックと停止を続けます。この設定では、show captureコマンドは「waiting for logfile(ログファイルを定期しています)」というステータスを返します。
デフォルト: 0秒(ログがない場合は自動的に再開しない)
有効な値の範囲: 1~任意の正の秒数
有効になるタイミング: 即時
このパラメーターは、Captureが同時実行トランザクションからのデータを格納するために作成および維持するサブキューの最小数を制御します。このパラメーターは、Postがそれ自体の同時性を高められるようにすることでPost Enhanced Performance(PEP)機能をサポートします。PEP機能はSP_OPO_DEPENDENCY_CHECKパラメーターで制御されます。
最良の結果を得るには、SP_OCT_MIN_SESSIONSをターゲットシステム上のCPUコア数以上に設定します。
デフォルト: 8
有効な値の範囲: 任意の正の整数
有効になるタイミング: Captureの再開時
このパラメーターは、読み取む必要のあるデータがそれ以上ないことをCaptureのREDOログリーダーが検出したときにスリープする時間(マイクロ秒)を制御します。このパラメーターは、基本的にCaptureがアイドル状態のときにのみ有効になります。Captureの処理量が多い場合は、読み取む必要があるレコードがあるため、基本的にスリープ状態にはなりません。
デフォルト: 10,000(マイクロ秒)
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、処理するデータがないときに、ログリーダーが再試行前にスリープする時間の長さを制御します。
デフォルト: 10,000(マイクロ秒)
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、ログリーダーのキューのサイズを設定します。
デフォルト: 16,384
有効な値の範囲: 100~任意の正の整数
有効になるタイミング: プロセスの再開時
注意: SP_OCT_OLOG_RDS_MINERパラメーターの有効化はOracle 19c以降は推奨されなくなり、サポートされなくなりました。
このパラメーターは、Oracle RDSデータベースからキャプチャするときに、CaptureがOracleに遅れないようにするために2番目のスレッドを使用するかどうかを制御します。
このスレッドを使用すると処理の負荷がかかるため、デフォルトでは無効になっています。有効にするには、このパラメーターを1に設定します。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(有効)
有効になるタイミング: プロセスの再開時
このパラメーターは、Captureプロセスがファイルの最後に達したときに、オンラインREDOログを閉じて再度開くかどうかを制御します。このパラメーターが有効な場合、SP_OCT_OLOG_NO_DATA_DELAYパラメーターを使用することで、Captureプロセスが再試行するまでの待機時間を制御することができます。
デフォルト: 1(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: プロセスの再開時
このパラメーターは、Captureがソース変更レコードをキャプチャする際に、REDOログをファイルから直接読み取むか、OCIコールを使用するかを制御します。デフォルトの0は、REDOログから直接読み取むようにCaptureに指示します。
デフォルト: 0(オフ、CaptureはREDOログから直接読み取む)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: プロセスの再開時
このパラメーターは、Captureプロセスのオンラインデバッグ機能を制御します。
オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。
このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。例:
sp_ctrl> set sp_oct_oneline_debug 230230, 351626
以下の項目が記録されます。
デフォルト: 無効
有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列(カンマで区切る)
有効になるタイミング: 即時
このパラメーターは、no_dataが検出されたときに再試行するまでのログリーダーの遅延時間を制御します。
デフォルト: 50,000(マイクロ秒)
有効な値の範囲: 任意の正の整数
有効になるタイミング: Captureの再開時
このパラメーターは、no_dataが検出されたときにログリーダーが行う再試行の回数を制御します。
デフォルト: 3
有効な値の範囲: 任意の正の整数
有効になるタイミング: Captureの再開時
このパラメーターは、シーケンサーにデータがないときにノードごとに強制されるスリープの長さを制御します。
デフォルト: 5(デシ秒)
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、CaptureがREDOログのオンラインバージョンを読み取むか、アーカイブバージョン(ある場合)を読み取むかを制御します。デフォルトでは、Captureはオンラインログのみから読み取り、オンラインログが利用できなくなった場合に限りアーカイブバージョンを読み取ります。
このパラメーターが設定され、Captureが必要なログをオンラインで検出した場合、Captureはログもアーカイブされているかどうかのチェックを追加で行います。ログがアーカイブされている場合、Captureはアーカイブパスを照会し、オンラインのログの代わりにアーカイブされたログを読み取ります。ログがアーカイブされていない場合、Captureはオンラインログを読み取ります。
通常SharePlexは、オンラインREDOログから読み取むときのレイテンシを最小限にしますが、このパラメーターは、ExadataでのCaptureのパフォーマンス向上に役立つことがあります。SharePlexは、Exadata ASMファイルシステムの外部にある多重化されたアーカイブの場所から読み取むと、より大量のデータを処理することができます。Exadata上の大量のデータでバックログが発生した場合は、SP_OCT_PREFER_ARCHIVEパラメーターを1に設定し、SharePlex管理ガイドの「ExadataでのCaptureの調整」のセクションの指示に従ってSharePlexを設定することができます。
このパラメーターを使用するには、REDOログの多重化を有効にし、アーカイブログへのパスをSharePlexに設定しなければなりません。詳細については、SP_OCT_ARCH_LOC を参照してください。
デフォルト: 0(無効)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Captureの再開時
このパラメーターは、SharePlexがOracleアーカイブログからのみ読み取むかどうかを制御します。デフォルト設定の0は、OracleのREDOログを読み取むために、SharePlexがオンラインログとアーカイブログの両方を利用することを意味します。ゼロ以外の値は、SharePlexCaptureプロセスがアーカイブされたOracle REDOログからのみ読み取むことを意味します。SharePlexは、Oracle REDOログのそのシーケンスを読み取もうとする前に、オンラインログがアーカイブされるまで待ちます。
0 = SharePlexのデフォルトの動作、オンラインとアーカイブの両方のREDOログを読み取む
1 = アーカイブされたREDOログの読み取りのみアーカイブされたログの検索は、Oracleで定義されたアーカイブの場所から始まり、その後、SP_OCT_ARCH_LOCディレクトリの指定に従って行われます。
2 = アーカイブされたREDOログの読み取りのみ検索は、SP_OCT_ARCH_LOCディレクトリの指定のみに従って行われます*(Oracle定義のアーカイブの場所では検索されない)。*SP_OCT_CK_LOC_FIRST値は、この設定では無視されます。1と仮定します。
3 = アーカイブされたREDOログの読み取りのみOracleで定義されたアーカイブの場所からの読み取りのみ。SP_OCT_ARCH_LOCディレクトリは無視されます。SP_OCT_CK_LOC_FIRST値は、この設定では無視されます。0と仮定します。
ベストプラクティス: SP_OCT_READ_ARCを有効にする場合、少なくともオンラインログからアーカイブログを生成し、コピーするまでの自然な遅延がデータレイテンシに現れます。このレイテンシは許容できる程度のものですが、リーダーのキーの取得性能は、一貫性のあるビューの読み取りに依存しています。リーダーによるキーの取得は、一貫性のあるビューが最新(またはそれに近い)のものかどうかに依存しますが、このパラメーターを使用すると、少なくともレイテンシの時間だけビューの経過時間を遅らせることができます。リーダーがキーを取得する必要がないように、前述のcaptureパラメーターを使用するお客様には、レプリケーション中のテーブルのプライマリキーと一意キー(PU/UK)に対するソースデータベースのサプリメンタルロギングを有効にすることを強く推奨します。
デフォルト: 0
有効な値の範囲: 0~3
有効になるタイミング: Captureの再開時
このパラメーターは、オンラインREDOログからの変更レコードを処理する前にCaptureが待機する時間(秒)を制御します。この待ち時間は、レコードのOracleタイムスタンプと現在のシステム時間との差です。これは、Oracleログライターが書き込みを終了していないレコードをCaptureが読み取もうとするのを防ぎます。この結果、Captureは完全なブロックを確実に処理できるようになります。
リモートデータベースからキャプチャする場合、Captureはこのパラメーターを自動的に無効にします。
デフォルト: 2秒
有効な値の範囲: 0~任意の正の整数
有効になるタイミング: Captureの再開時
このパラメーターは、REDOログ内の操作のどの部分をCaptureによってターゲットに送信し、Postで使用するかを制御します。SharePlexの機能によって、Postプロセスで使用可能にする必要のあるデータの量が異なることがあります。
「SP_OPO_REDUCED_KEY」も参照してください。
デフォルト: 1
有効な値の範囲: 0、1、2
有効になるタイミング: 即時
このパラメーターは拡張DDLレプリケーションを制御します。これは、SharePlexのレプリケーション設定ファイルにないオブジェクトのDDLのレプリケーションです。設定操作の前に、オブジェクトはソースデータベースと、(CREATEを除き)ターゲットにもなければなりません。SharePlexはDDLステートメントをレプリケートしますが、ターゲット上のオブジェクトは今後のDMLの変更を通じて維持されません。
SP_OCT_REPLICATE_ALL_DDLを設定する場合、レプリケートされたDDLをターゲットシステム上で正常に実行するために、ソースデータベースとターゲットデータベースが同一でなければなりません。このDDLはすべてのターゲットマシンにブロードキャストされるため、すべてのターゲットシステムは同一でなければなりません。
SharePlexは、アクティブなデータソースのすべてのスキーマのすべてのオブジェクトに対してサポートされているDDLをレプリケートするため、操作を成功させるためには、それらのコンポーネントがターゲットデータベースに存在していなければなりません。
レプリケートされたDDL操作をターゲットデータベースに適用するときのエラー発生時にPostプロセスを停止するように設定するには、SP_OPO_STOP_ON_DDL_ERRパラメーターを設定します。
パッケージやストアドプロシージャの作成をレプリケートする場合、パッケージやストアドプロシージャの本体にあるオブジェクトの名前を完全修飾する必要があります。これは、他のユーザやスキーマがこのパッケージやストアドプロシージャを実行する可能性があるからです。
SharePlexでサポートされる操作のリストについては、使用中のSharePlexのバージョンに対応するリリースノートを参照してください。
注: 拡張DDLのレプリケーションは、テーブルやシーケンスだけでなく、プロシージャ、関数、ユーザ、ビューなど、レプリケーションには含まれないその他のオブジェクトも幅広くサポートしています。これらのオブジェクトの中には、レプリケーション対象の基礎となるオブジェクトが含まれることもあります。このような場合、拡張DDLレプリケーションは、レプリケーション設定に含まれないオブジェクトだけでなく、レプリケーション対象の基礎となるオブジェクトにも適用されます。 |
SharePlexはOracle Flashback Table機能をサポートしていません。SP_REPLICATE_ALL_DDLパラメーターが有効(値は1)の場合、SharePlexはフラッシュバックDDLを複製しようとすることがありますが、エラーが返されます。レプリケーション中のテーブルでFlashback Tableを実行するには、『SharePlex管理者ガイド』の以下の手順
|
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、設定ファイルにリストされているテーブルに対してSharePlexが以下のDDL操作をレプリケートするかどうかを制御します。
デフォルトでは、先行するDDL操作がレプリケートされます。これらの操作のレプリケーションを無効にするには、このパラメーターを0に設定します。これは、これらの操作のレプリケーションがパフォーマンスに影響を与えている場合に有効です。
デフォルト: 1(有効)
有効な値の範囲: 0または1
有効になるタイミング: Captureの再開時
このパラメーターは、新しいテーブルの名前がSharePlexの設定ファイルのワイルドカード指定と一致する場合に、SharePlexがCREATE TABLE AS SELECT (CTAS)ステートメントをレプリケートする方法を決定します。ターゲットにテーブルが存在するかどうかに応じて、CTASステートメントがSharePlexによってレプリケートされる方法を指定するオプションがあります。
パラメーター値 |
使用例 |
説明 |
---|---|---|
1(デフォルト) |
SELECT FROMテーブルがターゲットに存在する |
この設定では、元のCTASステートメントのみが複製され、データが含まれるSELECT FROMテーブルがターゲット上になければなりません。 例えば、以下のCTASステートメントはそのままターゲットにレプリケートされます。 create table my_table as select * from table_a; この例では、SELECTが成功し、新しいテーブルmy_tableにデータが入力されるようにtable_aがターゲット上に存在する必要があります。 |
2 |
SELECT FROMテーブルがターゲット上に存在しない |
この設定によりSharePlexは以下を実行します。
例えば、ソースステートメントが以下の場合、 create table my_table as select * from table_a; table_aが2つの列と2つの行を持つと仮定した場合、SharePlexがターゲットにポストするステートメントは以下のようになります。 Create table my_table (c1 number, c2 varchar2(20)); Insert into my_table values (1,'a'); Insert into my_table values (2,'b'); Commit; この結果はCREATE TABLE AS SELECTと同じになりますが、SELECT FROMソーステーブルがターゲット上に存在している必要はありません。 重要! 複製されたDMLデータは、Captureによって割り当てられたメモリに収まらなければなりません。データ量が非常に多い場合、Captureは失敗する可能性があります。 |
デフォルト: 1
有効な値の範囲: 1または2
有効になるタイミング: プロセスの再開時
このパラメーターは、SharePlexによってレプリケートされているアクティブな設定内のオブジェクトに対して、SharePlexが以下の操作をレプリケートするかどうかを制御します。
ALTER TABLE to ADD、MODIFY、DROP、SPLIT、COALESCE、MOVE、TRUNCATE、EXCHANGE PARTITION/SUBPARTITION
両方の操作タイプをレプリケートするか、どちらか一方だけレプリケートするか、あるいはレプリケートしないかを制御できます。
注意: Oracle 21CをソースとするSharePlex 11.1は、現時点ではDML操作のみをサポートしています。DDL操作のサポートは将来のバージョンで追加される予定です。
その他のデフォルトのDDLレプリケーション機能については、SP_OCT_AUTOADD_ENABLEも参照してください。
設定ファイル外のオブジェクトのDDLをレプリケートするには、SP_OCT_REPLICATE_ALL_DDLパラメーターを参照してください。
デフォルト: 3(ALTER TABLEとTRUNCATEのレプリケート)
有効な値の範囲:
0(ALTER TABLEとTRUNCATEの両方のレプリケーションを無効化)
1(ALTERレプリケーションのみを有効化)
2(TRUNCATEレプリケーションのみを有効化)
3(ALTERとTRUNCATEのレプリケーションを有効化)
有効になるタイミング: 即時
このパラメーターで、SQL*Loaderのダイレクトパスロードをレプリケートするかどうかを制御します。デフォルト設定の1では、ダイレクトパスロードのレプリケーションが有効になります。SharePlexは、非並列ロードのレプリケーションのみをサポートしています(PARALLEL=FALSE)。データベースをアーカイブモードにし、テーブルロギングを有効にしなければなりません。ダイレクトパスロードのレプリケーションを無効にするには、このパラメーターを0に変更します。
デフォルト: 1(ダイレクトパスロードをレプリケート)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、設定ファイルにリストされているテーブルに対して発行されたGRANTコマンドをSharePlexがレプリケートするかどうかを制御します。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: Captureの再開時
このパラメーターは、アクティベーション中に見つかった既存のマテリアライズドビューをレプリケーションに入れるかどうかを制御します。デフォルトでは有効になっています。マテリアライズドビューは、アクティベーションする前にソースとターゲットに存在していなければなりません。
このパラメーターは、アクティベーション時にのみ使用され、マテリアライズドビューをレプリケーションに入れるかどうかを決定します。アクティベーションの後にマテリアライズドビューが作成されたときに、レプリケーションにマテリアライズド ビューを追加するようにSharePlexを設定するには、「SP_OCT_AUTOADD_MVIEW」を参照してください。
デフォルト: 1(マテリアライズドビューをレプリケート)
有効な値の範囲: 0または1
有効になるタイミング: プロセスの再開時
このパラメーターは、あるシステムのCaptureプロセスが、そのシステムのPostプロセスによってポストされたデータをレプリケートするかどうかを制御します。このパラメーターをデフォルト設定の0のままにしておくと、Captureは同じシステム上のPostのアクティビティを無視します。特定のレプリケーション設定(主にカスケードレプリケーション)を確立する場合、このパラメーターを1に設定するように指示されることがあります。これにより、Captureはポストされた変更をレプリケートします。
デフォルト: 0(Postトランザクションをレプリケートしない)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Captureの再開時
このパラメーターは、設定ファイルにリストされているシーケンスに加えられた変更を、SharePlexが明示的に、またはワイルドカードによってレプリケートするかどうかを制御します。デフォルトでは有効になっています。シーケンスは、アクティベーションする前にソースとターゲットに存在していなければなりません。
アクティベーション後に作成されたシーケンスをレプリケーションに追加するようにSharePlexを設定できます。詳細については、SP_OCT_AUTOADD_SEQを参照してください。
0に設定すると、たとえシーケンスが設定ファイルにリストされていても、またはシーケンス名がワイルドカード指定を満たしていても、レプリケーションから除外されます。
重要! シーケンスをレプリケートするには、データベースレベルでプライマリキーとユニークキーのサプリメンタルロギングを有効にするか、sys.seq$テーブルでプライマリキーのサプリメンタルロギングを有効にする必要があります。
デフォルト: 1(シーケンスをレプリケート)
有効な値の範囲: 0または1
有効になるタイミング: プロセスの再開時
このパラメーターは、設定ファイルにリストされているテーブルに対して発行されたCREATE SYNONYMおよびDROP SYNONYMコマンドをSharePlexがレプリケートするかどうかを制御します。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: Captureの再開時
このパラメーターは、設定ファイルにリストされているテーブルに対して発行されたCREATETRIGGERおよびDROP TRIGGERコマンドをSharePlexがレプリケートするかどうかを制御します。
注意: アクティブ-アクティブのレプリケーションシナリオではトリガをレプリケートしないでください。詳細については、『SharePlex管理ガイド』の「複数のピアデータベースを維持するためのレプリケーションの設定」のセクションを参照してください。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: Captureの再開時
このパラメーターは、ロールバック処理を改善するためにCaptureプロセスが追加情報を収集することを可能にします。ロールバックの処理により、Readプロセスはより多くのリソースを必要とし、それによりパフォーマンスが向上します。システムリソースが不足し、システムでロールバックが多発する場合は、Readプロセスのリソース消費を抑えるために、このパラメーターを無効にすることができます。このパラメーターは、デフォルトでは有効になっています。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Captureの再開時
システムにより生成されたパーティションをトランケートまたは削除するALTER TABLEのレプリケーションが、ターゲット上の正しいパーティションに影響を与えるようにするには、このパラメーターを使用します。
システムにより生成されたインターバルパーティションの名前はデータベースが生成するため、ソース上のこれらのパーティションの名前はターゲット上の対応するパーティションの名前と一致しません。しかし、ターゲットがソースの完全なコピーであれば、同じ時間枠内のパーティション位置は一致します。
レプリケーションがターゲット上の正しいパーティションに影響を与えるようにするには:
このパラメーターを有効にすると、SharePlexはSP_SYS_TARGET_COMPATIBILITYパラメーターをチェックし、ターゲットのPostプロセスのバージョンが8.6.4以降であることを確認します。これは、システムにより生成されるパーティションをIDによってトランケートまたは削除するALTER TABLEをサポートするための最小バージョンです。ターゲットのPostプロセスが以前のバージョンの場合、ALTER TABLEはパーティション名を使用して複製され、ターゲットのSharePlex event_logに警告メッセージが記録されます。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: 即時
このパラメーターを使用すると、REDOログでサマータイム補正を無効にし、ロジックを確保するようにSharePlexに指示します。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: プロセスの再開時
このパラメーターを使用すると、行が更新または削除されたときに、Oracleのサプリメンタルロギングによって設定された列をキー列として使用するようにSharePlexに指示します。
典型的なレプリケーションスキームでは、Postが行を更新または削除する際に使用するキー列のセットをSharePlexが選択します。OracleのPK/UKサプリメンタルロギングが有効な場合、Oracleは更新ごとにキー列をログに記録します。これらのキー列は、SharePlexがキーとして選んだものと必ずしも一致するとは限りません。一致しないと、Readプロセスで不要な作業が行われることになります。このパラメーターを設定すると、SharePlexのデフォルトの動作がオーバーライドされ、SharePlexの速度と効率が向上します。
設定ファイルでテーブルが水平パーティショニングで設定されている場合、その列条件が既にそのテーブルのPK/UKの一部になっていない限り、REDOロググループに水平パーティショニング列条件を含める必要があります。
注意: SP_OCT_USE_SUPP_KEYSパラメーターは、PK/UIでサプリメンタルロギングが有効になっている場合にのみ有効になります。
このパラメーターはSP_ORD_HP_IN_SYNCパラメーターとは互換性がありません。両方のパラメーターが有効な場合、SP_OCT_USE_SUPP_KEYSがSP_ORD_HP_IN_SYNCよりも優先されます。
デフォルト: 0(無効)
有効な値の範囲: 0または1(有効)
有効になるタイミング: 即時
これらのパラメーターは、SharePlexReadプロセスで使用されます。
このパラメーターは、バッチ処理機能の有効化を制御します。デフォルトでは有効になっています。これにより、Readプロセスは複数の同一レコードを1つのレコード、つまりバッチに結合して、プロセス内で処理できるようになります。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、同時バッチトランザクションの最大数を制御します。
デフォルト: 50(トランザクション)
有効な値の範囲: 5から250までの任意の整数
有効になるタイミング: Readの再開時
このパラメーターは、バッチを処理する前に、一致した操作の最小数を制御します。
デフォルト: 2
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、Readプロセスの各ログインによってキャッシュされるカーソル数を制御します。レプリケーションがソースシステムのOracleアクティビティから遅れ始めたら、この値を増やす必要があるかもしれません。レプリケーションに多数のテーブルがある場合は、初期設定を15カーソルにすることをお勧めします。
デフォルト: 5カーソル
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、無効な日付列を検出したときに、ReadプロセスがイベントログとReadログに警告メッセージを表示するように設定できます。0を設定するとパラメーターは無効になり、1を設定すると有効になります。Readにより生成されるエラーメッセージは以下の通りです。
An oerr#1801 has occurred on record with rowid rowid, on object object_id. Rec skipped. It is usually caused by invalid column data of type DATE. Creating a unique index that doesn't include column of type DATE and reactivating same configuration may solve the problem.
デフォルト: 0(警告メッセージを表示しない)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
Readプロセスはレコードをバッチで処理します。バッチのサイズは、captureキュー内のレコードの数に依存します。レコード数が多い場合、Readはこのパラメーターの値を無視し、バッチは可能な限り小さく保たれます。ReadがCaptureと同じペースで進行している場合、バッチのサイズはほぼこのパラメーターで設定された値になります。
SharePlexがイベントログにrollback segment too old(ロールバックセグメントが古すぎる)というメッセージを生成している場合、このパラメーターの値を小さくします。これにより、SharePlexにデータを早く渡すように指示します。このパラメーターは、最小限のレイテンシしか許容できない場合に使用します。
重要: このパラメーターは慎重に使用してください。レコード数を減らすとSharePlexが実行する必要があるI/Oが増加し、システムのオーバーヘッドが増加するからです。また、SharePlexプロセス間のスムーズな相互作用にも悪影響を及ぼす可能性があります。
デフォルト: 200レコード
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、レプリケートされた行の変更が列条件を満たすかどうかを判断するために、Readプロセスが列条件をチェックする方法を制御します。
水平パーティショニングの詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Readの再開時
このパラメーターは、水平パーティショニングに使用されるハッシュテーブルのスロット数を制御します。デフォルトでは、メモリ使用量を最小限に抑えるため、このパラメーターは16スロットに設定されています(使用量は、挿入を伴うトランザクションごとにスロット数×32バイトとなります)。ユーザのシステムが、水平にパーティショニングされたテーブルに対して(同じトランザクション内で)多くの挿入操作とそれに続く更新操作を行う場合、SharePlexはこのハッシュテーブルを多用することになります。その場合、パフォーマンス低下を防ぐためにこの値を大きくする必要があるかもしれません。また、ユーザのシステムで水平にパーティショニングされたテーブルへの挿入を伴う長いトランザクションが多い場合も、このパラメーターの値を大きくする必要があります。
デフォルト: 16スロット
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、水平分割レプリケーションで、列条件の列の値が変更され、行が条件を満たさなくなった場合に、データが適切にレプリケートされるようにするために使用します。
これにより、SharePlexは以下を自動的に修正できます。
UPDATEにより、レプリケートされるはずのない行が列条件を満たし、レプリケートされる。例えば、region列がHEADQUARTERSの値(行がレプリケートされない)からWESTの値に更新されたとします。この操作は失敗します。なぜなら、その行の元のINSERTステートメント(本社システムへの)が西部地域のシステムにレプリケートされないため、Postはそこで更新を実行できないからです。
このパラメーターが有効な場合、SharePlexはUPDATEによって上記の状態が発生する行を自動的に修正します。SharePlexはUPDATEをDELETEに変換し、必要であればINSERTに変換します。
UPDATEステートメント(通常は変更された列とキーのみを使用)をINSERTステートメントに変換するには、SharePlexはすべての列の値が必要です。SP_ORD_HP_IN_SYNCを有効にすると、SharePlexは水平分割レプリケーションを使用しているテーブルに対するUPDATEがあった場合、行のすべての列をPostプロセスに送信して、INSERTを構築できるようになります。
設定をアクティベーションする前に、ソースシステムでこのパラメーターを設定してください。レプリケーションがアクティブな場合は、パラメーターを設定してから設定を再アクティベーションして、SharePlexがオブジェクトキャッシュを再構築できるようにします。
水平分割レプリケーションを使用しているテーブルの列条件の列が変更されないことが分かっている場合は、このパラメーターを使用すると処理オーバーヘッドが発生するため、0に設定したままにします。
このパラメーターは、SP_OCT_REDUCED_KEYおよびSP_OPO_REDUCED_KEY [任意の値: 1または2]と互換性がありません。このパラメーターは両方のパラメーターの動作をオーバーライドするからです。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Readの再開時
このパラメーターは、読み取りの一貫性を保つためにデータベースに対するログインの回数を制御します。Readプロセスが遅くなる場合は、このパラメーターの値を増やしてみてください。最大設定は、init_oraファイルのMAX_PROCESSESパラメーターによって決定されます。
デフォルト: 5ログイン
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、Readプロセスのオンラインデバッグ機能を制御します。
オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。
このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。例:
sp_ctrl> set sp_ord_oneline_debug 230230, 351626
以下の項目が記録されます。
注意: 行が複数のターゲットにルーティングされる場合、この情報はターゲットごとに繰り返されます。
デフォルト: 無効
有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列(カンマで区切る)
有効になるタイミング: 即時
これらのパラメーターは連動して動作するため、一方のパラメーターをデフォルト値の0に設定した場合、もう一方のパラメーターを0以外の数値に設定しても動作しません。どちらのパラメーターも、実行されたクエリあたりのディスク取得率をチェックすることで、クエリ処理に時間がかかりすぎていることをReadプロセスが検知する自動プロセスをサポートします。Readがこの判断を行うと、既存の読み取り一貫性のあるビューを取り除き、新しいビューに置き換えます。
ORD_MSGS_CK_FREQパラメーターは、比率が基準を超えたかどうかをReadプロセスがチェックする頻度です。例えば、このパラメーターを100に設定すると、Readプロセスは100クエリーごとに、比率に問題がないかどうかをチェックします。推奨設定は1,000クエリーです。
ORD_RCM_SKIP_RATIOパラメーターは、読み取り一貫性ビューが置き換えられる基準値(実行されたクエリに対するディスクの取得率)を指定します。最も細かな設定は1で、これは1回のクエリ実行につき1回のディスク取得を意味します。推奨設定は2です。
これらのパラメーターをオフにするには、どちらかを0に設定します。これによりもう一方のパラメーターも無効になります。
デフォルト:
SP_ORD_MSGS_CK_FREQ: 10,000
SP_ORD_RCM_SKIP_RATIO: 2
有効な値の範囲:
SP_ORD_MSGS_CK_FREQ: 0~100,000
SP_ORD_RCM_SKIP_RATIO: 0~1,000(5より大きくすることは非推奨)
有効になるタイミング: プロセスの再開時
このパラメーターは、Readプロセスがcaptureキューからメッセージを読み込み、キーの値を決定する際に実行するチェックポイントの頻度を制御します。チェックポイントは、captureキューをキャッシュファイルに保存し、(exportキューに渡される)送信キューのメッセージをコミットし、既にexportキューによって受信されたcaptureキューの残留レコードに対して読み取りリリース(削除)を行います。
このパラメーターの値が高いほど、チェックポイントがトリガされる前に、より多くのレコードがメモリに保持されます。非常に大きい値に設定すると、システム上のI/Oが少なくなり、処理が速くなりますが、その代償としてメモリ使用量が増え、予期せぬことが原因でReadプロセスが停止した場合の回復時間が長くなります。値を小さくするとI/Oが増加し、リカバリ速度が向上しますが、スループット速度は低下します。
デフォルト値の100,000レコードは、スピードの必要性とメモリの節約およびプロセスリカバリの間の合理的なバランスを確立するはずですが、処理要件に合わせてこのパラメーターを調整できます。調整オプションの範囲は、すべてのレコードごとにチェックポイントを実行するものから、システムとメモリが収容できる限り多くのレコードを保持するものまであります。
デフォルト: 100,000レコード
有効な値の範囲: システムの制限内の任意の正の整数
有効になるタイミング: 即時
このパラメーターは、リーダーがトランザクションキャッシュに保持する、トランザクションが完全にロールバックされたことを示すエントリの数を制限します。
デフォルト: 5,000レコード
有効な値の範囲: システムの制限内の任意の正の整数
有効になるタイミング: プロセスの再開時
このパラメーターは、複数のpostキューが使用中で、レプリケーション設定にないオブジェクトのDDLをレプリケートしている場合(SP_OCT_REPLICATE_ALL_DDL=1)に、Postのパフォーマンスを向上させるのに役立ちます。
このパラメーターは、レプリケーション設定内にないオブジェクトのDDLを特定のpostキューに送信するようにImportに指示します。通常、レプリケーション設定内のオブジェクトに関連しないDDLは、利用可能な任意のキューに送信できます。このDDLが大量にあると、レプリケーション中のオブジェクトのDMLがブロックされ、データのレイテンシが長くなる可能性があります。
このDDLは、レプリケーション中のオブジェクトと関連性がないため、これらのオブジェクトに関連する順序で適用する必要はありません。これを専用のキューで個別にルーティングすることで、他のキューを解放して、レプリケートされたデータとそれに関連するDDLを処理することができます。
このパラメーターを有効にする場合は、レプリケートされていないオブジェクトのDDLを処理するpostキューを指定する必要があります。この指定は、設定ファイルの「Datasource:o.SID」行の後の最初の行に、以下のように記述する必要があります(!は、実際のオブジェクト指定に置き換えるプレースホルダです)。
Datasource: o.dbprod
#レプリケーション対象外のDDLのルート
! sysmm:queddl1@o.dbprep
#残りの設定エントリ
SCOTT.EMP SCOTT.EMP sysmm:que1@o.dbrep
SCOTT.FOO SCOTT.FOO sysmm:que2@o.dbrep
このように明示的に指定しない場合、DDLは最初にリストされているルートにルーティングされます。例えば、以下の設定ファイルでは、レプリケーション中のオブジェクトに関連付けられないDDLはすべてsysmm:que1@o.dbrepに送信されます。
Datasource: o.dbprod
SCOTT.EMP SCOTT.EMP sysmm:que1@o.dbrep
SCOTT.FOO SCOTT.FOO sysmm:que2@o.dbrep
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
これらのパラメーターは、SharePlexのExportプロセスで使用されます。
このパラメーターは、ソースからターゲットへネットワークを介して送信されるデータを暗号化するためにExportが使用するAES暗号化キーのサイズを制御します。キー自体は、256ビットの完全なキーを生成するcreate encryption keyコマンドを発行することで生成されます。SP_XPT_AES_KEY_LENGTHパラメーターは、Exportがデータを暗号化する際に、その長さのどの分量をキーとして使用するかを制御します。デフォルトは128ビットで、これは最小の長さです。キーは長いほどハッキングしにくくなりますが、より高いCPUの処理能力が必要になります。AES暗号化のためにSharePlexを設定するには、『SharePlex管理ガイド』を参照してください。
デフォルト: 128ビット
有効な値の範囲: 128、192、または256ビット
有効になるタイミング: Exportの再開時
このパラメーターは、Advanced Encryption Standard(AES)を有効にして、Exportがネットワーク経由で送信するレプリケートデータを暗号化するかどうかを制御します。AES暗号化のためにSharePlexを設定するには、『SharePlex管理ガイド』を参照してください。
デフォルト: 0(無効)
有効な値の範囲: 0または1(有効)
有効になるタイミング: Exportの再開時
このパラメーターは、TCP/IPを介したデータの圧縮を制御します。
圧縮を有効にすると、SharePlexがネットワーク経由で送信するデータ量を減らすことができます。SharePlexはLZIPロスレス圧縮を使用します。ソースのSharePlexインスタンスで圧縮を有効にすると、ソースのSharePlexインスタンスのすべてのターゲットへの圧縮が自動的に有効になります。
デフォルトでは圧縮は無効になっています。圧縮は単独で、または暗号化と組み合わせて有効にすることができます。暗号化の詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 0(無効)
有効な値の範囲: 0または1(有効)
有効になるタイミング: Exportの再開時
このパラメーターは、レプリケーションアクティビティが低いときにTCPタイムアウトを防ぐために、Exportプロセスが一定間隔で「hello」メッセージをImportに送信するかどうかを制御します。レプリケーションパケットが送信されずにネットワークがタイムアウトした場合、SharePlexは、「Export cannot connect to import on server2: timeout waiting for ack(Exportをserver2のImportに接続できません: ACKの待機中にタイムアウトが発生しました)」などの警告メッセージを表示します。SP_XPT_KEEPALIVEを1に設定すると、このメッセージを削除し、SharePlexのネットワーク接続を維持することができます。
デフォルト: 0(無効)
有効な値の範囲: 0または1(有効)
有効になるタイミング: Exportの再開時
このパラメーターはSP_XPT_USE_LOCALHOSTパラメーターと連動し、SharePlexがSSH® Secure ShellTM ソフトウェアで作成された安全なトンネルポートを介してデータを送信できるようにします。このパラメーターはローカル接続を設定し、デフォルトのSharePlexポートをオーバーライドします。そのポート番号から、SSHデーモンは別のポート番号とSSHデータ暗号化を使用して、別のシステム(SharePlexターゲットマシン)に接続を指示します。
デフォルト: 0(無効)
有効な値の範囲: 0または任意の正の整数
有効になるタイミング: Exportの再開時
このパラメーターは、ソースマシンのTCP/IPウィンドウサイズを調整します。このパラメーターは、ターゲットマシンのSP_COP_SO_RCVBUFパラメーターと連動し、ネットワークを介して送信されるパケットのサイズを確立します。SharePlexは、sp_copとExportプロセスの開始時、TCP/IPソケットが作成されるときに両方のパラメーターを参照します。
SharePlexがWANを通じてレプリケートされ、exportキューが常に滞留している場合は、両方のパラメーターを調整してみてください。SP_XPT_SO_SNDBUFは、1,024バイトの倍数でSP_COP_SO_RCVBUFの値以上に設定しなければなりません。パラメーターのサイズを設定するには、ソースマシンとターゲットマシンの間のping時間を決定し、両方のパラメーターに以下の式を使用します。
param_value / ping_time= 1秒あたりのバイト数
例えば、ping時間が200ミリ秒、2つのパラメーターの値が64Kの場合、SharePlexは、毎秒5個の64Kパケットを送信し、合計で毎秒320Kを送信することになります。
帯域幅の問題が確認されない限り、Questでは、両方のパラメー ターをデフォルト(システムの設定を使用する)のままにしておくことを推奨します。SP_XPT_SO_SNDBUFを変更するには、これをソースシステム上で設定し、そのシステム上でExportを停止してから開始します。
それでも転送が遅い場合は、ターゲットシステムのSP_IMP_WCMT_MSGCNTパラメーターとSP_IMP_WCMT_TIMEOUTパラメーターを大きくしてください。SP_IMP_WCMT_MSGCNTを少なくとも10,000に設定します。
デフォルト: 0(デフォルトはオペレーティングシステムによって設定される)
有効な値の範囲: 1,024の倍数を使用したバイト単位の正の整数。最大値はオペレーティングシステムによって設定されます。
有効になるタイミング: Exportの再開時
このパラメーターによってSharePlexは、SSH® Secure ShellTMソフトウェアで作成された安全なトンネルポートを介してデータを送信できるようになります。Exportプロセスは、TCP接続を行う前にこのパラメーターを読み取ります。このパラメーターが有効な場合、Exportプロセスはローカルポート番号を通じてローカルホストに接続し、SSHデーモンは別のポート番号とSSHデータ暗号化を使用して、別のシステム(SharePlexターゲットマシン)に接続を指示します。
デフォルト: 0(無効)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Exportの再開時
これらのパラメーターは、SharePlexのImportプロセスで使用されます。
このパラメーターは、ソースシステムと、それが設定されているターゲットとの間でデータ暗号化の使用を強制します。これは、Exportプロセスでデータ暗号化が有効になっていない限り、Importで受信データを受け入れないようにするものです。SP_XPT_ENABLE_AESが有効になっている場合は、有効化しなければなりません。
AES暗号化のためにSharePlexを設定するには、『SharePlex管理ガイド』を参照してください。
デフォルト: 0(無効)
有効な値の範囲: 0または1(有効)
有効になるタイミング: Importの再開時
Importがpostキューへの書き込みを要求され、そのキューのバックログがSP_IMP_QUEUE_PAUSE以上である場合、Importは関連するExportとチェックポイントを実行し、postキューへの書き込みを停止します。ただし、Importは実行されたままになります。警告がイベントログに書き込まれ、show statusdbコマンド出力のプロセスのステータスが「paused(一時停止中)」と表示されます。statusコマンドでは、「Running(実行中)」ではなく「Paused(一時停止中)」と表示されます。
Importは、一旦停止して再開するか、バックログがSP_IMP_QUEUE_RESUMEパラメーター以下であることを検出した場合に、postキューへの書き込みを再開します。
SP_IMP_QUEUE_RESUMEパラメーターを使用して、Importがpostキューへの書き込みを再開するメッセージの数を設定します。
この機能を使用するには、SP_IMP_QUEUE_PAUSEとSP_IMP_QUEUE_RESUMEの両方がゼロより大きく、SP_IMP_QUEUE_PAUSEがSP_IMP_QUEUE_RESUMEよりも大きくなければなりません。
デフォルト: 0個のメッセージ(無効)
有効な値の範囲: n千個のメッセージ(nは任意の正の整数)
有効になるタイミング: 即時
このパラメーターはSP_IMP_QUEUE_PAUSEと連動して機能します。postキュー内のメッセージ数がこのパラメーターで設定された値以下であれば、Importはpostキューへの書き込みを再開します。
この機能を使用するには、SP_IMP_QUEUE_PAUSEとSP_IMP_QUEUE_RESUMEの両方がゼロより大きく、SP_IMP_QUEUE_PAUSEがSP_IMP_QUEUE_RESUMEよりも大きくなければなりません。
デフォルト: 0個のメッセージ(無効)
有効な値の範囲: n千個のメッセージ(nは任意の正の整数)
有効になるタイミング: 即時
このパラメーターはSP_IMP_WCMT_TIMEOUTパラメーターと連動します。Importプロセスがチェックポイントを実行するまでに処理されるメッセージの数を定義します。チェックポイントは、障害復旧に必要な場合に備えてプロセスの状態を保存します。
Importがチェックポイントを実行すると、それがトリガとなってExportプロセスがチェックポイントを実行します。SP_IMP_WCMT_TIMEOUTに設定された値より前にこのパラメーターの値に達すると、チェックポイントがトリガされます。
WAN環境では、10,000個のメッセージまでこのパラメーターを大きくすることができます。ただし、チェックポイント間のメッセージ間隔を長くすると、SharePlexのフォールトトレランスに悪影響を及ぼす可能性があることを理解しておいてください。ネットワークに継続的に障害が発生する環境でSharePlexを使用している場合は、このパラメーターを小さくすることができます。
デフォルト: 10,000メッセージ
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターはSP_IMP_WCMT_MSGCNTパラメーターと連動します。Importプロセスがチェックポイントを通過するまでの時間(秒)を定義します。チェックポイントは、障害復旧に必要な場合に備えてプロセスの状態を保存します。
Importがチェックポイントを実行すると、それがトリガとなってExportプロセスがチェックポイントを実行します。SP_IMP_WCMT_MSGCNTに設定された値より前にこのパラメーターの値に達した場合、チェックポイントがトリガされます。
デフォルト: 30秒
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center