Chat now with support
Chat with Support

SharePlex 11.4 - 管理者ガイド

このガイドについて このガイドで使用される表記規則 SharePlexの概要 SharePlexの実行 SharePlexの複数のインスタンスの実行 sp_ctrlでのコマンドの実行 SharePlexパラメータの設定 データレプリケーションの設定 コンテナデータベースとの間のレプリケーションの設定 名前付きキューの設定 分割レプリケーションの設定 変更履歴ターゲットへのレプリケーションの設定 レプリケーション戦略の設定 DDLレプリケーションの設定 エラー処理の設定 データトランスフォーメーションの設定 セキュリティ機能の設定 SharePlexユーザのセキュリティグループへの割り当て 本番システムでのレプリケーションの開始 SharePlexの監視 レプリケーションの問題の防止と解決 非同期データのrepair Captureプロセスの調整 Postプロセスの調整 Oracleフェールオーバー後のレプリケーションのリカバリ アクティブなレプリケーション環境に対する変更 Oracleアプリケーションのパッチまたはアップグレードの適用 ソースまたはターゲットのOracleデータのバックアップ トラブルシューティングのヒント 付録A: ピアツーピア図 付録B: SharePlex環境変数

アクティベーション前の設定のテスト

本番環境で設定をアクティベーションする前に、verify configコマンドを使用してテストのアクティベーションを実行します。設定ファイルにシンタックスエラー、スペルミス、エントリの重複があると、アクティベーション全体が失敗します。

このコマンドで設定をテストし、以下の状態を見つけて報告します。

  • 設定ファイル内のエントリの構文を確認する。
  • SharePlexによるレプリケーションでソースオブジェクトがサポートされていない場合にエラーを報告する。
  • ルートで指定されたホスト名に到達できない場合に報告する。
  • 1つのオブジェクトに重複した指定がある場合に報告する。
  • オブジェクトの指定がスキップされるかどうかと、その理由を報告する。

verify configコマンドは、アクティベーションの所要時間を検証したり、ターゲットオブジェクトやデータベース接続ルーティングマップに記載されているデータベース識別子で表されるを検証したりはしません。

詳細については、『SharePlexリファレンスガイド』のverify configコマンドを参照してください。

アクティベーションに関するよくあるお問い合わせ

アクティベーションに関するよくあるお問い合わせFAQ

アクティベーション中に何が起こりますか?

アクティベーションの際、SharePlexはレプリケーション用に設定されたオブジェクトを識別・理解し、ルーティングマップを構築するために必要な情報を取得します。詳細については、アクティベーションとは?を参照してください。

アクティベーションにはどの程度の時間がかかりますか?

アクティベーションにかかる時間は、設定されたオブジェクトのサイズ、数、構造によって異なります。

データへのアクセスを停止する必要がありますか?

Oracleデータベースはトランザクション用に利用を続けることができます。SharePlexが内部オブジェクト情報を構築できるように、各ソーステーブルは短時間ロックされます。その後、ロックが解除されます。これは非常に迅速に行われるため、ユーザが気づかないこともあります。しかし、ビジネスアプリケーションにNOWAITロックがある場合、アクティベーションされているオブジェクトのロックを取得しようとすると、SharePlexのロックによってアプリケーションが失敗する可能性があります。

DDLはアクティベーション中に実行できますか?

いいえ。アクティベーション中にオブジェクトの定義を変更することはできません。

同じデータソースについて複数の設定をアクティベーションできますか?

はい。同じデータソースに異なる設定を作成することができます。SharePlexの複数のインスタンスを使用する必要があります異なるポートで実行されている異なるsp_copプロセスと変数データディレクトリ。「SharePlexの複数のインスタンスの実行

異なるデータソースの設定を同時にアクティベーションできますか?

はい。詳細については、複数の設定ファイルをアクティベーションする方法を参照してください。

アクティベーションする前に設定をテストできますか?

はい。これは非常にお勧めです。verify configコマンドを使用します。詳細については、設定をアクティベーションするための要件を参照してください。

