これらのパラメーターは、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(有効)
有効になるタイミング: 即時
© ALL RIGHTS RESERVED. Conditions d’utilisation Confidentialité Cookie Preference Center