本番環境で設定をアクティベーションする前に、verify configコマンドを使用してテストのアクティベーションを実行します。設定ファイルにシンタックスエラー、スペルミス、エントリの重複があると、アクティベーション全体が失敗します。
このコマンドで設定をテストし、以下の状態を見つけて報告します。
verify configコマンドは、アクティベーションの所要時間を検証したり、ターゲットオブジェクトやデータベース接続(ルーティングマップに記載されているデータベース識別子で表される)を検証したりはしません。
詳細については、『SharePlexリファレンスガイド』のverify configコマンドを参照してください。
アクティベーションの際、SharePlexはレプリケーション用に設定されたオブジェクトを識別・理解し、ルーティングマップを構築するために必要な情報を取得します。詳細については、アクティベーションとは?を参照してください。
アクティベーションにかかる時間は、設定されたオブジェクトのサイズ、数、構造によって異なります。
Oracleデータベースはトランザクション用に利用を続けることができます。SharePlexが内部オブジェクト情報を構築できるように、各ソーステーブルは短時間ロックされます。その後、ロックが解除されます。これは非常に迅速に行われるため、ユーザが気づかないこともあります。しかし、ビジネスアプリケーションにNOWAITロックがある場合、アクティベーションされているオブジェクトのロックを取得しようとすると、SharePlexのロックによってアプリケーションが失敗する可能性があります。
いいえ。アクティベーション中にオブジェクトの定義を変更することはできません。
はい。同じデータソースに異なる設定を作成することができます。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インスタンスを確立し、ソースデータベースを停止させずにレプリケーションをアクティベーションするには、この手順を使用します。この手順では、reconcileコマンドを使用して、バックアップ以降に行われたトランザクションがターゲットに適用されるようにし、バックアップによって既にキャプチャされた冗長なレプリケートトランザクションを除去します。
先に進む前に、以下の項目をお読みください。
OracleソースおよびOracleターゲット
すべてのレプリケーション戦略がサポートされていますが、以下の制限があります。
制限の適用対象: | 説明 |
---|---|
統合レプリケーション(多数のソースから1つのターゲットへ) |
統合レプリケーションを確立するために、すべてのソースシステムからホットバックアップを使用することは不可能です。1つのソースからのバックアップは、別のソースからのバックアップによって適用されたデータをオーバーライドします。ソースインスタンスの1つのホットバックアップを使用してターゲットインスタンスを確立し、別のコピーメソッドを使用して他のソースインスタンスからオブジェクトを適用することができます。考えられる方法には以下のようなものがあります。 |
ピアツーピア |
ピアツーピアレプリケーションを確立するには:
すべてのセカンダリシステムでこの手順が実行された後にのみ、ユーザはそれらのシステムでのアクティビティを再開することができます。 |
設定のアクティベーションに失敗した場合は、以下の場所で失敗に関する情報を見つけることができます。
「Oracleのデータベースセットアップの問題の解決ページも参照してください。
ホットバックアップでアクティベーションを行うには、レプリケーション戦略に応じて2つの手順があります。
ホットバックアップによるアクティベーション: カスケード以外のすべての戦略
ホットバックアップによるアクティベーション: カスケードレプリケーション
この手順は、SharePlexが中間システム上のデータベースにポストするカスケードレプリケーションを除くすべてのレプリケーション戦略に使用します。
カスケード以外のすべての戦略でホットバックアップをアクティベーションするには、以下の手順を実行します。
両方のシステムで、SharePlexのプロセスが実行されていることを確認します。
sp_ctrl> status
ターゲットシステム(ターゲットクラスタのプライマリノード)で、Postプロセスを停止します。これにより、データベースのリカバリと照合が完了するまで、複製されたデータはpostキューに蓄積されます。
sp_ctrl> stop post
バックアップが完了したら、ソースシステムで設定をアクティベーションします。
sp_ctrl> activate config filename
ソースシステムでアクティベーションのステータスを監視します。
注意: コマンドは、アクティベーションが終了するまでsp_ctrlの制御を保持します。
アクティベーションが完了したら、ソースシステムのログファイルを切り替えます。
オンプレミスのデータベース:
svrmgr1> alter system switch logfile;
Amazon RDSデータベース:
Amazon RDSプロシージャrdsadmin.rdsadmin_util.switch_logfileを実行します。
以下のいずれかを行います。
データベースをシーケンス番号にリカバリするには、アーカイブログの最大のシーケンス番号を書き留めておきます。
ターゲットシステムで以下のいずれかを行います。
ターゲットシステムで、Database Setup for Oracleをデータベースで実行します。SharePlexデータベースユーザの入力を求められたらnと入力し、既存のユーザとパスワードを選択します(これらはバックアップでコピー済み)。
Would you like to create a new SharePlex user [y].(新しいSharePlexユーザを作成しますか[y])n
注意:
|
(オプション)名前付きpostキューを使用しているときにキュー名が不明な場合は、qstatusコマンドを発行します。
sp_ctrl> qstatus
ターゲットシステムで、選択したリカバリオプションに応じて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の制御を保持します。
(高可用性のみ)ターゲット(セカンダリ)システムでExportを停止します。
sp_ctrl> stop export
(高可用性およびピアツーピアのみ)ターゲット(セカンダリ)システムで、フェイルオーバー時にSharePlexを準備できるように設定をアクティベーションします。
sp_ctrl> activate config filename
ターゲットシステムでPostプロセスを開始します。2つのインスタンスは現在同期しており、SharePlexは同期を維持するためにレプリケーションを継続します。
sp_ctrl> start post
この手順は、SharePlexが中間システム上のデータベースにポストされるカスケードレプリケーションに使用します。
まず中間システム(「sysB」と表す)に、次にターゲットシステム(「sysC」と表す)にバックアップを適用します。
カスケードレプリケーションのホットバックアップをアクティベーションするには、以下の手順を実行します。
sp_ctrl> status
sp_ctrl> stop post
バックアップが完了したら、ソースシステムで設定をアクティベーションします。
sp_ctrl> activate config filename
ソースシステムでアクティベーションのステータスを表示します。
注意: コマンドは、アクティベーションが終了するまでsp_ctrlの制御を保持します。
アクティベーションが完了したら、ソースシステムのログファイルを切り替えます。
オンプレミスのデータベース:
svrmgr1> alter system switch logfile;
Amazon RDSデータベース:
Amazon RDSプロシージャrdsadmin.rdsadmin_util.switch_logfileを実行します。
中間システムで、Database Setupをデータベースで実行します。SharePlexデータベースユーザの入力を求められたらnと入力し、既存のユーザとパスワードを選択します(これらはバックアップでコピー済み)。
Would you like to create a new SharePlex user [y].(新しいSharePlexユーザを作成しますか[y])n
注意:
|
(オプション)名前付きpostキューを使用しているときにキュー名が不明な場合は、qstatusコマンドを発行します。
sp_ctrl> qstatus
sp_ctrl> reconcile queue queuename for datasource-datadest seq sequence_number
例: reconcile queue SysA for o.oraA-o.oraA seq 1234
中間システムでcleanup.sqlスクリプトを実行し、SharePlexの内部テーブルをすべてトランケートします。このスクリプトの実行方法は『SharePlexリファレンスガイド』に記載されています。
中間システムで、SP_OCT_REPLICATE_POSTERパラメーターを1に設定します。これは、そのシステムでポストされた変更をキャプチャし、ターゲットシステムに複製するようにSharePlexに指示します。
sp_ctrl> set param SP_OCT_REPLICATE_POSTER 1
(分割レプリケーションのみ)垂直分割レプリケーションまたは水平分割レプリケーションをいずれかのテーブルに使用している場合は、それらのテーブルから不要な列と行を削除してください。
重要!: この時点ではPostプロセスを開始しないでください。
ターゲットシステムで、RECOVER句のUNTIL CANCELオプションを使用してホットバックアップからデータベースをリカバリし、中間システムで実行した前の手順で照合したログをOracleが完全に適用した後にリカバリをキャンセルします。
ターゲットシステムで、Database Setupをデータベースで実行します。SharePlexデータベースユーザの入力を求められたらnと入力し、既存のユーザとパスワードを選択します(これらはバックアップでコピー済み)。
Would you like to create a new SharePlex user [y].(新しいSharePlexユーザを作成しますか[y])n
注意: SharePlexは、セットアップ時も実行したままにしておくことができます。データベースの設定の詳細については、『SharePlexリファレンスガイド』の「データベース・セットアップ・ユーティリティ」を参照してください。
ターゲットシステムで、cleanup.sqlスクリプトを実行してSharePlexの内部テーブルをトランケートします。このスクリプトの実行方法は『SharePlexリファレンスガイド』に記載されています。
(分割レプリケーションのみ)垂直分割レプリケーションまたは水平分割レプリケーションをいずれかのテーブルに使用している場合は、それらのテーブルから不要な列と行を削除してください。
中間システムで設定ファイルをアクティベーションします。
sp_ctrl> activate config filename
中間システムでアクティベーションのステータスを監視します。
注意: コマンドは、アクティベーションが終了するまでsp_ctrlの制御を保持します。
中間システムとターゲットシステムでPostプロセスを開始します。これですべてのインスタンスが同期され、SharePlexは同期を維持するためにレプリケーションを継続します。
sp_ctrl> start post
(オプション)これが部分的なバックアップであった場合、ホットバックアップ中にコピーされなかった表領域を削除します。
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center