アクティベーションを中断して変更することはできますか?

いいえ。アクティベーションは、REDOログに表示されるものと同じ一連のトランザクションイベントを維持しながらレプリケーションを開始する、中断のない手順です。abort configコマンドを使用してアクティベーションを終了できますが、その場合、キューを一掃し、ソースとターゲットのデータを再度同期させる必要があるかもしれません。アクティベーションの準備ができているテスト済みの設定ファイルを用意し、データベースとSharePlexにコマンドを発行できるようにしておくことが理想的です。

静止データベースをアクティベーションできますか?

はい。Oracleのcaptureをアクティベーションするには、静止データベースが必要です。ただし、Oracleデータベースがマウントされ、オープンされている必要があります。

アクティベーションのスレッド数を増やすことはできますか?

はい。ただし、Oracleのソースに限ります。スレッド数は、SP_OCF_THREAD_COUNTパラメーターによってグローバルに制御されます。このパラメーターは、activate configコマンドを発行する前に設定する必要があります。activate configコマンドを発行する際、threadsオプションを使用することで、特定のアクティベーションについてこの値をオーバーライドすることができます。

複数の設定ファイルをアクティベーションする方法

システム上のデータソースごとに1つの設定をアクティベーションできます。例えば、同じデータソースにConfigA、ConfigB、ConfigCがある場合、一度にアクティベーションできるのは1つだけです。同じデータソースについて別の設定をアクティベーションすると、最初の設定は自動的に非アクティベーションされます。

ただし、ConfigAが1つのデータソースからデータを複製し、ConfigBが別のデータソースからデータを複製する場合、これらの設定の両方を同時にアクティベーションすることができます。これらの設定のレプリケーションは同時に実行できます。

複数の設定ファイルをアクティベーションするには:

アクティベーションプロセスでは、アクティベーションが完了するまでsp_ctrlインターフェイスの制御を保持します。アクティベーションにはかなりの時間がかかるため、sp_ctrlの異なるセッションで異なる設定をアクティベーションすることができます。最初の設定をアクティベーションしてからsp_ctrlの別のセッションを開き、2番目の設定をアクティベーションします。アクティベーションする設定の数だけsp_ctrlのセッションを開きます。

Oracleソースでは、アクティベーションのスレッド数を制御することができます。スレッド数を設定するには、SP_OCF_THREAD_COUNTパラメーターを使用します。これは、SharePlexのインスタンスのグローバル設定です。複数の設定を同時にアクティベーションする場合は、activate configコマンドを発行する際にthreadsオプションを使用することで、特定のアクティベーションについてこの値をオーバーライドできます。

アクティブなデータベースでのOracleホットバックアップを使用したレプリケーションのアクティベーション

Oracleのホットバックアップを使用してターゲットOracleインスタンスを確立し、ソースデータベースを停止させずにレプリケーションをアクティベーションするには、この手順を使用します。この手順では、reconcileコマンドを使用して、バックアップ以降に行われたトランザクションがターゲットに適用されるようにし、バックアップによって既にキャプチャされた冗長なレプリケートトランザクションを除去します。

事前の考慮事項

先に進む前に、以下の項目をお読みください。

サポート対象データベース

OracleソースおよびOracleターゲット

サポートされているレプリケーション戦略

すべてのレプリケーション戦略がサポートされていますが、以下の制限があります。

制限の適用対象: 説明
統合レプリケーション多数のソースから1つのターゲットへ

統合レプリケーションを確立するために、すべてのソースシステムからホットバックアップを使用することは不可能です。1つのソースからのバックアップは、別のソースからのバックアップによって適用されたデータをオーバーライドします。ソースインスタンスの1つのホットバックアップを使用してターゲットインスタンスを確立し、別のコピーメソッドを使用して他のソースインスタンスからオブジェクトを適用することができます。考えられる方法には以下のようなものがあります。

ピアツーピア

ピアツーピアレプリケーションを確立するには:

  1. この手順の間、信頼できるソースシステム以外のすべてのシステムを停止します。
  2. すべてのユーザを信頼できるソースシステムに移動し、この手順に従います。

すべてのセカンダリシステムでこの手順が実行された後にのみ、ユーザはそれらのシステムでのアクティビティを再開することができます。

要件

トラブルシューティング

設定のアクティベーションに失敗した場合は、以下の場所で失敗に関する情報を見つけることができます。

  • event_logを表示するには、show logコマンドを使用します。
  • アクティベーションプロセスログを表示します。これは、SharePlexの変数データディレクトリのlogサブディレクトリにあるSID_oconf##.logという名前のファイルです。

Oracleのデータベースセットアップの問題の解決ページも参照してください。

手順

ホットバックアップでアクティベーションを行うには、レプリケーション戦略に応じて2つの手順があります。

ホットバックアップによるアクティベーション: カスケード以外のすべての戦略

ホットバックアップによるアクティベーション: カスケードレプリケーション

ホットバックアップによるアクティベーション: カスケード以外のすべての戦略

この手順は、SharePlexが中間システム上のデータベースにポストするカスケードレプリケーションを除くすべてのレプリケーション戦略に使用します。

カスケード以外のすべての戦略でホットバックアップをアクティベーションするには、以下の手順を実行します。

  1. ソースシステムとターゲットシステムで、SharePlexの製品ディレクトリのbinサブディレクトリに移動し、sp_copsp_ctrlを起動します。クラスタでは、ソースはクラスタVIPが実行されているプライマリノードです。
  2. 両方のシステムで、SharePlexのプロセスが実行されていることを確認します。

    sp_ctrl> status

  3. ターゲットシステムターゲットクラスタのプライマリノードで、Postプロセスを停止します。これにより、データベースのリカバリと照合が完了するまで、複製されたデータはpostキューに蓄積されます。

    sp_ctrl> stop post

  4. ソースシステムでOracleホットバックアップを実行します。
  5. バックアップが完了したら、ソースシステムで設定をアクティベーションします。

    sp_ctrl> activate config filename

  6. ソースシステムでアクティベーションのステータスを監視します。

    注意: コマンドは、アクティベーションが終了するまでsp_ctrlの制御を保持します。

  7. アクティベーションが完了したら、ソースシステムのログファイルを切り替えます。

    オンプレミスのデータベース:

    svrmgr1> alter system switch logfile;

    Amazon RDSデータベース:

    Amazon RDSプロシージャrdsadmin.rdsadmin_util.switch_logfileを実行します。

  8. 以下のいずれかを行います。

    • データベースをシーケンス番号にリカバリするには、アーカイブログの最大のシーケンス番号を書き留めておきます。

    • Oracleシステム変更番号SCNにデータベースをリカバリするには、ターゲットデータベースでリカバリ先のSCNを選択します。
  9. ターゲットシステムで以下のいずれかを行います。

    • シーケンス番号にリカバリする場合は、RECOVER句でUNTIL CANCELオプションを使用してホットバックアップからデータベースをリカバリし、Oracleが前のステップのログを完全に適用した後にリカバリをキャンセルします。
    • SCNにリカバリする場合は、RECOVER句でUNTIL CHANGE scnオプションを使用してホットバックアップからデータベースをリカバリし、Oracleが前のステップのSCNに一致するログを適用した後にリカバリをキャンセルします。
  10. ターゲットシステムで、RESETLOGSオプションを指定してデータベースを開きます。
  11. ターゲットシステムで、Database Setup for Oracleをデータベースで実行します。SharePlexデータベースユーザの入力を求められたらnと入力し、既存のユーザとパスワードを選択しますこれらはバックアップでコピー済み

    Would you like to create a new SharePlex user [y].新しいSharePlexユーザを作成しますか[y]n

    注意:

  12. オプション名前付きpostキューを使用しているときにキュー名が不明な場合は、qstatusコマンドを発行します。

    sp_ctrl> qstatus

  13. ターゲットシステムで、選択したリカバリオプションに応じてreconcileコマンドを以下のように実行します。名前付きpostキューを使用している場合は、それぞれについてコマンドを実行します。

    • シーケンス番号にリカバリする場合は、前に書き留めたログのシーケンス番号を代入します。

      sp_ctrl> reconcile queue queuename for datasource-datadest seq sequence_number

      例: reconcile queue SysA for o.oraA-o.oraA seq 1234

    • SCNにリカバリする場合は、前に書き留めたSCNを代入します。

      sp_ctrl> reconcile queue queuename for datasource-datadest scn scn_number

      例: reconcile queue SysA for o.oraA-o.oraA scn 0123456789

      注意: このコマンドは、照合処理が終了するまでsp_ctrlの制御を保持します。

  14. ターゲットシステムで、cleanup.sqlスクリプトを実行してSharePlexの内部テーブルをトランケートします。このスクリプトの実行方法は『SharePlexリファレンスガイド』に記載されています。
  15. ターゲットシステムで、テーブルのトリガを無効にするかsp_add_trigger.sqlユーティリティスクリプトを実行して、トリガがSharePlexユーザを無視するようにします。
  16. ターゲットシステムで、チェック制約、およびDMLを実行するスケジュール済みジョブを無効にします。
  17. 分割レプリケーションのみ垂直分割レプリケーションまたは水平分割レプリケーションをいずれかのテーブルに使用している場合は、それらのテーブルから不要な列と行を削除してください。
  18. 高可用性のみターゲットセカンダリシステムでExportを停止します。

    sp_ctrl> stop export

  19. 高可用性およびピアツーピアのみターゲットセカンダリシステムで、フェイルオーバー時にSharePlexを準備できるように設定をアクティベーションします。

    sp_ctrl> activate config filename

  20. ターゲットシステムでPostプロセスを開始します。2つのインスタンスは現在同期しており、SharePlexは同期を維持するためにレプリケーションを継続します。

    sp_ctrl> start post

  21. オプションこれが部分的なバックアップであった場合、ホットバックアップ中にコピーされなかった表領域を削除します。
ホットバックアップによるアクティベーション: カスケードレプリケーション

この手順は、SharePlexが中間システム上のデータベースにポストされるカスケードレプリケーションに使用します。

まず中間システム「sysB」と表すに、次にターゲットシステム「sysC」と表すにバックアップを適用します。

カスケードレプリケーションのホットバックアップをアクティベーションするには、以下の手順を実行します。

  1. すべてのシステムで、SharePlexの製品ディレクトリのbinサブディレクトリに移動し、sp_copおよびsp_ctrlを起動します。
  2. すべてのシステムで、SharePlexのプロセスが実行されていることを確認します。

    sp_ctrl> status

  3. 中間システムとターゲットシステムでPostプロセスを停止します。これにより、データベースがリカバリするまで、複製されたデータはpostキューに蓄積されます。
  4. sp_ctrl> stop post

  5. ソースシステムで、中間システムおよびターゲットシステムに対してOracleホットバックアップを実行します。
  6. バックアップが完了したら、ソースシステムで設定をアクティベーションします。

    sp_ctrl> activate config filename

  7. ソースシステムでアクティベーションのステータスを表示します。

    注意: コマンドは、アクティベーションが終了するまでsp_ctrlの制御を保持します。

  8. アクティベーションが完了したら、ソースシステムのログファイルを切り替えます。

    オンプレミスのデータベース:

    svrmgr1> alter system switch logfile;

    Amazon RDSデータベース:

    Amazon RDSプロシージャrdsadmin.rdsadmin_util.switch_logfileを実行します。

  9. アーカイブログの最も大きいシーケンス番号を書き留めておきます。
  10. 中間システムで、RECOVER句のUNTIL CANCELオプションを使用してホットバックアップからデータベースをリカバリし、Oracleが前の手順からログを完全に適用した後にリカバリをキャンセルします。
  11. 中間システムで、RESETLOGSオプションを指定してデータベースを開きます。
  12. 中間システムで、Database Setupをデータベースで実行します。SharePlexデータベースユーザの入力を求められたらnと入力し、既存のユーザとパスワードを選択しますこれらはバックアップでコピー済み

    Would you like to create a new SharePlex user [y].新しいSharePlexユーザを作成しますか[y]n

    注意:

  13. オプション名前付きpostキューを使用しているときにキュー名が不明な場合は、qstatusコマンドを発行します。

    sp_ctrl> qstatus

  14. 中間システムで、各postキューに対しreconcileコマンドを発行します。seq sequence_numberには、前に書き留めたログのシーケンス番号を代入します。

    sp_ctrl> reconcile queue queuename for datasource-datadest seq sequence_number

    例: reconcile queue SysA for o.oraA-o.oraA seq 1234

  15. 中間システムでcleanup.sqlスクリプトを実行し、SharePlexの内部テーブルをすべてトランケートします。このスクリプトの実行方法は『SharePlexリファレンスガイド』に記載されています。

  16. 中間システムで、テーブルのトリガを無効にするかsp_add_trigger.sqlユーティリティスクリプトを実行して、トリガがSharePlexユーザを無視するようにします。
  17. 中間システムで、チェック制約、およびDMLを実行するスケジュール済みジョブを無効にします。
  18. 中間システムで、SP_OCT_REPLICATE_POSTERパラメーターを1に設定します。これは、そのシステムでポストされた変更をキャプチャし、ターゲットシステムに複製するようにSharePlexに指示します。

    sp_ctrl> set param SP_OCT_REPLICATE_POSTER 1

  19. 分割レプリケーションのみ垂直分割レプリケーションまたは水平分割レプリケーションをいずれかのテーブルに使用している場合は、それらのテーブルから不要な列と行を削除してください。

    重要!: この時点ではPostプロセスを開始しないでください。

  20. ターゲットシステムで、RECOVER句のUNTIL CANCELオプションを使用してホットバックアップからデータベースをリカバリし、中間システムで実行した前の手順で照合したログをOracleが完全に適用した後にリカバリをキャンセルします。

  21. ターゲットシステムで、RESETLOGSオプションを指定してデータベースを開きます。
  22. ターゲットシステムで、Database Setupをデータベースで実行します。SharePlexデータベースユーザの入力を求められたらnと入力し、既存のユーザとパスワードを選択しますこれらはバックアップでコピー済み

    Would you like to create a new SharePlex user [y].新しいSharePlexユーザを作成しますか[y]n

    注意: SharePlexは、セットアップ時も実行したままにしておくことができます。データベースの設定の詳細については、『SharePlexリファレンスガイド』の「データベース・セットアップ・ユーティリティ」を参照してください。

  23. ターゲットシステムで、cleanup.sqlスクリプトを実行してSharePlexの内部テーブルをトランケートします。このスクリプトの実行方法は『SharePlexリファレンスガイド』に記載されています。

  24. ターゲットシステムで、テーブルのトリガを無効にするかsp_add_trigger.sqlユーティリティスクリプトを実行して、トリガがSharePlexユーザを無視するようにします。
  25. ターゲットシステムで、チェック制約、およびDMLを実行するスケジュール済みのジョブを無効にします。
  26. 分割レプリケーションのみ垂直分割レプリケーションまたは水平分割レプリケーションをいずれかのテーブルに使用している場合は、それらのテーブルから不要な列と行を削除してください。

  27. 中間システムで設定ファイルをアクティベーションします。

    sp_ctrl> activate config filename

  28. 中間システムでアクティベーションのステータスを監視します。

    注意: コマンドは、アクティベーションが終了するまでsp_ctrlの制御を保持します。

  29. 中間システムとターゲットシステムでPostプロセスを開始します。これですべてのインスタンスが同期され、SharePlexは同期を維持するためにレプリケーションを継続します。

    sp_ctrl> start post

  30. オプションこれが部分的なバックアップであった場合、ホットバックアップ中にコピーされなかった表領域を削除します。

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating