通常、この手順は以下のような状況で使用されます。
ソース、ターゲット、またはその両方に障害が発生した場合にレプリケーションを再開するには、レプリケーションの開始時に以下の状態になっている必要があります。
次の図は、レプリケーション開始時のDRの設定を表しています。本番環境ソースインスタンスと、Oracle Data Guardによって最新の状態に保たれているミラーリングされたソースDRインスタンスがあります。同様に、本番環境ターゲットインスタンスと、Oracle Data Guardによって最新の状態に保たれているミラーリングされたターゲットDRインスタンスがあります。
この例では、本番環境のターゲットインスタンスに障害が発生した場合の潜在的な障害/リカバリシナリオについて説明します。リカバリ経路は、レプリケーション開始時のDRの設定の図内の斜めのオレンジ色の点線として示されています。
以下の図は、この例で使用した設定と名前を示しています。
図3: 通常のレプリケーションとミラーリングの設定
以下の図の赤いXが示すようにTarget PRODターゲットで障害が発生しました。SharePlexは、元のレプリケーション・データ・ストリームに赤いXで示すように、Target PRODにレプリケートできなくなりました。
Target PRODがオフラインのため、Oracle Data GuardはTarget DRを最新の状態に維持できなくなりました。しかし、SharePlexではこれが可能です。SharePlex(図内のSPO)は、Source PRODからTarget DRへのレプリケーションを再開し、データの可用性を復帰させることができます。
図4: SharePlex(SPO)による障害とリカバリ
この手順では、レプリケーションのリカバリをSharePlexに指示するために以下を行います。
注意: この手順には以下が必要です。
レプリケーションを再開するには:
注意: この説明では、フェイルオーバー後に運用可能なソースとターゲットがソースシステムとターゲットシステムになります。
まだ実行中であれば、ソースシステム上のSharePlexをシャットダウンします。
sp_ctrl> shutdown
sp_copがまだ実行されていなければ、ターゲット上で開始します。
$ /productdir/bin/sp_cop &
ターゲット上でqstatusコマンドを使用して、キュー内のすべてのメッセージがターゲットのデータベースにポストされていることを確認します。コマンドの出力は、postキューのバックログが0であることを示すはずです。
sp_ctrl> qstatus
ターゲットのコマンドラインで、SharePlexの製品ディレクトリのbinサブディレクトリからshow_scnユーティリティを実行します。ORACLE_SIDの場合は、ターゲットデータベースのORACLE_SIDを使用します。
$ /productdir/bin/show_scn ORACLE_SID
ソースとターゲットのsp_copをシャットダウンします。
sp_ctrl> shutdown
ora_cleanspをソースとターゲットで実行し、キューを一掃します。
$ /productdir/bin/ora_cleansp
ソースとターゲットでsp_copを起動します。
$ /productdir/bin/sp_cop &
ターゲットでPostを停止します。
sp_ctrl> stop post
ソースでscnオプションを使用してactivate configコマンドを発行し、設定をアクティベーションします。scn_valueについては、show_scnユーティリティの出力で、On source activate to scn=nnnnnnnと記述されている行に表示されている値を使用します。
sp_ctrl> activate config configname scn=scn_value
例:
sp_ctrl> activate config myconfig scn=510012416
ターゲットで、show_scn出力から最初のreconcileコマンドをコピーし、sp_ctrlで実行します。次に、2番目のreconcileコマンドで同じ操作を行い、リスト内で手順を進めます。
例:
sp_ctrl> reconcile queue spx11 for o.ora112-o.ora112 scn 235690
sp_ctrl> reconcile queue pq1 for o.ora112-o.ora112 scn 132436
sp_ctrl> reconcile queue pq2 for o.ora112-o.ora112 scn 246843
sp_ctrl> reconcile queue pq3 for o.ora112-o.ora112 scn 123457
reconcileコマンドは、新しいデータが入るまで止まっているように見えるかもしれません。しかし、コマンドは機能しています。
ターゲットでPostを開始します。
sp_ctrl> start post
この章では、SharePlexレプリケーションがアクティブなシステムで、データベースを変更したり、システムやソフトウェアのメンテナンスを行ったりする手順を説明します。
レプリケーション環境の要素を変更する手順の多くは、SharePlex設定ファイルの変更も伴います。アクティブな設定ファイルを変更するために推奨される方法は、まず新しいファイル名を使用してファイルのコピーを作成することです。例えば、ファイル名に日付を付加します。再び必要になった場合や、新しいファイルで問題が発生した場合に備えて、最初にファイルをコピーしておくことで元のファイルを保存しておきます。最初にファイルをコピーすることで、新しい設定ファイルをいつアクティベーションするかを制御することもできます。
ほとんどの場合、元の設定を非アクティベーションしなければ、編集した設定のアクティベーションは元のアクティベーションよりも時間がかかりません。新しい設定をアクティベーションすると、元の設定は自動的に非アクティブになり、SharePlexは新しいオブジェクト、変更されたオブジェクト、削除されたオブジェクトを分析するだけで済みます。新しい設定をアクティベーションする前に元の設定を非アクティベーションすると、SharePlexはすべてのオブジェクトが再分析します。
設定ファイルを変更するには、「アクティブな設定のオブジェクトの追加または変更ページを参照してください。
このセクションでは、レプリケーションがアクティブなときに、サポート対象のオブジェクトをレプリケーションに追加、またはオブジェクトの指定を変更する手順を説明します。
Oracleソース
すべてのターゲット
注意: レプリケーションにシーケンスを追加するには、「アクティブなレプリケーション設定へのOracleシーケンスの追加ページを参照してください。
ワイルドカードを使用していて、追加するオブジェクトがワイルドカード指定を満たす場合、ソースがOracleであれば、そのオブジェクトを設定ファイルに追加する必要はありません。ワイルドカードの条件に一致する新しいオブジェクトは、自動的にレプリケーションに追加されます。名前で明示的に指定する必要があるオブジェクトだけを追加します。
重要! 元の設定を非アクティベーションしないでください。
sp_ctrlで、copy configコマンドを発行し、アクティブな設定ファイルのコピーを作成します。
sp_ctrl> copy config filename to newname
ここで、filenameはアクティブなファイルの名前で、newnameは新しいファイルの名前です。
edit configコマンドを発行して、デフォルトのテキストエディタで新しい設定ファイルを開きます。
sp_ctrl> edit config newname
新しいテーブルのエントリを追加するか、既存のエントリを変更します。
注意: 分割レプリケーションを変更する場合は、「分割レプリケーションの変更ページを参照してください。
新しい設定をアクティベーションします。これにより元の設定が非アクティブになります。新しいテーブルまたは変更されたテーブルのみがアクティベーションされるため、アクティベーションは最初のアクティベーションほど時間がかかりません。
sp_ctrl> activate config newname
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center