Chat now with support
Chat with Support

SharePlex 8.6.6 - 管理ガイド

このガイドについて このガイドで使用されている表記規則 SharePlex の概要 SharePlex の実行 複数の SharePlex インスタンスの実行 sp_ctrl でのコマンドの実行 SharePlex パラメータ 複製のための Oracle 環境の準備 設定ファイルの作成 オープンターゲットのターゲットへの複製の設定 複製方法の設定 分割レプリケーションの設定 名前付きキューの設定 変更履歴ターゲットを維持するための SharePlex の設定 Oracle DDL の複製 エラー処理のセットアップ データの変換 SharePlex セキュリティ機能の設定 実稼動環境での複製のアクティベート SharePlex の監視 複製上の問題の防止および解決方法 非同期データの修復 Oracle の高可用性を維持するための手順 アクティブな複製環境の変更 Oracle アプリケーションのパッチまたはアップグレードの適用 ソースまたはターゲット上の Oracle データのバックアップ Capture プロセスのチューニング Post プロセスのチューニング 付録 A:ピアトゥピアの説明図 付録 B:SharePlex 環境変数

Oracle データをサポートするための SharePlex のセットアップ

複製のための Oracle 環境の準備 > Oracle データをサポートするための SharePlex のセットアップ

このトピックには、特定の Oracle データ型に適用されるセットアップのガイドラインが記載されています。初めて複製を開始する前に、これらのガイドラインに従う必要があります。

LOB、LONG、VARRAY、および XML

  • LOB または LONG を含むテーブルには、プライマリキーまたは固有キーを定義する必要があります。テーブルにキーがない場合、SharePlex は LONG または LOB を除く、すべての列から独自のキーを作成します。Post WHERE 句を満たしている 2 つの行で LOB または LONG が唯一の違いである場合は、Post は誤った行を更新する可能性があります。
  • LOB を含むテーブルに対して専用の 1 つまたは複数の名前付き export キューを使用します。これによって固有の Post プロセスを持つ、個別の Export プロセスおよび named post queue が自動的に作成されます。LOB データ型の処理を他のデータの処理から分けることで、複製の全体的な速度が向上します。詳細については、次を参照: 名前付き export キューの設定
  • SharePlex に LOB を複製するためのメモリが十分にあることを保証するため、SP_QUE_POST_SHMSIZE パラメータを初期設定である 60 MB に増加します。「Error: sp_cop process sp_mport/sp_opst_mt killed due to SIGSEGV」などの共有メモリセグメントエラーが発生した場合は、設定値を増やしてください。注: 共有メモリセグメントが大きいほど、大きなスワップ領域がシステムで使用されることになるので、十分なディスク領域が使用可能であることを確認してください。

SharePlex LOB ストレージの管理

セットアップユーティリティは、ユーザーが選択した表領域にいくつかのテーブルをインストールします。SHAREPLEX_LOBMAP テーブル以外のすべてのテーブルが、表領域のデフォルトのストレージ設定を使用します。

SHAREPLEX_LOBMAP テーブルには、行外に格納された LOB のエントリが含まれています。このテーブルは、1 MB の INITIAL エクステント、1 MB の NEXT エクステント、および PCTINCREASE が 10 で作成されます。MAXEXTENTS は 120 であり、テーブルの最大許容サイズは 120 MB になります。

通常、SHAREPLEX_LOBMAP にはデフォルトのストレージで十分であり、400 万個超の LOB エントリに対応できます。複製対象の Oracle テーブルに、挿入または更新される頻度が高い LOB 列が多数含まれる場合は、必要に応じて SharePlex 表領域のサイズを増やすことを検討してください。このテーブルが他の SharePlex テーブルと表領域を共有していることを考慮してください。

データベースがコストベースオプチマイザ(CBO)を使用していて、SharePlex が処理するテーブルに膨大な数の LOB が含まれている場合は、SHAREPLEX_LOBMAP テーブルを分析スケジュールへ組み込みます。

