Chat now with support
Chat with Support

SharePlex 8.6.6 - リファレンス・ガイド

このガイドについて このガイドで使用されている表記規則 SharePlex コマンド SharePlex パラメータ SharePlex ユーティリティ 付録 B:SharePlex 環境変数

SharePlex パラメータ

SharePlex パラメータ

SharePlex パラメータは複製のさまざまな側面を制御しチューニングします。

パラメータの設定の手順については、『SharePlex 管理ガイド』を参照してください。

コンテンツ

ユーザーが設定可能なパラメータの説明

SharePlex パラメータ > ユーザーが設定可能なパラメータの説明

このセクションでは、user-configurable SharePlex パラメータを説明します。この章で解説されていないパラメータは内部パラメータであり、Quest の開発者または Technical Support の代表者の指導のもとでのみ修正するべきものです。

パラメータは、次のようにグループ分けされます。

設定パラメータ

これらのパラメータは、SharePlex activation プロセスによって使用されます。ユーザーが設定ファイルをアクティベートした時点で有効になります。

SP_OCF_HASH_BY_BLOCK

このパラメータは、水平分割レプリケーションで使用されるハッシュアルゴリズムの基準が rowid であるか、行が存在するブロックであるかどうかを制御します。デフォルト値の 0 では、rowid に基づいたハッシュを使用することになります。ブロックに基づいたハッシュの使用時には、水平分割レプリケーションを使用しているテーブルの処理時に、Post プロセスのパフォーマンスが改善される可能性があります。ブロックに基づいたハッシュを有効にするには、このパラメータを 1 に設定してから、設定ファイルを再アクティベートします。

 

デフォルト:0(無効化)

有効な値の範囲:0 または 1(ブロックに基づいたハッシュが有効)

有効になる時期:次回のアクティベーション時

 

SP_OCF_LOCK_WAIT_TIME

このパラメータは、特定のテーブルで activation が失敗するまで SharePlex が待機すべき時間を示します。テーブルは activation のためにロックする必要があるために、ロジックは指定された時間ロックを再試行することであり、この指定された時間は SP_OCF_LOCK_WAIT_TIME パラメータで制御されます。

 

デフォルト:5 分

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

有効になる時期:次回のアクティベーション時

 

SP_OCF_THREAD_COUNT

このパラメータは、configuration activation 中に SharePlex が生成するスレッドのデフォルト数を制御します。最適のパフォーマンスレベルを判断するために、このスレッド数で実験することが必要な場合もあります。たとえば、大型ディスクアレイのある 32 CPU マシンでは、10 スレッド以上にするとパフォーマンスが向上することがあります。スレッド数の値は、分析するテーブルの数とは無関係です。

 

デフォルト:3 スレッド

有効な値の範囲:1 から 32

有効になる時期:次回のアクティベーション時

 

Capture パラメータ

これらのパラメータは、SharePlex Capture プロセスによって使用されます。

SP_OCT_ALLOW_DP_DDL

Oracle Data Pump のエクスポート/インポートの実行時に発生する DDL 操作の複製が SharePlex で失敗する場合に、このパラメータを有効にできます。SharePlex が Data Pump ロードの DDL を無視すべき再帰 DDL として認識する場合もあります。このパラメータは、その DDL をキャプチャするように SharePlex に指示します。

1 を指定すると、このパラメータが有効になります。ロードが完了したら、このパラメータを 0 に戻し、Capture を再起動してください。

 

デフォルト: 0

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

有効になる時期:Capture プロセスの再起動時

 

SP_OCT_ARCH_LOC

このパラメータは、アーカイブログのパスを定義します。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 フォーマットでは、ディレクトリパス名のリストをセミコロンで分けることができます。リストは、最大 1023 バイトまでの長さで自由に設定できます。しかし、RAC フォーマットでは、非 RAC フォーマットと異なり、!; の後に sid;pathname のペアのリストが続き、パス名をパス名のリストにできません。各 SID の後には、正確に 1 つのディレクトリパス名をつける必要があります。1 つのインスタンス SID のために複数のパス名を指定する場合は、2 つの項目のペアを入力し、各項目に同じ SID を持たせる必要があります。このために、次のようには指定できません。

!;sid1;path2;path2;path3;sid2;path4

上の例の正しいフォーマットは、次のとおりです。

!;sid1;path2;sid1;path2;sid1;path3;sid2;path4

 

デフォルト:空文字列

有効な値の範囲:リストアされたアーカイブログのフルディレクトリパス

有効になる時期:即時

 

SP_OCT_ASM_CACHE

このパラメータは、ASM ブロックの再クエリを実行して更新するまで、現在の ASM キャッシュを保持する期間を制御します。

 

デフォルト: 40

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

有効になる時期:即時

 

SP_OCT_ASM_MULTI_OCI_BLOCK_SIZE

このパラメータは、Exadata システムでマルチスレッド caputure を有効にするように SP_OCT_ASM_MULTI_OCT が設定されているときに、各 Capture スレッドによって使用されるバッファのサイズを制御します。このパラメータは、デフォルトのままにしてください。Capture がそのバッファサイズを、ログが存在するディスクグループ用に設定された AU_SIZE パラメータ値に自動的に調整します。これが最高のパフォーマンスを得るための推奨バッファサイズです。

 

デフォルト: 0

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

有効になる時期: Capture プロセスの再起動時

 

SP_OCT_ASM_MULTI_OCI

このパラメータは、Capture が Exadata システム上の redo ログの読み込みに使用するスレッド数を制御します。

このパラメータに設定する値は、以下の条件をすべて満たす必要があります。

  • 1 を超えること。
  • redo ログを格納する ASM ディスクグループのディスク数に対して偶数の約数になること。たとえば、ディスク数が 16 の場合、値 2、4、8、および 16 が有効です。
  • redo ログを格納する ASM ディスクグループのディスク数以下であること。

大量のスレッドは不要です。実際にスレッド数が必要以上に多いとパフォーマンスが低下します。スレッド数が多くなるほど Capture で必要になるメモリ量が多くなります。

少数のスレッドで始めてパフォーマンスを監視し、パフォーマンス上のメリットとメモリ使用量のバランスが最適になるまでスレッドを適宜追加してください。たとえば、ディスク数が 16 の場合、値 2 から始めてみます。

 

デフォルト: 0(単一スレッドによる capture)

有効な値の範囲: 2 ~ redo ログを格納する ASM ディスクグループ内のディスク数(この数の偶数の約数)まで

有効になる時期: Capture プロセスの再起動時

 

SP_OCT_ASM_SUPPORT

このパラメータは、ASM がサポートするプラットフォーム上での、redo ログおよびアーカイブログのサポートを有効/無効にします。SharePlex データベース接続が ASM に接続するように設定されている場合、自動的に有効になります。

 

デフォルト: 0(オフ)

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

有効になる時期:Capture プロセスの再起動時

 

SP_OCT_ASM_USE_OCI

このパラメータは、Exadata システム上の ASM に格納された redo ログからの Capture を制御します。SharePlex による Exadata システムでの capture のため、有効にする必要があります。

 

デフォルト: 0(オフ)

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

有効になる時期:即時

 

SP_OCT_AUTOADD_ENABLE

このパラメータは、新しく作成されたオブジェクトをアクティブな複製設定に自動的に追加できるようにするグローバルパラメータです。デフォルトでは、テーブルおよびインデックスに適用されます。その他のオブジェクトタイプを自動追加するには、追加のパラメータ設定が必要です。この機能は、次のように動作します。

SP_OCT_AUTOADD_ENABLE を有効にすると、以下のオブジェクトの自動追加はデフォルトで有効になります。

  • CREATE TABLE 操作で指定されたテーブルは、その名前がアクティブな設定ファイル内のワイルドカード指定と一致する場合に、複製に自動で追加されます。
  • CREATE INDEX 操作で作成されるインデックスは、作成されたテーブルの名前が設定ファイル内で指定されている場合に、複製に自動で追加されます。
  • CREATE TABLE AS SELECT 操作で指定されるテーブルは、その名前がアクティブな設定ファイル内のワイルドカード指定と一致する場合に、複製に自動で追加されます。SharePlex はターゲットに新しいテーブルを作成してから、ソーステーブルのデータを複製します。

以下のオブジェクトは、SP_OCT_AUTOADD_ENABLE を有効にするだけでなく、明示的に自動追加サポートを有効にする必要があります。

CREATE MATERIALIZED VIEW 操作で指定されたマテリアライズドビューのサポートテーブルは、マテリアライズドビューの名前がアクティブな設定ファイル内のワイルドカードと一致し、SP_OCT_AUTOADD_MV パラメータが 1 に設定されている場合に、複製に自動で追加されます。新規マテリアライズドビューの自動追加をサポートするには、SP_OCT_TARGET_COMPATIBILITY パラメータが 8.6.2 以上に設定されている必要があります。

CREATE SEQUENCE 操作で指定されたシーケンスは、その名前がアクティブ設定ファイル内のワイルドカードと一致し、SP_OCT_AUTOADD_SEQ パラメータが 1 に設定されている場合に、複製に自動で追加されます。新規シーケンスの自動追加をサポートするには、SP_OCT_TARGET_COMPATIBILITY パラメータが 8.6.3 以上に設定されている必要があります。注:変更をシーケンスに複製するには、SP_OCT_REPLICATE_SEQUENCES パラメータが 1(デフォルト)に設定されている必要があります。

 

デフォルト: 1(オン)

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

有効になる時期:即時

 

SP_OCT_AUTOADD_MVIEW

このパラメータは、アクティベーション後に作成されたマテリアライズドビューを SharePlex が複製に自動的に追加するかどうかを決定します。このパラメータが有効であれば、マテリアライズドビューの名前がアクティブな設定ファイル内のワイルドカードを満たしている場合、SharePlex は新しいマテリアライズドビューの基になるテーブルを複製に追加します。SharePlex は CREATE MATERIALIZED VIEW を CREATE TABLE 文に変換し、CREATE TABLE をターゲットに post して、ビューにデータを投入する DML を複製します。このテーブルは、将来のサポート対象 DDL および DML の変更を通して、複製によって維持されます。

マテリアライズドビューを自動追加するには、このパラメータと SP_OCT_AUTOADD_ENABLE パラメータの両方を 1 に、ターゲット上の SharePlex のバージョンを 8.6.2 以上に設定する必要があります。

 

デフォルト: 0(オフ)

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

有効になる時期:即時

 

SP_OCT_AUTOADD_SEQ

このパラメータは、アクティベーション後に作成されたシーケンスを SharePlex が複製に自動的に追加するかどうかを決定します。このパラメータが有効であれば、シーケンスの名前がアクティブな設定ファイル内のワイルドカードを満たしている場合、SharePlex は CREATE 文を複製します。さらに、SharePlex は、将来の DDL および DML の変更を通して、ターゲット上のオブジェクトを維持します。シーケンスを自動追加するには、このパラメータと SP_OCT_AUTOADD_ENABLE パラメータの両方を 1 に、ターゲット上の SharePlex のバージョンを 8.6.3 以上に設定する必要があります。

 

デフォルト: 0(オフ)

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

有効になる時期:即時

 

SP_OCT_CHECKPOINT_LOG

時折、Capture process が通常ベースでチェックポイントを行なわないことがあります(チェックポイントは、復旧で必要な場合にプロセスの状態を保存します)。Capture process が何らかの理由で終了し REDO ログがラップした場合は、SharePlex はもはや存在しないチェックポイントを復旧しようと試みます。SP_OCT_CHECKPOINT_LOG により、ログ切り替え前にチェックポイントが発生することが保証されます。

Capture が指定された数のログで Oracle に遅れをとったときに、チェックポイントがトリガされます。たとえば、デフォルトの 2 の場合は、Oracle から 2 以上のログで遅れをとったときに、Capture はチェックポイントを行ないます。

このパラメータに指定可能な値の範囲は、2(デフォルト)から使用しているログの数に等しい値までです。0 の値を指定すると、この機能は無効になります。このパラメータは、頻繁なログ切り替えにより SharePlex の内部チェックポイント機構がトリガされる前に切り替えが起こることがある環境で役立ちます。

 

デフォルト: 2 ログ

有効な値の範囲: 2 から REDO ログの数まで

有効になる時期:即時

 

SP_OCT_CHECKPOINT_TIME

このパラメータは、SP_OCT_CHECKPOINT_FREQ パラメータに関連して機能します。これは、Capture process がチェックポイントを行なう前の遅延時間を秒単位で定義します。SP_OCT_CHECKPOINT_FREQ のために設定された値に到達する前に、このパラメータのために設定された値に到達した場合は、チェックポイントをトリガします(チェックポイントは、障害復旧で必要な場合にプロセスの状態を保存します)。

 

デフォルト: 120 秒

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

有効になる時期:即時

 

SP_OCT_CK_LOC_FIRST

このパラメータを使用すると、Capture プロセスはまず SP_OCT_ARCH_LOC に指定されている場所にアーカイブされている redo ログを検索します。SP_OCT_ARCH_LOC が空文字列の場合、Capture は Oracle に設定されているアーカイブログの場所 (Archive Log Destination) を検索します。

 

デフォルト: 0(オフ)

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

有効になる時期:即時

 

SP_OCT_DATA_OBJ_CACHE_SIZE

このパラメータは、データオブジェクト ID からテーブルオブジェクト ID へのマッピングキャッシュ内で使用するエントリ/要素数を指定します。DLOADs またはr LOB データなど特定の操作に対して、そのような操作の redo レコードにはデータオブジェクト ID のみが含まれます。Capture プロセスは、注目する操作かどうかを判断するために、データ ID をテーブルオブジェクト ID とマップする必要があります。データオブジェクト ID からテーブルオブジェクト ID へのマッピングキャッシュは、これに対するルックアップソリューションを提供しています。そうしないと、Capture プロセスは Oracle にクエリを行って、データオブジェクト ID をテーブルオブジェクト ID にマップしなければなりません。

 

デフォルト: 50

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

有効になる時期:即時

 

SP_OCT_DATE_ MSG

このパラメータは、無効なデータ列を検出したときに、Capture process が警告メッセージを Event Log および Capture Log に印字するために設定できます。0 を設定した場合はこれが無効になり、1 を設定した場合は有効になります。Capture が生成するエラーメッセージ:

Invalid DATE format detected in record with rowid=rowid, on obj object_id.See capture log for detail.

 

デフォルト: 0(メッセージを印字しません)

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

有効になる時期:即時

 

SP_OCT_DDL_LOGGING

このパラメータは、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

有効になる時期:即時

 

SP_OCT_DEF パラメータ

次のパラメータは、ユーザーまたはアプリケーションによって誤って入力され、データベースの有効性チェックをバイパスしていた場合に、SharePlex が日付および時刻のフォーマットを是正するために設定できます。これらのパラメータは activate されるとすぐに有効になります。

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

 

SP_OCT_DENIED_USERID

このパラメータは、Capture プロセスが無視するまたはフィルタリングするすべての DML および DDL トランザクションの Oracle 10g 以降のユーザー ID を指定するために使用できます。

重要: ソースマシンのトランザクションを無視すると、非同期状態になる可能性があります。

SharePlex は、指定されたユーザー ID が存在するかどうかを確認しません。

 

デフォルト: 0x00000000

有効な値の範囲:整数 (任意の有効な Oracle ユーザー ID)

有効になる時期:即時

 

SP_OCT_ENABLE_LOBMAP

このパラメータは、行外の LOB 列が含まれるテーブルを複製するときに SharePlex が LOB マップを使用するかどうかを制御します。LOB マップは、PK/UK ロギングが有効でない場合に、Capture プロセスでの LOBID と行のマッピングに使用されます。LOB マッピングはデフォルトで有効です。これらのマッピングは SHAREPLEX_LOBMAP テーブルに格納されます。Capture がマッピングを維持および参照する必要があるため、大量の LOB 操作によるトランザクションによって Capture の速度が低下することがあります。データベースで PK/UK ロギングが有効な場合は、このパラメータを 0 に設定して LOB マッピングを無効にできます。

 

デフォルト: 1(オン)

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

有効になる時期:即時

 

SP_OCT_INCLUDE_UNCHANGED_COL

このパラメータは、変更なしの列が UPDATE 操作の更新後イメージに含まれるかどうかを制御します。デフォルトでは、SharePlex が更新後イメージに含めるのは、変更ありの値に限定されます。

 

デフォルト: 0(オフ)

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

有効になる時期:即時

 

SP_OCT_INSERT_INCLUDE_NULLS

このパラメータは、NULL 値を持つ列が INSERT 文で複製されるかどうかを制御します。デフォルトでは、SharePlex は NULL 値を複製しません。たとえば 6 つの列がある mytable の場合、INSERT INTO mytable (col1, col2, col3) VALUEs ('red', 'green', 2) のような文では、SharePlex で明示的に複製されるのは 'red'、'green'、および 2 の値に限定されますが、他の 3 つの列の暗黙的な NULL 値は複製されません。SP_OCT_INSERT_INCLUDE_NULLS が 1 に設定されている場合、SharePlex が複製するのは 'red'、'green'、2、' '、' '、' ' です。

 

デフォルト: 1(オン)

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

有効になる時期:即時

 

SP_OCT_LOB_BUFFER_SIZE

このパラメータは、Capture の LOB バッファのサイズを制御します。このバッファは Capture が関連するトランザクション情報を結集できるまで、維持する必要があります。SharePlex がトランザクションを決定できない場合は、トランザクションがあるものの外側の特殊な sub-queue を使用します。これらの sub-queue のヘッダでは、より多くの共有メモリが必要であり、SP_OCT_LOB_BUFFER_SIZE パラメータを増加することが必要な場合があります。

LOB バッファが大きくなればなるほど、システムメモリが尽きる可能性も高くなり、その場合は、再びメモリが使用可能になるまで、その後の LOB 操作のバッファリングができなくなります。

そのために、SP_OCT_LOB_BUFFER_SIZE パラメータを増加することと関連して、SP_QUE_Q_SHMSIZE パラメータを増加する必要が発生することがあります。一般的には VARRAY の LOB データのみがバッファされます。そのため、通常このパラメータは VARRAY が関与するトランザクションにのみ影響を与えます。

 

デフォルト: LOB ごとに 5 MB のメモリ

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

有効になる時期: Capture の再起動時

 

SP_OCT_LOG_FILESIZE

このパラメータは、Capture デバッグログファイルのサイズを設定します。

 

デフォルト: 50000000 バイト

有効な値の範囲:9999 バイトを超える任意の値

有効になる時期: Capture の再起動時

 

SP_OCT_LOG_MEMBER

SP_OCT_LOG_MEMBER パラメータは、redo ログの場所を指定するデータディクショナリのクエリを補完するために使用されます。このパラメータは、操作したいログファイルを正確に指定するために使用できます。

 

デフォルト: %(パーセント記号)

有効な値の範囲:ワイルドカード文字を含む正しくフォーマットされたファイル名指定

有効になる時期: Capture の再起動時

 

SP_OCT_LOG_NUMFILES

このパラメータは、Capture デバッグログファイルについて、最も古いものが削除され、新しいものが作成される条件のファイル数を制御します。

 

デフォルト: 3

有効な値の範囲:1 を超える任意の値

有効になる時期: Capture の再起動時

 

SP_OCT_LOG_READ_SIZE

Capture process は複数の REDO ログファイルブロックを 1 回のパスで読み取ります。このパラメータは、一度に読み取るブロック数を制御して、システムの configuration に従って値を調整できるようにし、Capture が Oracle の処理に遅れをとるかどうかを調整できるようにします。この値が必要以上に高いときは、システムオーバーヘッドが高くなります。

 

デフォルト: 64 ブロック

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

有効になる時期: Capture の再起動時

 

SP_OCT_LOGWRAP_RESTART

このパラメータは、次の状況に対する Capture の動作を制御します。

  • アーカイブを利用できない。
  • Capture でログを開く権限を拒否される。

Capture がアーカイブログを検出できない、またはログを開けない場合、プロセスはデフォルトで停止します(設定値は 0)。この設定では、Capture がログにアクセスできない場合、show capture コマンドは「Stopped due to missing archive log」というステータスを返します。

一定時間(秒単位)待機してから自動的に再開するように Capture を設定できます。これにより、適切な読み取り権限を割り当てたり、SharePlex の所定の場所にアーカイブを移動する外部ログ管理処理を実行したりする時間を確保できます。Capture ではログを待機およびチェックします。ログを使用できなかったり開けなかったりした場合は停止し、ログがリストアされるか開かれるまでチェックと停止を継続します。この設定では、show capture コマンドは「waiting for logfile」という状態を返します。

 

デフォルト: 0 秒(ログが利用できない場合、自動的に再開しない)

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

有効になる時期:キャプチャの再開時

 

SP_OCT_MIN_SESSIONS

このパラメータは、同時トランザクションからのデータを格納するために Capture によって作成および維持されるサブキューの最小数を制御します。このパラメータは、Post の同時実行を増やすことができる Post 拡張パフォーマンス(PEP)機能をサポートしています。PEP 機能は、SP_OPO_DEPENDENCY_CHECK パラメータで制御されます。

最適な結果を得るには、SP_OCT_MIN_SESSIONS を少なくともターゲットシステム上の CPU コア数に設定します。

 

デフォルト: 8

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

有効になる時期: Capture の再起動時

 

SP_OCT_OLOG_DELAY

このパラメータは、Capture の redo ログリーダーが、読み込むデータがなくなったことを検出した時にスリープする時間 (マイクロ秒) を制御します。このパラメータは、Capture がアイドル状態の場合にのみ適用されます。基本的にビジー状態の Capture は読み込むレコードが存在するため、スリープ状態にはなりません。

 

デフォルト: 10000 (マイクロ秒)

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

有効になる時期: Capture の再起動時

 

SP_OCT_OLOG_NO_DATA_DELAY

このパラメータは、処理するデータがなくなった時に、ログリーダーが再試行までスリープする時間を制御します。

 

デフォルト: 10000 (マイクロ秒)

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

有効になる時期: Read の再起動時

 

SP_OCT_OLOG_QUEUE_SIZE

このパラメータは、ログリーダーキューのサイズを設定します。

 

デフォルト: 5000

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

有効になる時期: プロセス再起動時

 

SP_OCT_OLOG_REOPEN

このパラメータは、オンライン redo ログのファイルの終端に達した場合に、Capture プロセスがそれを閉じて再オープンするかどうかを制御します。このパラメータを有効にした場合、SP_OCT_OLOG_NO_DATA_DELAY パラメータを使って、再試行までに Capture プロセスが待機する時間を設定できます。

 

デフォルト: 1(オフ)

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

有効になる時期:Read の再起動時

 

SP_OCT_ONELINE_DEBUG

このパラメータは、Capture プロセスの 1 行デバッグ機能を制御します。

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

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

sp_ctrl> set sp_oct_oneline_debug 230230, 351626

次の項目がログに記録されます。

  • SharePlex によって使用されるトランザクション識別子
  • 影響を受けた DML または DDL 操作のタイプ
  • 影響を受けたソーステーブルのオブジェクト ID
  • 影響を受けた行の行識別子
  • 操作が発生した時間
  • 影響を受けた操作のログに含まれるログのシーケンス番号とオフセット
  • トランザクションの Oracle SCN
  • 冗長操作を防止する内部 SharePlex コード

 

デフォルト: 無効

有効な値の範囲:オブジェクト ID によって列挙され、コンマによって区切られたオブジェクトのリストを形成する文字列。

有効になる時期: 即時

 

SP_OCT_OPS_LOGREADER_DELAY

このパラメータは、ログリーダーが no_data に遭遇した場合に、再試行するまでの遅延時間を制御します。

 

デフォルト: 50000 (マイクロ秒)

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

有効になる時期: Capture の再起動時

 

SP_OCT_OPS_LOGREADER_RETRY

このパラメータは、ログリーダーが no_data に遭遇した場合に再試行を行う回数を制御します。

 

デフォルト: 3

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

有効になる時期: Capture の再起動時

 

SP_OCT_OPS_NO_DATA_DELAY

このパラメータは、シーケンサー内で no_data に遭遇した場合に、ノード当たりに適用するスリープ状態の長さを制御します。

 

デフォルト:5 (デシ秒)

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

有効になる時期: Read の再起動時

 

SP_OCT_PREFER_ARCHIVE

このパラメータは、Capture が redo ログのオンラインバージョンまたはアーカイブバージョン(利用可能な場合)のどちらを読み取るかを制御します。デフォルトでは、Capture が読み取るのはオンラインログに限定され、アーカイブログを読み取るのはオンラインログが利用できなくなった場合に限定されます。

このパラメータが設定されている場合、Capture は必要なログをオンラインで検索し、追加のチェックでログがアーカイブされているかどうかも判別します。ログがアーカイブされている場合、Capture はアーカイブパスへのクエリによって、オンラインログではなく、アーカイブログを読み取ります。ログがアーカイブされていない場合、Capture はオンラインログを読み取ります。

通常、オンライン redo ログを読み取るときに、SharePlex は遅延を最小限に抑えますが、このパラメータによって、Exadata での Capture のパフォーマンスが改善される可能性があります。SharePlex が処理できるデータ量が増えるのは、Exadata ASM ファイルシステムの外部にある多重化されたアーカイブ先から読み込む場合です。バックログのデータ量が Exadata で増える場合には、SP_OCT_PREFER_ARCHIVE パラメータの値を 1 に設定するとともに、『SharePlex 管理ガイド』の「Exadata での Capture のチューニング」の指示に従って、SharePlex を設定します。

このパラメータを使用するには、redo ログの多重化を有効にするとともに、アーカイブログへのパスを SharePlex で設定する必要があります。詳細については、次を参照: SP_OCT_ARCH_LOC

 

デフォルト: 1(オフ)

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

有効になる時期:Capture の再起動時

 

SP_OCT_REDO_LOG_ENSURE

このパラメータは、オンライン redo ログからの変更レコードを処理する前に Capture が待機する秒数を制御します。この待機時間は、記録の Oracle タイムスタンプと現在のシステム時刻の間の差に相当します。Oracle logwriter が書き込みを終了していない記録を Capture が読み取ると、記録のキャプチャが部分的なものに留まる可能性があります。待機時間を設定することで、このような Capture による読み取りの試行を防ぎます。

 

デフォルト: 2 秒

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

有効になる時期:キャプチャの再開時

 

SP_OCT_REDUCED_KEY

このパラメータは、Post による使用を目的として Capture によってターゲットに送信される redo ログの操作の部分を制御します。SharePlex の機能ごとに、Post プロセスで利用可能にするべきデータ量は異なります。

  • 0 に設定した場合、このパラメータは、LONG および LOB を除いて、Oracle が redo レコードに書き込んだすべてのデータを送信するように Capture に指示します。この設定では、ほとんどのデータがネットワーク上に送信されますが、特定の SharePlex 機能をサポートするために必要です。
  • 1(デフォルト値)に設定した場合、このパラメータは、キー値と、(UPDATE の場合)この操作で変更された列の操作前と操作後の値を送信するように Capture に指示します。この設定がデフォルトです。この設定では、WHERE 句の作成時に変更された列の変更前と変更後の比較を Post で実行できるようになるので、複製パフォーマンスとターゲットデータ整合性のバランスが良くなります。SharePlex で変更前と変更後の値をどのように使用するかの詳細については、『SharePlex 管理ガイド』を参照してください
  • 2 に設定した場合、このパラメータは、キー値と、(UPDATE の場合)この操作でターゲットに変更された列の操作後の値を送信するように Capture に指示します。この設定は最小限のデータをネットワーク上に送信するとともに、データの post 時にキー値のみを Post で使用できるようにするので、パフォーマンスが改善されます。

SP_OPO_REDUCED_KEY」も参照してください。

 

デフォルト: 1

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

有効になる時期:Capture の再開時

 

SP_OCT_REPLICATE_ALL_DDL

このパラメータは、SharePlex 複製設定ファイルに含まれていないオブジェクトの DDL の複製を制御します。オブジェクトは設定のアクティベーション前にソースデータベース内に存在しているとともに、ターゲットにも存在している必要があります(CREATE の場合を除く)。SharePlex は DDL 文を複製しますが、将来の DML の変更を通してターゲット上のオブジェクトを維持するわけではありません。

SP_OCT_REPLICATE_ALL_DDL を設定する場合、複製された DDL をターゲットシステム上で正常実行するために、同一のソースデータベースおよびターゲットデータベースでなければなりません。この DDL はすべてのターゲットマシンにブロードキャストされるので、すべてのターゲットシステムが同一でなければなりません。

SharePlex は、アクティブなデータソースのすべてのスキーマに含まれるすべてのオブジェクトのサポート対象 DDL を複製するので、操作が成功するためには、これらのコンポーネントがターゲットデータベースに存在している必要があります。

複製された DDL 操作を target database に適用するときにエラーが発生した場合に Post プロセスが停止するように構成するには、SP_OPO_STOP_ON_DDL_ERR パラメータを設定します。

パッケージまたはストアドプロシージャの作成を複製する場合、パッケージまたはストアドプロシージャ本体内のオブジェクトの名前は完全修飾名でなければなりません(他のユーザーまたはスキーマがこのパッケージまたはストアドプロシージャを実行する可能性があるため)。

SharePlex がサポートする操作の一覧については、ご利用のバージョンの SharePlex に対応するリリースノートを参照してください。

 

デフォルト:0(オフ)

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

有効になる時期:即時

 

SP_OCT_REPLICATE_CTAS

このパラメータは、新しいテーブルの名前が 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 は次の操作を実行します。

  1. CREATE TABLE 文を複製してターゲット上に新しいテーブルを作成します。
  2. ソース SELECT 文から返されたすべての DML を INSERTS として複製して、新しいターゲットテーブルに値を設定します。

たとえば、以下のソース文があるとします。

create table my_table as select * from table_a;

table_a に 2 つの列と 2 つの行があると仮定した場合、SharePlex によってターゲットに post される文は以下のようになります。

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

有効になる時期:次回のアクティベーション時

 

SP_OCT_REPLICATE_DDL

このパラメータは、アクティブな設定で SharePlex によって複製されているオブジェクトに対する次の操作を SharePlex が複製するかどうかを制御します。

  • ALTER TABLE to ADD COLUMN
  • ALTER TABLE to DROP COLUMN
  • TRUNCATE TABLE

これで、複製する対象(両方のタイプの複製、どちらか一方のみの複製、または複製なし)を制御できます。

その他のデフォルトの DDL 複製機能については、「SP_OCT_AUTOADD_ENABLE」も参照してください。

設定ファイル外のオブジェクトに関する DDL を複製するには、「SP_OCT_REPLICATE_ALL_DDL」パラメータを参照してください。

 

デフォルト:3(ALTER および TRUNCATE を複製)

有効な値の範囲

0(ALTER および TRUNCATE の両方の複製を無効化)

1(ALTER 複製のみを有効化)

2(TRUNCATE複製のみを有効化)

3(ALTER および TRUNCATE の複製を有効化)

有効になる時期:即時

 

SP_OCT_REPLICATE_DLOAD

このパラメータは、SQL*Loader のダイレクトパスの読み込みを複製するかどうかを制御します。デフォルトの 1 を指定すると、ダイレクトパスの読み込みの複製が有効になります。SharePlex は「非パラレル読み込みのみについて」(PARALLEL=FALSE)複製をサポートします。データベースはアーカイブモードになっている必要があり、またテーブルロギングを有効にする必要があります。ダイレクトパスの読み込みの複製を無効にするには、このパラメータを 0 に変更します。

 

デフォルト:1(ダイレクトパス読み込みを複製)

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

有効になる時期:即時

 

SP_OCT_REPLICATE_GRANT

このパラメータは、設定ファイル内で列挙されたテーブルに対して発行された GRANT コマンドを SharePlex が複製するかどうかを制御します。

 

デフォルト:0(無効化)

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

有効になる時期: Capture の再起動時

 

SP_OCT_REPLICATE_POSTER

このパラメータは、システム上の Capture process が、そのシステムに Post プロセスがポストしたデータを複製するかどうかを制御します。このパラメータをデフォルト設定の 0 のままにしておきます。こうすることで、Capture は同じシステム上の Post 活動を無視します。主にカスケード複製など、ある種の複製設定を確立するときは、このパラメータを 1 に設定するように指示されることがあります。こうすると、Capture はポストされた変更を複製します。

 

デフォルト:0(Post トランザクションを複製しません)

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

有効になる時期:Capture の再起動時

 

SP_OCT_REPLICATE_MVIEW

このパラメータは、パラメータファイル内で明示的にまたはワイルドカードによって列挙されたマテリアライズドビューに対する変更を、SharePlex が複製するかどうかを制御します。デフォルトでは、有効になっています。マテリアライズドビューは、アクティベーション前にソースおよびターゲット内に存在している必要があります。

アクティベーションに作成されたマテリアライズドビューを複製に追加するように SharePlex を設定できます。詳細については、次を参照: SP_OCT_AUTOADD_MVIEW

0 に設定すると、設定ファイル内で列挙されている場合や、名前がワイルドカード指定を満たしている場合でも、マテリアライズドビューを複製から除外します。

 

デフォルト:1(マテリアライズドビューを複製)

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

有効になる時期:次回のアクティベーション時

 

SP_OCT_REPLICATE_SEQUENCES

このパラメータは、設定ファイル内で明示的にまたはワイルドカードによって列挙されたシーケンスに対する変更を、SharePlex が複製するかどうかを制御します。デフォルトでは、有効になっています。シーケンスは、アクティベーション前にソースおよびターゲット内に存在している必要があります。

アクティベーションに作成されたシーケンスを複製に追加するように SharePlex を設定できます。詳細については、次を参照: SP_OCT_AUTOADD_SEQ

0 に設定すると、設定ファイル内で列挙されている場合や、名前がワイルドカード指定を満たしている場合でも、シーケンスを複製から除外します。

 

デフォルト:1(シーケンスを複製)

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

有効になる時期:次回のアクティベーション時

 

SP_OCT_REPLICATE_SYNONYM

このパラメータは、設定ファイル内で列挙されたテーブルに対して発行された CREATE SYNONYM および DROP SYNONYM コマンドを、SharePlex が複製するかどうかを制御します。

 

デフォルト:0(無効化)

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

有効になる時期: Capture の再起動時

 

SP_OCT_REPLICATE_TRIGGER

このパラメータは、設定ファイル内で列挙されたテーブルに対して発行された CREATE TRIGGER および DROP TRIGGER  コマンドを、SharePlex が複製するかどうかを制御します。

 

デフォルト:0(無効化)

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

有効になる時期: Capture の再起動時

 

SP_OCT_REQUIRED_DATA_IS_LOGGED

このパラメータは、ロールバック処理を改善するための、Capture プロセスによる付加情報の収集を有効にします。ロールバック処理で、Read プロセスは目的のパフォーマンスを確保/向上するために、より多くのリソースを必要とします。システムリソースが乏しい状況で多数のロールバックが発生した場合、このパラメータを無効にして Read プロセスのリソース消費を減らすことができます。デフォルトでこのパラメータは有効になっています。

 

デフォルト:1(オン)

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

有効になる時期:Capture の再起動時

 

SP_OCT_TARGET_COMPATIBILITY

このパラメータは、バージョン 9.0 以降で名称が SP_SYS_TARRGET_COMPATIBILITY に変更になります。

このパラメータを使用すると、異なるバージョンの SharePlex 間で互換性を確保して、スムーズな移行やアップグレードを実現できます。SharePlex は新しいユーザー要件を満たすために常に進化しているため、新しいバージョンに追加される機能が必ずしも以前のバージョンとの互換性があるわけではありません。このパラメータは、ソースシステム上の新しいバージョンの SharePlex からターゲットシステム上の古いバージョンの SharePlex への複製を有効にします。

デフォルトでは、このパラメータはインストールされている SharePlex ソフトウェアのバージョンに設定されています。

  • ソースシステム上の新しいバージョンの SharePlex からターゲットシステム上の古いバージョンの SharePlex に複製する場合は、このパラメータをターゲット上の SharePlex のバージョンに最も近い値に設定します。たとえば、SharePlex のバージョンがソース上では 8.6.3、ターゲット上では 8.6.2 である場合、このパラメータを 8.6.2 に設定します。
  • 同じバージョン間での複製時には、このパラメータを両方のシステム上でデフォルト値のままにします。

 

デフォルト:インストールされている SharePlex ソフトウェアのバージョン

有効な値の範囲:SharePlex リリースバージョン 6.0.0 から現行バージョン、最長で 3 つの数字(たとえば、8.6.3)

有効になる時期: Capture の再起動時

 

SP_OCT_TRUNC_PARTITION_BY_ID

このパラメータを使用して、システム生成パーティションの切り詰めまたは削除を行う ALTER TABLE の複製が、ターゲットの適切なパーティションに影響を与えるようにします。

データベースはシステム生成パーティションの名前を生成するため、ソースにおけるそのようなパーティションの名前は、ターゲットで対応するパーティションの名前と一致しません。ただし、ターゲットがソースの完全コピーである場合、同じ時間枠のパーティション位置は一致します。

複製がターゲットの適切なパーティションに影響を及ぼすようにするには、次の手順に従います。

  1. ソーステーブルとターゲットテーブルの構造およびパーティション定義が同一であることを確認します。同じ高い値のパーティションの場合、dba_tab_partitions からのパーティション位置は、複製の開始前にソースとターゲットで同一でなければなりません。
  2. SP_OCT_TRUNC_PARTITION_BY_ID パラメータを 1 に設定します。この設定は、元の ALTER TABLE コマンドで指定されたパーティション名を使用する代わりに、パーティション位置を使用してパーティションを特定するように SharePlex に指示します。Post は、ターゲットテーブルの適切なパーティション名にパーティション位置をマッピングします。

このパラメータが有効な場合、SharePlexSP_OCT_TARGET_COMPATIBILITY パラメータを確認して、ターゲットの Post プロセスがバージョン 8.6.4 以上であることを確認します。これは、システムが生成したパーティションを ID で切り詰めまたは削除する ALTER TABLE をサポートする最低バージョンです。ターゲットの Post プロセスが以前のバージョンである場合、ALTER TABLE はパーティション名を使用して複製され、警告メッセージがターゲットの SharePlex event_log に記録されます。

 

デフォルト:0(無効化)

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

有効になる時期:即時

SP_OCT_USE_DST

このパラメータは、ロジックを確保するために redo ログのサマータイム補正を無効にする場合に使用します。

 

デフォルト:1 (有効)

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

有効になる時期:即時

 

SP_OCT_USE_SUPP_KEYS

このパラメータは、行の更新、削除時に、Oracle の補助ログが設定した列をキー列として使用する場合に使用します。

一般的な複製スキーマでは、Post が行を更新または削除する際に、Post が使用する一連のキー列を SharePlex が選択します。Oracle の PK/UK 補助ログが有効になっている場合、Oracle は各更新のキー列をログに記録します。これらのキー列は SharePlex がキーとして選択した列と常に一致する訳ではないため、Read プロセスに余計な作業が発生してしまいます。デフォルトの SharePlex 動作より優先するようにこのパラメータを設定すれば、SharePlex の速度と効率が向上します。

SP_OCT_USE_SUPP_KEYS を 1 に設定しており、いずれかのテーブルが設定ファイル内で水平分割設定となっている場合は、水平分割のカラムコンディションを redo ロググループ内に含める必要があります(当該カラムコンディションが当該テーブルの PK/UK の一部である場合を除く)。

オープンターゲットのデータベースターゲットへの複製時には、このパラメータを 1 に設定する必要があります。

 

デフォルト:0(無効化)

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

有効になる時期: Capture の再起動時

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating