« Oracle関連Advent Calendarまとめ | メイン | RMANへの愛を語る2 - リストアしない超高速リストア »

スタンバイDBを再作成せずにStandby ExpressからDbvisit Standbyへ変更する方法

渡部です。 Standby Expressを現在用いているシングル→シングル構成の災害対策データベース環境において、 Standby ExpressからDbvisit Standbyに乗り換えたいというご依頼をいただきました。 ご依頼に対応する中で、スタンバイDBを再作成せず、簡単にStandby ExpressからDbvisit Standbyへ変更できる方法を検証したため、それについてまとめます。(といっても、別に大した話ではなく、すんなりできるのですが)

そもそもStandby ExpressやDbvisit Standbyの役割は何なのか?

Standby ExpressおよびDbvisit Standbyは、 物理レプリケーションのためにOracle Databaseの基本スタンバイという技術を使っています。 基本スタンバイは、プライマリデータベースで出力されたアーカイブログファイルを、スタンバイデータベースに転送し、それを適用することで、プライマリデータベースに加えられた変更をスタンバイデータベースに反映させる技術です。

Standby ExpressおよびDbvisit Standbyは有償の製品ですが、Standby ExpressおよびDbvisit Standbyは、基本スタンバイの動作を支援する単なるヘルパーにすぎません。 実は、Standby ExpressやDbvisit Standbyは基本スタンバイを使いやすくしているだけの存在なのです。

stdbyexprs_to_dbvisit01.png

基本スタンバイをはそのまま使うのはあまりにも使いにくいため、実際の運用の観点から見ればStandby ExpressおよびDbvisit Standbyにお金を払う価値は十分にあります (でなければ有償の製品としての存在意義がありません)。 ただし、純粋に技術的な観点から見れば、本質はあくまでも基本スタンバイであり、 Standby ExpressやDbvisit Standbyは基本スタンバイの周囲で動作する支援環境にすぎません。

Dbvisit StandbyはStandby Expressを代替可能な同等製品です

Dbvisit StandbyはStandby Expressを代替可能な同等製品です。 上記の通り、Dbvisit StandbyとStandby Expressはともに基本スタンバイをコア技術とする製品です。 両者は代替可能です。

Standby Expressが2019年12月に販売を終了することから、 Standby Expressの代替製品としてDbvisit Standbyがお役に立てる状況が増えるのではと考えています。

結局基本スタンバイが本質なのであれば、データベースには手をいれずにStandby ExpressからDbvisit Standbyへ変更したい

Standby ExpressおよびDbvisit Standbyで構成された災害対策に対応したデータベース環境の中身は、基本スタンバイです。

とすると、単なる支援環境であるところのStandby Expressを別の支援環境であるDbvisit Standbyに入れ替えるのであれば、 中身であるところのデータベースには手をいれたくないのは、ごく自然な考えです。

より具体的に言うと、すでにStandby Expressを用いてスタンバイDBが作成されている場合、Dbvisit Standbyの導入後もそのスタンバイDBをそのまま使って基本スタンバイを構成したくなるわけです。

stdbyexprs_to_dbvisit02.png

もちろん、Dbvisit Standby導入前にあらかじめスタンバイDBを削除し、Dbvisit Standby導入後にあらためてスタンバイDBを再作成し、基本スタンバイを構成することも可能です。

しかし、そもそも、支援環境に過ぎないStandby ExpressおよびDbvisit Standbyの変更のため、 物理レプリケーションの本質であるところの基本スタンバイを構成しなおすというのは本末転倒気味で、余計な手順が増えた印象をもちます。 また、スタンバイDBを再作成するには、プライマリデータベースにおけるバックアップの取得、バックアップファイルのスタンバイホストへの転送、バックアップファイルのスタンバイホストへの展開が必要で、これらは比較的負荷が大きく、できることなら避けたい処理です。

stdbyexprs_to_dbvisit03.png

これらのこともあり、すでにStandby Expressを用いてスタンバイDBが作成されている場合、Dbvisit Standbyの導入後もそのスタンバイDBをそのまま使って基本スタンバイを構成したくなるわけです。

スタンバイDBを再作成せずにStandby ExpressからDbvisit Standbyへ変更する方法

さて、前置きが長くなりましたが、Standby ExpressからDbvisit Standbyに乗り換えるにあたり、スタンバイDBを再作成せずにStandby ExpressからDbvisit Standbyへ変更する方法について説明します・・・が、非常に簡単です。

方法は簡単で、プライマリDBとスタンバイDBの組を定義するDDCを作成する際に、 DDCにおける作成済みのスタンバイDBのSID、 DB_UNIQUE_NAME、ORACLE_HOMEを、 作成済みのスタンバイDBのSID、 DB_UNIQUE_NAME、ORACLE_HOME と同じ値に設定するだけです。

以下に、 スタンバイDBを再作成してDbvisitへ移行する場合と、 スタンバイDBを削除せずにDbvisitへ移行する場合の手順を比較した図を示します。

stdbyexprs_to_dbvisit04.png

スタンバイDBの作成は比較的時間を要する重い処理ですから、この処理を実行せずに済むのは大きなメリットです。

Standby Expressの代替製品であるDbvisitにご興味があるかたは是非コーソルにお問い合わせください!

コーソルでは、Dbvisitを用いたOracle Standard Edition向け災害対策環境構築サービスを提供しています。

また、別途リモートDBAサービスをご契約いただくと、DbvisitのみならずOracle運用管理一般について運用管理業務を代行します。こちらについても併せてご利用くださいませ。

About

2019年12月 9日 12:00に投稿されたエントリーのページです。

ひとつ前の投稿は「Oracle関連Advent Calendarまとめ」です。

次の投稿は「RMANへの愛を語る2 - リストアしない超高速リストア」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。