Real-Time Backup 配置
Real-Time Backup のモデル
以下のトピックでは、Real-Time Backup レプリケーションの配置方法について説明するほか、レプリケートされたデータベースを復元する必要が生じた場合などの障害回復手順についても説明します。
Real-Time Backup 構成
Real-Time Backup 構成では、Zen データベースのデータを、同様に Zen と DataExchange を実行しているスタンバイ バックアップ サーバーへリアルタイムにレプリケートします。システム障害時に、クライアントをスタンバイ サーバーに割り振ることができます。次の図は、一方向のレプリケーション バックアップを示しています。ServerA という名前の第 1 サイトは、バックアップ サーバーとして働く ServerB という名前のパートナー サイトにネットワーク接続されています。ServerA ではデータベース dbA を実行しています。DataExchange は dbA データベースのコピーをバックアップ サーバーに保持し、設定されているスケジュールに従って、ServerA での変更をレプリケートします。
図 1 Real-Time Backup 構成

開始の前に
この作業例に従うには、Zen データベース エンジンをインストール済みの第 1 サイトとパートナー サイトに DataExchange をインストールします。
この例では以下のことを前提としています。
•ServerA という名前の第 1 サイトと、ServerB という名前のパートナー サイトがある。
•この例では、Zen インストールに付属している Demodata サンプル データベースのコピーが使用される。ZenCC のスキーマのエクスポートおよびインポート機能を使用して、Demodata のコピーを第 1 サイトの別の場所(C:\Data など)に作成することを検討してください。
DXdeploy を使用した配置
►データベースを Real-Time Backup 構成で配置するには
1 レプリケートするデータベースがアプリケーションからアクセスされていないことを確認してください。
たとえば、Demodata が Myapp.exe で使用されている場合、Demodata をレプリケーション用に配置する間は、Myapp が Demodata にアクセスしないようにしてください。
2 第 1 サイトで、テキスト エディターを使用して XML 記述子ファイル EXPRESS.XML を開きます。64 ビット システムでは、このファイルは C:\Program Files (x86)\Actian\Zen\Replication\Docs にあります。
3 XML 記述子ファイルを編集して、ServerA と ServerB バックアップの適切な情報を指定します。
サイトごとに異なる記述子ファイルを使用して編集することに注意してください。記述子ファイル内のいくつかの情報は、そのファイルを使用するたびに一意である必要があります。これについて以下の表で説明します。
XML 記述子ファイルの属性 | パートナー サイトごとに一意である必要性 | 注記 |
|---|
Project | Yes | |
Network | Yes | |
Release | No | |
First ServerName | No | 第 1 サイトの名前です。 |
First Site DSN | Yes | DSN も第 1サイトで一意である必要があります。 |
First Site DataDirectory | Yes | パートナー サイトにバックアップするための、第 1 サイト上の場所です。 |
Relative Include Path | No | たとえば、パートナー サイトの "*.mkd" ファイルを含めることができます。 |
Absolute Include Path | Yes | パートナー サイトの絶対パスは、第 1 サイトの絶対パスと競合しないでください。たとえば、ServerA と ServerB がそれぞれ同じ絶対パス C:\mydata\table1.mkd を使用している場合、そのパスは第 1 サイトに 1 つしか存在できません。パートナー サイトの table1.mkd ファイルが第 1 サイトで上書きされることになるため、競合が発生します。 |
Partner ServerName | Yes | |
Partner DSN | No | DSN はパートナー サイト上で一意であれば、各パートナーで同じ DSN を使用することができます。 |
Partner DataDirectory | No | バックアップする第 1 サイトの場所は、パートナー サイト上のバックアップの場所と同じである必要はありません。 |
4 EXPRESS.XML を任意の場所に ServerA.xml として保存します。この例では、C:\ と仮定します。
5 ServerA の Demodata ディレクトリを ServerB のバックアップ ディレクトリにコピーします。
バックアップの場所は一意で、かつ、XML 記述子ファイルに指定された第 1 サイトの DataDirectory の場所と一致する必要があります。この作業では、バックアップの場所が C:\Demodata_Backup_ServerA であると仮定します。
6 ServerA でコマンド プロンプトを開き、以下のように入力します。
dxdeploy /Site=First C:\ServerA.xml
7 Enter キーを押します。
DXdeploy は高レベルな状態メッセージを表示し、完了すると、コマンド プロンプトが再度表示されます。
8 DXdeploy が完了したら、以下のように入力します。
dxdeact <First Site DSN>
<First Site DSN> は第 1 サイトの ServerA.xml で指定した DSN です。
9 Enter キーを押します。
10 第 1 サイトの C:\Demodata_Backup_ServerA にある DataExchange ディレクトリの内容を、ServerB の Demodata ディレクトリにコピーします。
11 第 1サイトの ServerA.xml を ServerB にコピーします。
12 第 1サイトでコマンド プロンプトを開いて、以下のように入力します。
dxact /FIRSTSITE <First Site DSN>
<First Site DSN> は第 1 サイトの ServerA.xml で指定した DSN です。
13 Enter キーを押します。
14 ServerA でコマンド プロンプトを開き、以下のように入力します。
dxdeploy /Site=Partner C:\ServerA.xml
15 Enter キーを押します。
DXdeploy はその操作を完了すると画面に高レベルな状態メッセージを表示します。DXdeploy が完了すると、コマンド プロンプトが再度表示されます。
16 ServerA でレプリケーション スケジュールを設定します。
レプリケーション スケジュールの設定方法については、
レプリケーション スケジュールの管理を参照してください。
17 アプリケーションをオンラインに戻します。
障害回復
このトピックでは、1 つのレプリケーション サイトの障害からの回復方法を説明します。ここでは、プライマリ サイトで障害が発生し、一時的にバックアップ サイトへ生産を切り替える必要が生じたと仮定します。プライマリ サイトが再度準備できたら、プライマリ サイト/バックアップ サイトのレプリケーション ネットワークを再確立する必要があります。
もちろん、障害はバックアップ サイトで起こることもあります。その場合も、プライマリをバックアップに置き換えるだけで、この情報が適用されます。説明を簡単にするため、また、障害回復で一般的に使用される用語と一致させるため、このトピックではプライマリ サイトとバックアップ サイトと呼ぶことにします。これらは、それぞれ第 1 サイトとパートナー サイトであると考えてください。
ここでの情報は、リアルタイム バックアップまたは一方向の状況のみに適用されます。リアルタイム バックアップの配置の説明については、
配置処理を参照してください。一方向の配置の作業例については、
DXdeploy を使用した一方向の配置を参照してください。
フェールオーバー
障害が発生した場合、ユーザーがバックアップ サイトにアクセスするように切り替える必要があります。別のサーバーへの切り替えを行うには、ご自身の会社に適した方法を選んでください。それらの方法は多岐に渡っているため、このマニュアルで扱う範囲を超えています。
バックアップ サイトには現在のデータが存在するので、アプリケーションはそれまでと同様に機能し続けます。
ユーザーがバックアップ サイトにアクセスしたら、第 1 サイトを再確立します。プライマリ サイトのデータに関する 2 つの障害シナリオを立てられます。
•プライマリ サイトは壊滅的に破壊され、そこからのデータの回復はまったく不可能である。
•プライマリ サイトはサービスを再開してそのデータも使用できるが、最新の状態ではない。
データの回復不能
プライマリ サイトの再確立を行うには、以下の手順を使用します。
►新しいプライマリ サイトを設定するには
1 Zen データベース製品を新しいマシンにインストールします。
2 DataExchange を新しいマシンにインストールします。
そのシステムが以前第 1 サイトだった場合は、第 1 サイトをインストールします。パートナー サイトであった場合は、パートナー サイトをインストールします。
3 以前インストールされていたアプリケーションを新しいシステムにインストールします。
これにより、新しいマシンにアプリケーション データベースの最新のコピーが作成されます。
4 バックアップ サイト上のレプリケーション データベースに使用されているのと同じデータ ソース名(DSN)で、プライマリ サイト上に DSN を作成します。
5 バックアップ サイト上のアプリケーションをオフラインにします。
必ず、プライマリ サイトとバックアップ サイトの同期をとるまではデータベースにアクセスされないようにしてください。
6 バックアップ サイトのレプリケーション データベースを非アクティブにします。
7 バックアップ マシンから以下のファイルをプライマリ マシンの同じ場所にコピーします。
•すべてのユーザー データベース テーブル。
•すべてのデータ辞書ファイル(DDF)。
•すべてのレプリケーション制御テーブル。各データ テーブルの名前の先頭には、プレフィックス PDC が付いています。デフォルトの場所は C:\ProgramData\Actian\Zen\<データベース名>\DX_<プロジェクト名> です。
•次の一覧に示される、すべてのレプリケーション システム テーブル。これらのデフォルトの場所は C:\ProgramData\Actian\Zen\Replication\Data です。
dacthist.mkd | dactsite.mkd | dacttbl.mkd |
dcmd.mkd | dcmdsite.mkd | dcnf.mkd |
dfkey.mkd | dfragf.mkd | dfragi.mkd |
dgrp.mkd | didb.mkd | didbdef.mkd |
dkey.mkd | dlang.mkd | dmsg.mkd |
dmsglang.mkd | dpkey.mkd | dprm.mkd |
dprmgrp.mkd | dprmtyp.mkd | dqueue.mkd |
dsched.mkd | dschema.mkd | dset.mkd |
dsfsite.mkd | dsite.mkd | dsiteext.mkd |
dsitelnk.mkd | dsiteset.mkd | dsort.mkd |
dtblchg.mkd | dtrn.mkd | dusr.mkd |
dusrgrp.mkd | dusrprf.mkd | dver.mkd |
dwsts.mkd | | |
8 プライマリ サイトのレプリケーション データベースをアクティブにします。
9 バックアップ サイトのレプリケーション データベースをアクティブにします。
dxact を参照してください。バックアップ サイトをアクティブにすると、プライマリ サイトとの初期レプリケーションが実行されることに注意してください。初期レプリケーションは完全なレプリケーションで、2 台のマシン間ですべてのデータが同期化されます。
これで、プライマリ サイトとバックアップ サイトは同一データを保持します。
10 プライマリ サイトからバックアップ サイトへのレプリケーション スケジュールを再作成してください。
11 ユーザーがプライマリ サイトにアクセスするように切り替え、アプリケーションをオンラインに戻します。
回復可能だが最新ではないデータ
プライマリ サイトの再確立を行うには、以下の手順を使用します。
►既存のプライマリ サイトをレプリケーションに戻すには
1 プライマリ マシンをオンラインに戻します。
2 アプリケーションをオフラインにします。
必ず、プライマリ サイトとバックアップ サイトの同期をとるまでは、データベースにアクセスされないようにしてください。
3 プライマリ サイトのレプリケーション スケジュールをすべて削除します。
4 プライマリ サイトとバックアップ サイトの両方のレプリケーション データベースを非アクティブにします。
5 プライマリ サイトのレプリケーション データベースをアクティブにします。
6 バックアップ サイトのレプリケーション データベースをアクティブにします。
dxact を参照してください。バックアップ サイトをアクティブにすると、プライマリ サイトとの初期レプリケーションが実行されることに注意してください。これは完全なレプリケーションで、2 つのシステムですべてのデータが同期化されます。
これで、プライマリ サイトとバックアップ サイトは同一データを保持します。
7 プライマリ サイトからバックアップ サイトへのレプリケーション スケジュールを再作成してください。
8 アプリケーションをオンラインに戻します。