注: SharePlex の新規インストールによって、ストレージパラメータが以前のインストールから変更されることはありません。

Oracle データ量に基づく SharePlex のチューニング

トランザクションの量が非常に多い、または非常に少ない場合に最適のパフォーマンスを得るためには、複製の開始前にいくつかのパラメータを変更することをお勧めします。

正しい値を決定するには、次の表でデータベースの 1 日分のアーカイブログ量に対応する列を参照してください。

注: 1 日に 5 GB から 15 GB の間のアーカイブログを生成している環境は、SharePlex パラメータのデフォルトの設定で十分であり、何もする必要がありません。

パラメータを変更するには、sp_ctrl にある set param コマンドを使用します。ご不明な点がありましたら、Quest Technical Support にお問い合わせください。SharePlex のパラメータおよびコマンドの詳細については、『 SharePlex リファレンスガイド』を参照してください。

アーカイブ量ごとの推奨設定
パラメータ 5 GB 未満/日 5 GB ~ 15 GB/日 15 GB 超/日 パラメータを設定する場所
SP_OCT_CHECKPOINT_FREQ 500 デフォルト 5000 ソースシステム
SP_ORD_CDA_LIMIT 5 デフォルト 20 ソースシステム
SP_ORD_DELAY_RECORDS 50 デフォルト 500 ソースシステム
SP_ORD_LDA_ARRAY_SIZE 5 デフォルト 10 ソースシステム
SP_ORD_RMSG_LIMIT 20 デフォルト 2000 ソースシステム
SP_IMP_WCMT_MSGCNT 100 デフォルト 2500 ターゲットシステム
SP_COP_IDLETIME 120 デフォルト 600 ソースとターゲットシステム

システムプロセスの優先順位の設定

Oracle またはその他のプロセスがリソースの優先順位を割り当てられた場合、SharePlex はデフォルト設定によりほんのわずかなリソースを割り当てられてしまう可能性があります。Oracle は処理のピーク時にその CPU 使用率を増加します。SharePlex が Oracle の処理に追いつかない場合、プロセスの優先順位を上げてください。

Unix でプロセスの優先順位を設定するには

nice コマンドを使用します。システム管理者に確認して、システムで実行中のあらゆるソフトウェアの要件に基づいた適切な値を選択します。root ユーザーであれば、任意のプロセスの niceness 値を変更できます。SharePlex 管理者ユーザーは、SharePlex の niceness 値を調整できます。

Windows でプロセスの優先順位を設定するには

  1. SpUtils を実行します。
  2. TaskMgr タブを選択します。
  3. 優先度を設定する SharePlex インスタンスを右クリックします。
  4. Set Priority を選択して、必要な優先度レベルを選択します。

Oracle ダイレクトパスロードの有効化

デフォルトでは、SharePlex は SQL*Loader ダイレクトパスによるロード(DIRECT=TRUE キーワードパラメータ)によって変更されたテーブルを複製します。ロードは 異なるテーブル上で同時ロードがあることも可能ですが、1 つのテーブルあたり 1 つのみロードがあります(PARALLEL=FALSE)。データベースはアーカイブモードになっている必要があり、またテーブルロギングを有効にする必要があります。

ダイレクトパスによるロードがシステム上で長時間持続する場合は、複製に頼るよりもターゲットデータベースに直接データをロードした方が効率的である可能性があります。大規模なダイレクトパスロードによって、ユーザーアプリケーションアクティビティから redo ログを入力する変更に Capture が追いつかなくなることがあります。

ロード後に、チェック制約を無効にする必要があります。ON DELETE CASCADE 制約は有効なままにできます。

このパラメータは、SP_OCT_REPLICATE_DLOAD パラメータのダイレクトパスの読み込みを複製するかどうかを制御します。ダイレクトパスの読み込みの複製を無効にするには、このパラメータを 0 に変更します。詳細については、「 SharePlex リファレンスガイド」を参照してください。

圧縮の使用

圧縮を有効にして、SharePlex がネットワーク上で送信するデータ量を削減できます。SharePlex は LZIP ロスレス圧縮を使用します。ソース SharePlex インスタンスで圧縮を有効にすると、ソース SharePlex インスタンスのすべてのターゲットに対して圧縮が自動で有効になります。

デフォルトでは、圧縮は無効になっています。圧縮は単独で有効にすることも、暗号化と連動して有効にすることもできます。

圧縮を有効にするには

SP_XPT_ENABLE_COMPRESSION パラメータを 1 に設定します。

sp_ctrl> set param SP_XPT_ENABLE_COMPRESSION 1

設定したパラメータをアクティベートするには、Export をいったん停止してから開始します。

Exadata マシンでのキャプチャの有効化

Exadata システムからデータをキャプチャするには、SP_OCT_USE_OCI パラメータを 1 に設定する必要があります。詳細については、『SharePlex リファレンスガイド』のパラメータの説明を参照してください。

複製の開始後にキャプチャのパフォーマンスを調整する必要がある場合は、「Exadata での Capture のチューニング」を参照してください。

Data Pump export のサポートの設定

Oracle Data Pump export 操作の複製時には、SP_OCT_ALLOW_DP_DDL パラメータを 1 に設定してから、Capture を再開します。

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

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

TDE サポートのセットアップ

複製のための Oracle 環境の準備 > TDE サポートのセットアップ

SharePlex は、TDE マスタ暗号化キーを使用して、複製が必要な TDE で保護されたデータを復号化します。SharePlex では、TDE マスタ暗号化キーにアクセスするために Oracle ウォレットパスワードを使用します。

ウォレットが問題なく開くと、Capture は復号化モジュールに接続してデータを処理します。ウォレットが開いていない場合、Capture はウォレットが開くかプロセスが停止するまで初期化状態のままになります。show capture コマンドに表示される初期化状態は「Capture state: Waiting for open wallet」です。

注:SharePlexcopy/append コマンドは TDE をサポートしていません。SharePlex がサポートする Oracle 機能の詳細については、『SharePlex リリースノート』を参照してください。

TDE で保護されたデータのキャプチャに必要な権限

REDO ログから TDE で保護されたデータを復号化するには、SharePlex 管理者はウォレットパスワードを使用して Oracle Wallet を開く必要があります。デフォルトでは、Oracle Wallet の所有者ユーザーのみがこのファイルの読み書き権限を持っています。ウォレットの所有者として操作を開始することも、ファイルへの読み取り権限を dba グループに付与することもできます。これは、SharePlex 管理者ユーザーがそのグループのメンバであるためです。

TDE で保護されたデータをキャプチャするための SharePlex の設定

TDE で保護されたデータをサポートするように SharePlex を設定するには、2 つのセットアップツールを実行する必要があります。

  • (インストール中に実行しなかった場合)ora_setup を実行します。 TDE 複製を有効化するプロンプトが表示されたら、「y」を入力します。次に、プロンプトが表示されたら、TDE ウォレットファイルの完全修飾パス(ウォレットファイル名を含む)を入力します。このユーティリティの詳細については、「 SharePlex リファレンスガイド」を参照してください。
  • sp_wallet ユーティリティを実行し、SharePlex に Oracle Wallet パスワードを入力します。このユーティリティは、手動または auto-open モードで実行できます。

sp_wallet を実行して手動でパスワードを指定するには

  1. ソースシステムで、SharePlex 製品ディレクトリから SharePlex を起動します。sp_wallet の実行を求めるプロンプトが表示されます。

    *** To enable TDE replication, run sp_wallet and provide the wallet password ***

  2. sp_wallet を実行します。

    ./sp_wallet [-r port_number]

    重要! Windows で SharePlex をデフォルトの 2100 以外のポートでインストールした場合は、-r オプションを使用してポート番号を指定します。たとえば、次のコマンドではポート番号は 9400 です。

    ./sp_wallet -r 9400

    wallet password:walletpw

    Wallet loaded into SharePlex

sp_wallet を auto-open モードで実行するには

auto-open ウォレットを使用している場合は、TDE ウォレットを自動で開くように SharePlex を設定できます。これで、SharePlex の起動時に sp_wallet を手動で実行する必要がなくなります。構文は次のとおりです。

./sp_wallet --auto-open [-r port_number]

重要! auto-open ウォレット機能を使用する際は、追加でセキュリティの考慮事項があります。詳細については、Oracle のマニュアルを参照してください。また、SharePlex 変数データディレクトリを Oracle ウォレットや Oracle データファイルと一緒にバックアップしないでください。

auto-open モードをキャンセルするには

./sp_wallet --no-auto-open [-r port_number]

TDE マスタ暗号化キーを変更するには

SharePlex 設定がアクティブなときに TDE マスタ暗号化キーを変更する必要がある場合は、次のステップに従って、SharePlex が変更後も TDE で保護されたデータの複製を続行するようにする必要があります。

  1. ソースデータベースを停止します。
  2. Capture が REDO ログの残りのデータの処理を完了したことを確認します。
  3. SharePlex をシャットダウンします。
  4. TDE マスタ暗号化キーを変更します。
  5. SharePlex を再起動します。
  6. sp_wallet ユーティリティを実行して、新しい TDE マスタ暗号化キーを SharePlex に入力します。

    ./sp_wallet [-r port_number]

設定ファイルの作成

設定ファイルの作成

この章には、設定ファイルを作成するために知っておく必要がある情報が含まれています。SharePlex は、設定ファイルの指示に従って、どのテーブルを複製するか、および複製したデータをどこに送信するかを判定します。このファイルを使用すると、列マッピングやデータフィルタリングなどの特別な処理を指定することもできます。

コンテンツ

マッピングするソースとターゲットの互換性の確保

設定ファイルの作成 > マッピングするソースとターゲットの互換性の確保

以下のガイドラインは、複製設定でマップするソースオブジェクトとターゲットオブジェクトの間の互換性を確保するのに役立ちます。

  • ほとんどの複製方法では、ソースオブジェクトの名前または所有者またはその両方はターゲットオブジェクトと異なっていても構いません。SharePlex は、設定ファイル内にてオブジェクトをその所有者と名前で指定することで、正しいオブジェクトへ複製します。高可用性設定では、ソーステーブルの所有者と名前は、ターゲットテーブルの所有者と名前と同じである必要があります。
  • 対応するソース列とターゲット列は、互換性のあるデータ型(同じ型、サイズ、精度)を含んでいる必要があります。
  • トランスフォーメーションが使用されていない限り、対応するソース行とターゲット行は同じ値を含んでいる必要があります。

  • 設定ファイルで列マッピングを使用しない限り、ターゲット列の名前はソース列の名前と同じである必要があります。詳細については、次を参照: ソース列とターゲット列のマッピング
  • ターゲットテーブルは、ソーステーブルよりも多い列を持つことができます。ソース列とターゲット列の名前が同じ場合、SharePlex は、ターゲットテーブル内の追加の列を無視します。ソース列とターゲット列の名前が同じでない場合、SharePlex は、各テーブルで列が定義されている順序で 1 対 1 の関係をマップします(たとえば、ソースの 1 番目の列をターゲットの 1 番目の列に、2 番目の列を 2 番目の列にマップします)。追加の(マップされていない)列が NULL でない場合に Oracle エラーが発生するのを回避するには、これらの列にデフォルト値を定義します。詳細については、次を参照: ソース列とターゲット列のマッピング
  • ターゲットテーブルの列数をソーステーブルの列数より少なくすることはできません。ただし、垂直分割レプリケーションを使用してターゲットの列数以下のソース列のサブセットを複製する場合は除きます。詳細については、次を参照: 垂直分割レプリケーションの設定
Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating