レプリケーション配置
レプリケーション配置に関する作業の概観
以下のトピックにより、レプリケーション用のデータベースの配置方法を示すチュートリアルをいくつか提供します。
DataExchange ドキュメントに含まれるすべての例は、64 ビット Windows システムを使用しており、インストール場所は C:\Program Files (x86)\Actian\Zen です。
配置処理
多くのユーザーは DataExchange Deployment Wizard を実行して、レプリケーション ネットワークを作成し配置します。このウィザードは、レプリケーションに必要なことの大部分を自動的に処理します。
DataExchange のレプリケーション配置をより深く詳細に学ぶための 1 つの方法は、Zen に含まれているサンプル データベース Demodata を使用した例の手順に従って操作することです。この例で、まずどのような作業をするのかを集中的に学習します。その各作業についてより理解するには、
データベースを使った作業をお読みください。
このトピックでは、2 つのシステム間におけるリアルタイム バックアップ用のデータベースを準備する実施例を示します。これには、DataExchange ユーティリティである DXdeploy の使用とファイルの手動コピーを伴います。
通常の配置処理には 4 段階あります。
1 DXdeploy ユーティリティで使用する XML 配置記述子ファイルを編集します。
2 第 1 サイトで、XML 配置記述子ファイルをパラメーターとして設定して DXdeploy ユーティリティを実行します。
3 第 1 サイトからパートナー サイトへレプリケーション可能なファイルをコピーします。
4 パートナー サイトで、第 1 サイトで使用したのと同じ XML 配置記述子ファイルを設定して DXdeploy ユーティリティを実行します。
5 番目の手順として、DataExchange Manager を使用してレプリケーション スケジュールを設定します。これは省略可能です。
DX Deployment Wizard を使用したレプリケーション配置
DataExchange Deployment Wizard は、レプリケーション ネットワークを作成して配置するための最も簡単かつ迅速な方法です。このウィザードは、第 1 サイトとパートナー サイトの両方で使用され、レプリケーションのスケジュールを作成する手段も備わっています。
DX Deployment Wizard を開くには、[
スタート]メニューから選択するか、または Control Center から[
DataExchange]>[
Deployment Wizard]を選択します。ウィザードを使用する前に、DataExchange ユーザーの
管理者権限による指示に従ってください。
DX Deployment Wizard を使用する準備をするために、まず、以下の配置の属性を書き留めておきます。ウィザードを実行するにつれ、その過程のさまざまな時点でこれらの項目を入力します。
•プロジェクト名 - 特定のデータベースに対応します。"MyDB" という名前のデータベースをレプリケートするのが目的の場合、"MyDBProj" のようなプロジェクト名を付けることができます。
•ネットワーク名 - レプリケーションに参加しているレプリケーション サイトのグループを表すために選択した名前です。
•リリース名 - レプリケーション データベース デザインのバージョン番号に類似したものです。
•DSN - レプリケーションのために配置されるデータ ファイルに関連付けるデータ ソース名(DSN)を指定します。DSN は各サイトで一意である必要があります。
•データのディレクトリとファイル名 - レプリケーションに含めるデータ ファイルとディレクトリを指定します。
ウィザードは、コマンド ラインで DXdeploy ユーティリティを使用する際に従う必要のある手順のうち、ほとんどすべての手順を自動化します。次に示す 1 つのことは手動で行うよう要求します。
1 第 1 サイトでウィザードを実行した後、projectname.dxb ファイルを C:\Program File(x86)\Actian\Zen\Replication\projects で探します。上記の例のようにプロジェクト名が mydatabase である場合は、このファイルの名前は mydatabase.dxb になります。
2 .dxb ファイルをパートナー サイトにコピーし、レプリケートするデータ ディレクトリの 1 つにそれを置きます。
3 パートナー サイトで Deployment Wizard を実行する際、パートナー サイトのレプリケーションを設定する一環として、.dxb ファイルを選択するように求められます。
さらに高度な説明
DataExchange の利用法についてもっと詳しく知りたい場合は、チュートリアルの
DXdeploy を XML 記述子ファイルと一緒に使用したレプリケーション配置を参照してください。これは、コマンド ラインから XML ファイルを使用してレプリケーションを配置する操作全体にわたって実行します。XML ファイルには、上で述べた配置の属性など、必要なすべての設定が含まれています。
DataExchange でコマンド ライン方法を通常用いるのは上級ユーザーのみであると予想されますが、製品をより詳しく理解したいユーザーにとっても有益である可能性があります。
DXdeploy を XML 記述子ファイルと一緒に使用したレプリケーション配置
このコマンド ライン チュートリアルは、DataExchange でのレプリケーション ネットワークの作成と配置に関するより詳細な理解を提供します。チュートリアルでは、例として Demodata サンプル データベースを使用します。Demodata は Zen で提供されます。
ここで示す手順では、作業内容に集中できるよう、その作業を行う理由については説明していません。作業する内容を確認したら、次のトピック
データベースを使った作業でその作業を行う理由や方法をお読みください。このトピックでは、
XML 配置記述子ファイルの構造や要素について説明しています。
サンプルを使った作業は 2 つの手順で構成されており、それぞれの手順は複数のタスクから成ります。
この配置は一例であり、レプリケーション スケジュールの設定方法は示しません。
メモ:Zen には Btrieve アプリケーションのセキュリティ モデルが含まれています。ここで使用される例では、サイトに Demodata を配置する際、クラシック セキュリティ モデル(デフォルトのモデル)を使用するものとします。
DefaultDB が混合セキュリティ モデルまたはデータベース セキュリティ を使用している場合、Demodata が配置できることを確認してください。これを行う最も簡単な方法は、各サイトのセキュリティが設定されている DefaultDB のパスワードを削除することで、セキュリティを無効にすることです。
DefaultDB のパスワードを一時的に削除するには、ZenCC で DefaultDB を右クリックし、[プロパティ]を選択します。[セキュリティ]ページの[データベース セキュリティ]タブをクリックし、[セキュリティを有効にする]チェック ボックスをオフにして[適用]をクリックします。DefaultDB にログインしていない場合は、マスター パスワードを指定します。[OK]をクリックします。このサンプルの配置を完了した後に、DefaultDB のセキュリティを再度有効にすることを忘れないようにしてください。
レプリケーション用の Demodata を配置する
DataExchange の初めてのインストールで説明したとおり、この作業を実行する前に第 1 サイトとパートナー サイト(バックアップ サイト)両方のインストールが既に終了している必要があります。
ヒント: この配置の例を試した後で Demodata を元の状態に復元できるように、操作を始める前にデータベース ファイルのコピーを保存しておくことをお勧めします。
►作業 1:XML 記述子ファイルを編集する
1 第 1 サイトのマシンで C:\Program Files (x86)\Actian\Zen\Replication\Docs フォルダーを開きます。
2 XML 記述子ファイル EXPRESS.XML のコピーを作成し、そのコピーの名前を ExampleRTB.xml に変更します。
このファイルは第 1 サイトのマシン上の任意の場所に保存することができます。
3 テキスト エディターで ExampleRTB.xml を開きます。
このテンプレート ファイルには、
XML 配置記述子ファイルの内容が説明されています。
4 第 1 サイトのマシン名または IP アドレスを設定します。"Localhost" はマシン名として認められません。
たとえば、第 1 サイトの名前が SiteA の場合は、以下のようになります。
<First
ServerName="SiteA"
5 第 1 サイト上のデータ ファイルのルート ディレクトリ パスを設定します。
第 1 サイトの DataDirectory では、C:\MYDATA を C:\ProgramData\Actian\Zen\Demodata に変更します。
現在、次のような設定になっています。
<First
ServerName="SiteA"
DSN="DXDatabase"
DataDirectory="C:\ProgramData\Actian\Zen\Demodata">
これは単なる例であるため、DSN は DXDatabase のままになっています。
6 レプリケートするデータ ファイルへのパスを、DataDirectory のルート ディレクトリへの相対パスで指定します。
Demodata データ ファイルは .mkd 拡張子を使用しているため、<Include Path="*.mkd" /> の行はそのままにします。Zen 環境において Btrieve ファイルで使用される拡張子を含めることができます。
7 以下の行は、この例では適用されないので削除します。
<Include Path="*.btr" />
<Include Path="*.dat" />
Demodata には DDF ファイルがあるため、<Include Path="*.ddf" /> はそのまま残します。通常、DDF をレプリケートしたいと思うでしょう。ただし、DXdeploy によって作成された DSN は、レプリケーションでは Demodata DDF を使用せず、独自の DDF を使用することに留意してください。
8 パートナー サイトのマシン名または IP アドレスを設定します。
remote.hostname 部分をサイト名または IP アドレスに変更します。たとえば、パートナー サイトのマシンが SiteB の場合は、以下のようになります。
<Partner
ServerName="SiteB"
9 パートナー サイト上のデータ ファイルのルート ディレクトリへの絶対パスを設定します。
パートナー サイトの DataDirectory では、C:\MYDATA を C:\Demodata に変更します。
この情報は、以下のようになります。
<Partner
ServerName="SiteB"
DSN="DXDatabase"
DataDirectory="C:\Demodata" />
メモ:サンプル データベースを上書きする場合には、パートナー サイトのデータ ディレクトリを C:\ProgramData\Actian\Zen\Demodata にします。この例では、Zen によってインストールされた Demodata を保持するよう、別のディレクトリを使用します。
10 ExampleRTB.xml ファイルを保存して閉じます。
►作業 2:第 1 サイトで DXdeploy を実行する
第 1 サイトでコマンド プロンプトを開き、次のコマンドを実行します。文字列の大文字小文字は区別されません。
dxdeploy /Site=First "C:\Program Files (x86)\Actian\Zen\Replication\Docs\ExampleRTB.xml"
DXdeploy は実行するにつれ、画面に高レベルな状態メッセージを表示します。
•CreateDSN 操作を開始しています...
•Design 操作を開始しています...
•Activate 操作を開始しています...
•アクティブ化を完了し、現在はテーブルを同期させています...
詳細は、C:\ProgramData\Actian\Zen\Replication\LogFiles にある dxdeploy.log ファイルに書き込まれます。DXdeploy の実行中にその記入事項を画面上へ表示させるには、/LOGFILE= オプションを使用します。たとえば、dxdeploy /Site=First /LOGFILE= ExampleRTB.xml のようにします。LOGFILE= の後には空白文字があります。
DXdeploy が完了すると、コマンド プロンプトが再度表示され、ログ ファイルに次のメッセージが入力されます。
すべての配置操作が正常に完了しました。
►作業 3:第 1 サイトの配置を確認する(省略可能)
配置操作が完了したことを視覚的に確認することができます。
1 ZenCC をまだ実行していない場合は起動します([スタート]メニューから[Zen Control Center およびドキュメント]を選択します)。
第 1 サイトの名前が[エンジン]ブランチの下に示されます。
2 第 1 サイトのブランチやデータベースの一覧を展開します。
DXDatabase はデータベースとして一覧に加えられています。
3 DXDatabase ブランチを展開します。
レプリケーション ノードに表示される文字 A は、データベースがアクティブであることを示しています。
►作業 4:テンプレートをパートナー サイトにコピーする
DXdeploy が第 1 サイトで完了した後、以下を実行します。
1 第 1 サイトから、次のファイル
C:\Program Files (x86)\Actian\Zen\Replication\Docs\ExampleRTB.xml
を、パートナー サイトの同名のフォルダーにコピーします。
2 パートナー サイトに C:\Demodata というフォルダーを作成します。
3 第 1 サイトから、次のディレクトリ
C:\Program Files (x86)\Actian\Zen\Replication\Templates\DXDatabase
の内容を、パートナー サイトの C:\Demodata にコピーします。
メモ:パートナー サイトでどのフォルダーを選択したとしても、Demodata ファイルはそこからの相対パス上に存在します。お使いのアプリケーションは、データ ファイルによっては絶対パスを必要とすることがあります。詳細については、
ファイルのコピーを参照してください。
►作業 5:パートナー サイトで DXdeploy を実行する
パートナー サイトでコマンド プロンプトを開き、次のコマンドを実行します。文字列の大文字小文字は区別されません。
dxdeploy /Site=Partner "C:\Program Files (x86)\Actian\Zen\Replication\Docs\ExampleRTB.xml"
DXdeploy は実行するにつれ、画面に高レベルな状態メッセージを表示します。
•CreateDSN 操作を開始しています...
•Design 操作を開始しています...
•Activate 操作を開始しています...
詳細は、C:\ProgramData\Actian\Zen\Replication\LogFiles にある dxdeploy.log ファイルに書き込まれます。DXdeploy の実行中にその記入事項を画面上へ表示させるには、/LOGFILE= オプションを使用します。たとえば、次のようになります。
dxdeploy /Site=Partner /LOGFILE= ExampleRTB.xml
LOGFILE= の後には空白文字があります。
DXdeploy が完了すると、コマンド プロンプトが再度表示され、ログ ファイルに以下のメッセージが示されます。
すべての配置操作が正常に完了しました。
DXdeploy はパートナー サイトで実行されるとき、第 1 サイトとパートナー サイト間の初期レプリケーションも実行します。初期レプリケーションは、第 1 サイト上と同じになるように、パートナー サイトにデータを置きます。
これで、Demodata をレプリケーション用に正常に配置することができました。
XML 配置記述子ファイル
XML 配置記述子ファイルはテキスト ファイルで、DXdeploy ユーティリティの情報を設定するものです。2 台のマシン間のReal-Time Backupでは、EXPRESS.XML 記述子ファイルを使用します。このファイルは C:\Program Files (x86)\Actian\Zen\Replication\Docs にあります。ファイルの内容には次の要素が入っているほか、ここには表示されていませんが、要素を記述するのに役立つコメントも含まれています。
<?xml version="1.0"?>
<DXDeployment>
<Configuration Project="DXProj" Network="DXNet" Release="1.0" Method="1-way">
<Sites>
<First
ServerName="this.hostname" DSN="DXDatabase" DataDirectory="C:\MYDATA">
<Files>
<Include Path="*.mkd" />
<Include Path="*.btr" />
<Include Path="*.dat" />
<Include Path="*.ddf" />
</Files>
</First>
<Partner
ServerName="remote.hostname" DSN="DXDatabase" DataDirectory="C:\MYDATA" />
</Sites>
</Configuration>
</DXDeployment>
この XML ファイルを使用するには、お使いの状況に合わせて必ずファイルを編集する必要があります。以下の表に編集を必要とするファイル内の要素を説明します。属性のうちいくつかのデフォルト値は、変更せずに使用することができます。Exclude Path を除き、DXdeploy はすべての属性を必要とします。DXdeploy の詳細については、
dxdeploy で説明しています。
表 1 配置記述子ファイルの XML 属性
XML 属性 | 説明 |
---|
Project | レプリケーション デザインでは、レプリケーション プロジェクト、レプリケーション ネットワーク、およびプロジェクト リリースの名前が必要です。これらの名前は、自身のレプリケーション設定をわかりやすく識別できるよう自由に付けることができます。 プロジェクトは多くの場合、特定のデータベースに対応しています。mydb という名前のデータベースをレプリケートするのが目的である場合には、mydb project とか、どのデータベースを対象としているか思い出しやすい名前をプロジェクトに付けることができます。 プロジェクト、ネットワーク、およびリリースの 3 つの名前は、レプリケーション エンジンが使用するレプリケーション システム データベースに追加されることに注意してください。また、レプリケーション ユーティリティは、これらの名前を使用して特定の操作を許可または拒否します。たとえば、デザインされた複数のデータベースでリリースのみが異なる場合、プロジェクト名とネットワーク名が一致しているならば、それらを一緒にレプリケートすることが許可されます。 |
Network | レプリケーション ネットワークは、レプリケーションに参加しているレプリケーション サイトをグループ化したものです。グループを思い出すのに役立つ名前が便利です。たとえば、マシン A と B が参加している場合、そのネットワークに "Site AandB" のような名前を付けることができます。この文字列にはスペースを使用することができます。 |
Release | リリースは、レプリケーション データベース デザインのためのバージョン番号のようなものです。たとえば、最初のデザインはバージョン 1 です。そのデザインを後で変更した場合、バージョン 2、3、というように作成することになります。 |
Method | レプリケーションを一方向にするか双方向にするかを設定します。この設定は、ライセンスが許可するものと一致している必要があります。たとえば、Real-Time Backup Edition ライセンスでは双方向レプリケーションを設定できません。 |
Include Path | レプリケーションのために配置するファイルを設定します。少なくとも 1 つの Include Path 属性が必要です。この属性には以下のプロパティが適用されます。 •相対パスは、XML ファイルの <Sites >セクションにリストされている DataDirectory への相対パスです。 •絶対パスは、指定する場合、すべて同じドライブ文字で始める必要があり、これは DataDirectory で指定されたドライブ文字と同じである必要があります。 •パスでは、ファイルを個々に指定するか、ワイルドカードを使って指定します。ワイルドカード文字の "?" と "*" を使用できます。 •サブディレクトリは、パスに明示する必要があります(DXdeploy は指定されたルート ディレクトリから自動的にサブディレクトリを処理しません)。 •属性行は複数にすることが可能です。 |
Exclude Path | 含まれているファイルからどのファイルを除外するかを設定します。Include Path と同じプロパティが適用されます。 |
First Servername | 第 1 サイトのマシン名または IP アドレスを設定します。"Localhost" は許可されません。 |
DSN | レプリケーションのために配置されるデータ ファイルに関連するデータ ソース名(DSN)を設定します。DSN は各サイトで一意である必要があります。 |
DataDirectory | Include Path および Exclude Path の値に対応するルート パスを設定します。DataDirectory の先頭はドライブ文字である必要があります。 First Servername 内の DataDirectory は第 1 サイトに適用されます。Partner Servername 内の DataDirectory はパートナー サイトに適用されます。 |
Partner Servername | パートナー サイトのマシン名または IP アドレスを設定します。"Localhost" は許可されません。 |
配置されたサンプル データベースを削除する
配置されたサンプル データベースを保存しておく必要はありません。以下の作業では、第 1 サイトとパートナー サイトからこれらを削除する方法を説明します。
►作業 1:両サイトでサンプル データベースを非アクティブ化する
1 第 1 サイトのマシンでコマンド プロンプトを開き、次のコマンドを実行します。
dxdeact dxdatabase
これで第 1 サイトのサンプル データベースは非アクティブ化されます。
2 この手順をパートナー サイトで繰り返します。
►作業 2:第 1 サイトで Template Remover を実行する
1 第 1 サイトで以下のどちらかを実行します。
•[スタート]メニューから[DX Template Remover]を選択します。
•ZenCC で[DataExchange]>[Template Remover]の順にクリックします。
2 テンプレート リムーバ ウィザードのようこそ画面で、[次へ]をクリックします。
3 テンプレート ペインで、削除するテンプレートとして
LOCAL:DXDATABASE を選択します。
4 [DataExchange システム テーブルを削除する]を選択し、警告メッセージで[はい]をクリックして続行します。
5 [DSN およびデータベース名を削除する]を選択します。
ウィザードは次のようになります。
6 [次へ]をクリックします。
ウィザードによってテンプレートが削除され、概要が表示されます。
7 [閉じる]をクリックします。
►作業 3:第 1 サイトでファイルを削除する
1 第 1 サイトの C:\ProgramData\Actian\Zen\Demodata の下で、配置中に作成された DX_projectname ディレクトリを探します。
DX_projectname は、XML 配置ファイルでレプリケーション プロジェクトに指定された名前です。ここでは、ExampleRTB.xml ファイルにある以下の行の DXProj を指します。
<Configuration Project="DXProj" Network="DXNet" Release="1.0" Method="1-way">
2 レプリケーションの開始と停止に記載されているとおりに、レプリケーション サービスを停止します。また、次の手順を実行するには、レプリケーションも停止している必要があります。
3 C:\Program Files (x86)\Actian\Zen\Replication\Templates の下の DXDatabase フォルダーを削除します。
►作業 4:パートナー サイトでサンプル データベースとファイルを削除する
1 パートナー サイトで、ZenCC をまだ実行していない場合は起動します。
2 レプリケーションの開始と停止に記載されているとおりに、レプリケーション サービスが停止されていることを確認します。レプリケーションの実行中にパートナー サイトを削除すると、データベースが望ましくない動作をする可能性があります。
3 [エンジン]の下のデータベース一覧で[
DXDatabase]を右クリックし、[
削除]を選択します。
4 削除の確認ダイアログにはいくつかのオプションがあります。
5 次のいずれかを実行します。
•レプリケートしていたデータベースを保持するには、[はい。ただし、データベース名のみ]を選択します。
•レプリケートしていたデータベースを削除するには、[はい。データベース名と DDF]を選択します。
•データベースを削除しない場合は、[いいえ]を選択します。
6 パートナー サイトで配置されたレプリケーション データベースの削除を完了するには、
C:\Demodata ディレクトリを削除します。これは
作業 4:テンプレートをパートナー サイトにコピーするで作成されたディレクトリです。このディレクトリを削除するには、Zen サービスを一時的に停止する必要があります。
►作業 5:必要に応じて、データベースのコピーを復元する
1 第 1 サイトからレプリケーション ファイルをコピーする前に、データ ファイルのコピーを保存したフォルダーを開きます。
2 元のデータベースがあったフォルダーにファイルを移動するかコピーします。
この例では、ファイルが復元された場所は C:\ProgramData\Actian\Zen\Demodata になります。
データベースを使った作業
Demodata のサンプルは、レプリケーションの配置処理で必要な 4 つの手順を説明しています。このトピックでは、処理とその構成要素をより詳細に検討します。
1 DXdeploy ユーティリティで使用する XML 配置記述子ファイルを編集します。
2 第 1 サイトで、XML 配置記述子ファイルをパラメーターとして設定して DXdeploy ユーティリティを実行します。
3 第 1 サイトからパートナー サイトへレプリケーション可能なファイルをコピーします。
4 パートナー サイトで、第 1 サイトで使用したのと同じ XML 配置記述子ファイルを設定して DXdeploy ユーティリティを実行します。
このトピックでは、ご自身のデータベースに適用できるよう、この処理についてさらに詳しく説明します。ただし、この処理を始める前に、どのテーブルをレプリケートするかを決定し、それらが確実にレプリケートできることを確認しておいてください。
ヒント: このマニュアルに含まれる例に沿って作業する場合は、手順を実行する前に必ずデータベースのコピーを作成してください。そうすれば、作業完了後に、そのコピーを使用して元のデータベースを復元することができます。また、配置されたサンプル データベースを保存しておく必要はありません。配置後、使用した配置方法に応じた手順を実行して、レプリケーション ファイルとテンプレートを削除し、作成したコピーを基にデータベースを復元することができます。
最初に行うこと
レプリケートするデータベースを配置するには、まず、以下のことを実行する必要があります。
•どのデータベース内のどのテーブルをレプリケートするかを決定する。
•レプリケートするテーブルにシステム データとシステム キーがあることを確認する。
どのテーブルをレプリケートするか
どのテーブルをレプリケートする必要があるかを決定します。動的に作成されたテーブルがある場合には、それらもレプリケートする必要があるかどうか考慮します。
アクティブなデータベースに動的テーブルを追加するを参照してください。
レプリケートするテーブルを XML 配置記述子ファイルに設定します。
XML 配置記述子ファイルを参照してください。
システム データおよびシステム キー
Real-Time Backupレプリケーションの場合、DataExchange はレプリケートされる各テーブルに一意のシステム キーがあることを必要とします。レプリケーション制御テーブルは、一意のキーを使用して変更を追跡します。
Zen の Butil ユーティリティを使用して、テーブルにシステム キーとシステム データがあるかどうかを調べることができます。たとえば、c:\mydata にある mytable.mkd テーブルを調べるには、コマンド プロンプトで次のように入力します。
butil -stat c:\mydata\mytable.mkd
さまざまな情報の中で、統計情報の出力によってシステム データとシステム キーの情報を得ることができます。この出力が System Data = Yes および SYSKEY Status = Present となっていれば、システム キーとシステム データが存在します。
既存のデータベースにシステム キーがない場合は、Zen の Rebuild ユーティリティを使用して、システム データとシステム キーを追加する必要があります。Rebuild ユーティリティについては、『Advanced Operations Guide』を参照してください。
DataExchange での Zen セキュリティ
Zen では Btrieve アプリケーションにセキュリティ モデルが提供されています。ただし、ソース データベースにセキュリティが設定されていたとしても、DXdeploy によって作成されたアクティブなデータベースにはセキュリティが自動的に設定されません。レプリケーション データベースに対しては、手動でセキュリティを設定することができます。Demodata サンプル データベースのこの使用例については、
Zen セキュリティを使用したデータベースのレプリケートを参照してください。
第 1 サイトの DXDeploy ユーティリティ
XML 記述子ファイルの編集が終わったら、第 1 サイトで DXdeploy ユーティリティを実行します。このユーティリティはソース データ ファイルのテンプレートを作成します。説明を簡単にするために、これ以降、ソース データ ファイルはまとめて「ソース データベース」と呼びます。
テンプレートは、特にレプリケーション ツールと共に使用する特別な種類のデータベースです。これには、レプリケーションで使用するさまざまな種類の制御テーブルが含まれます。テンプレートにはソース データベースのデータも含まれます。DXdeploy はソース データなしでテンプレートを作成します。配置処理の 4 番目の手順で、ソース データは第 1 サイトからパートナー サイトにレプリケートされます。
テンプレートを使用してデータベースをアクティブ化します。アクティブ化とは、データベースがレプリケーションできるようにすること、および、データベースがサイトに属することを確定することです。DXdeploy は第 1 サイトのソース データベースもアクティブ化します。
次の表で DXdeploy がファイルをどこに配置するかを説明します。
アクティブ化されたデータベース | テンプレート |
---|
アクティブ化されたデータベースは DX_projectname フォルダーに置かれます。このフォルダーは、ソース データベース フォルダーの下にあります。 たとえば、ソース データベースは C:\myfolder\mydb、プロジェクトは myproject の場合、アクティブ化されたデータベースは C:\myfolder\mydb\DX_myproject に置かれます。 ソース データベースは変更されません。 | すべてのテンプレートは C:\Program Files (x86)\Actian\Zen\Replication\Templates に置かれます。たとえば、データベースが mydb で、その DSN が mydbdsn の場合、テンプレートは次のフォルダーにあります。 •C:\Program Files (x86)\Actian\Zen\Replication\Templates\mydbdsn - ソース データ ファイルから生成された空のデータ ファイル。これらのファイルはテンプレートの一部と考えられます。このフォルダーには XML 記述子ファイルのコピーもあります。 •C:\Program Files (x86)\Actian\Zen\Replication\Templates\mydbdsn\DX_myproject - 制御テーブルなど、レプリケーション可能な残りのファイル。 |
メモ:DXdeploy によって実行されるアクティブ化処理は、データ テーブルの数とサイズに応じて、数分から数時間かかることがあります。ただし、DXdeploy がテンプレートの作成を終えたらすぐにテンプレート ファイルをパートナー サイトにコピーし、次の手順を行うことができます。
画面に「Activate 操作を開始しています...」というメッセージがあるかどうかを調べます。このメッセージが表示されたら、テンプレート ファイルをパートナー サイトにコピーします。通常、多数のデータ ファイルがあっても、テンプレートは短時間で作成されます。
ファイルのコピー
DXdeploy が第 1 サイトでテンプレートを作成した後、手作業でテンプレートをパートナー サイトにコピーします。
何をどこへコピーするかの例
DXdeploy はテンプレート ディレクトリを作成することにより、パートナー サイトのどこへファイルをコピーするかを示します。たとえば、アプリケーションの DSN は mydbdsn で、データベース名 mydb が指定されており、mydb は第 1 サイトで次の 4 つのデータ ファイルを使用しているものとします。
•C:\myapp\data\table1.mkd
•C:\myapp\data\table2.mkd
•C:\myapp\data\other\table3.mkd
•C:\employees\accting\table4.mkd
編集後の XML 記述子ファイルは以下のようになります。
<First ServerName="SiteA" DSN="mydbdsn" DataDirectory="C:\myapp\data" >
<Files>
<Include Path="*.mkd" />
<Include Path="other\*.mkd" />
<Include Path="c:\employees\accting\table4.mkd"/>
1 番目と 2 番目の Inculde Path ステートメントは DataDirectory への相対パスです。table4.mkd はバウンド テーブルであり、C:\employees\accting になければならないとするならば、絶対パスを必要とします。
この例を前提として、パートナー サイトのどこへテンプレート ファイルをコピーするのかを次の表で説明します。
C:\Program Files (x86)\Actian\Zen\Replication\Templates\mydbdsn\mydb\DX_myproject |
---|
内容 | パートナー サイト上のコピー先 |
---|
空のデータ ファイル table1.mkd、table2.mkd、および \other\table3.mkd。 編集した XML 記述子ファイル。 DX_projectname ディレクトリ: C:\Program Files (x86)\Actian\Zen\Replication\Templates\mydbdsn\mydb\DX_myproject | C:\myapp\data。第 1 サイトと同じです。ただし、唯一の要件は、この場所が、XML 記述子ファイルに記載されているパートナーのデータ ディレクトリと一致していることです。 XML 記述子ファイルはどこでも好きなところへ置くことができますが、データ ディレクトリにコピーするのが最も簡単です。 DX_myproject には、レプリケーション可能な残りのファイルが保持されます。これを第 1 サイト上と同じ場所にコピーします。 |
C:\Program Files (x86)\Actian\Zen\Replication\Templates\mydbdsn\mydb\c_drive\employees\accting |
---|
内容 | パートナー サイト上のコピー先 |
---|
空のデータ ファイル table4.mkd。 | C:\employees\accting |
メモ:パートナー サイトにデータ ファイルが既に存在している場合、それらのファイルはテンプレート データ ファイルによって上書きされます。
パートナー サイトの DXdeploy ユーティリティ
第 1 サイトで DXdeploy を使用してテンプレートをアクティブ化した後、テンプレートをパートナー サイトへコピーします。そのパートナー サイトで、第 1 サイトで使用された XML 配置記述子ファイルを使用して DXdeploy を実行し、テンプレートをアクティブ化します。テンプレート ファイルは、C:\Program Files (x86)\Actian\Zen\Replication\Templates の下のデータベース ディレクトリにあります。上の例の場合は、C:\Program Files (x86)\Actian\Zen\Replication\Templates\mydbdsn\mydb になります。
注意: DXdeploy は、パートナー サイトで実行する前に第 1 サイトでアクティブ化を完了している必要があります。第 1 サイトで、画面に「アクティブ化を完了し、現在はテーブルを同期させています...」というメッセージがあるかどうかを調べます。このメッセージが表示されたら、パートナー サイトで DXdeploy を実行することができます。
レプリケーション スケジュール
DXdeploy は、パートナー サイトでの実行を完了した後、第 1 サイトとの初期レプリケーションを実行します。サイト間の初期レプリケーションによって、データ テーブルは完全にパートナー サイトに存在するようになります。
配置した後、第 1 サイトのデータとパートナー サイトのデータを最新の状態に保つために、レプリケーション スケジュールを設定することができます。レプリケーション スケジュールを設定する手順については、
スケジュールの作業を参照してください。
メモ:レプリケーションはどちらの方向でも動作し、その方向はスケジュールを設定した場所によってのみ決定されます。バックアップしたいデータの変更が第 1 サイトで発生する場合は、第 1 サイトでスケジュールを設定します。そうすることで、バックアップは第 1 サイトからパートナー サイトへ流れるようになります。お使いの環境では、データの変更がパートナー サイトで発生するのであれば、パートナー サイトでスケジュールを設定してください。そうすることで、バックアップはパートナー サイトから第 1 サイトへ流れるようになります。
障害回復
第 1 サイトが不運にも損傷を受けた場合は、データをパートナー サイトから新しい第 1 サイトへ復元し、レプリケーション ネットワークを回復することができます。
障害回復を参照してください。
Designer を使って配置されたデータベースを削除する
DataExchange Designer は、現在は使用されていませんが、バージョン 5.1 より前の DataExchange に付属していたユーティリティです。DataExchange Designer を使って配置されたデータベースの削除が必要になる可能性があります。DataExchange Designer を使って配置されたデータベースの削除を完全に行うには、次の作業が必要です。
両サイトのデータベースを非アクティブ化する
この例では、DSN の値は Demodata です。
1 第 1 サイトで、DXdeact DSN を実行します。
2 パートナー サイトで DXdeact DSN を実行します。
第 1 サイトで Template Remover を実行する
1 第 1 サイトの[スタート]メニューから、[Actian DataExchange 15]>[DX Template Remover]を選択します。
2 ようこそダイアログで[次へ]をクリックします。
3 テンプレート ペインで、削除するテンプレートを選択するよう求められたら、
LOCAL:DSN をクリックします。この例では、
DSN の値は DXDATABASE になります。
4 [DataExchange システム テーブルを削除する]を選択し、処理を続行する確認に対して[はい]をクリックします。
5 [DSN およびデータベース名を削除する]を選択し、[次へ]をクリックします。
6 ウィザードによってテンプレートが削除され、概要ダイアログが表示された後、[閉じる]をクリックします。
パートナー サイトでデータベースとファイルを削除する
データベースまたはデータベースのファイルを削除する前に、レプリケーションを停止する必要があります。
レプリケーションの開始と停止を参照してください。
1 パートナー サイトのマシンで、第 1 サイトからレプリケーション ファイルをコピーしたフォルダーの内容を削除します。
2 再度 Demodata のサンプル データベースを使用する必要がある場合は、次の作業で復元します。
データベースのコピーを復元する
1 第 1 サイトからレプリケーション ファイルをコピーする前に、データ ファイルのコピーを保存した一時フォルダーを開きます。
2 元のデータベースがあったフォルダーにファイルを移動するかコピーします。
DXdeploy を使用した一方向の配置
このトピックでは、DXdeploy ユーティリティを用いたレプリケーション ソリューションの配置方法と、EXPRESS.XML 記述子テンプレートを基に XML 記述子ファイルを作成する方法について、段階を追って説明します。この例は、Real-Time Backup Edition でも Data Synchronization Edition でも使用できます。これは、
DXdeploy を XML 記述子ファイルと一緒に使用したレプリケーション配置チュートリアルに似ています。
この例のセッションを行うには 2 台のマシンが必要です。1 台のマシンには、第 1 サイトとして DataExchange をインストールしておく必要があります。もう 1 台のマシンには、パートナー サイトとして DataExchange をインストールしておく必要があります。DXdeploy を使用する前に、DataExchange ユーザーの
管理者権限による指示に従ってください。
このトピックでは、以下の作業について説明します。
メモ:このトピックでは、配置についてのみ説明し、レプリケーション スケジュールについては触れません。
開始の前に
この作業を実行する前に、第 1 サイトとパートナー サイトに DataExchange をインストールしておく必要があります。
ヒント: この配置の例を試した後にデータベースを元の状態に復元できるよう、操作を始める前にデータベース ファイルのコピーを保存しておくことをお勧めします。
独自の XML 記述子ファイルを作成するために、以下の項目を書き留めておいてください。
•2 つのデータベース サーバーの名前または IP アドレス
•元のデータのルート パス
•元のデータのディレクトリとファイル名
•レプリケートされたデータのルート パス
注意: これから配置しようとするデータベースを使用するすべてのアプリケーションは、この配置方法を使用する前にシャット ダウンしておく必要があります。
XML 記述子ファイルの作成
►XML 記述子ファイルを作成するには
1 第 1 サイトのマシンで C:\Program Files (x86)\Actian\Zen\Replication\Docs フォルダーを開きます。
2 XML 記述子ファイル EXPRESS.XML のコピーを作成し、そのコピーの名前を EXP_1WAY.XML に変更します。
このファイルは、第 1 サイトのマシン上の任意の場所に移動できます。この作業では、元の場所に保管されていることを前提とします。EXPRESS.XML がシステムからなくなっている場合は、次の手順のテキストをコピーして、ファイルを再作成してください。
3 テキスト エディターで EXP_1WAY.XML を開きます。
このテンプレート ファイルには、
XML 配置記述子ファイルに説明されている内容が入っています。
4 この例では、EXP_1WAY.XML の内容を次のように置き換えます。
<?xml version="1.0"?>
<DXDeployment>
<Configuration Project="mydbproject" Network="sales dept net" Release="1.0" Method="1-way">
<Sites>
<First
ServerName="SiteA" DSN="SalesDB" DataDirectory="C:\CompanyData\SalesData">
<Files>
<Include Path="*.mkd" />
<Include Path="*.ddf" />
<Include Path="SalesReports\*" />
<Include Path="*SalesReports\Q1Rept.mkd" />
<Include Path="C:\Employee\SalesRep\sample.mkd" />
</Files>
</First>
<Partner
ServerName="SiteB" DSN="SalesDB" DataDirectory="C:CompanyData\SalesData" />
</Sites>
</Configuration>
</DXDeployment>
第 1 サイトでの DXdeploy の実行
►第 1 サイトで DXdeploy を実行するには
1 第 1 サイトでコマンド プロンプトを開き、以下を入力します。
dxdeploy "C:\Program Files (x86)\Actian\Zen\Replication\Docs\EXP_1WAY.XML"
コマンドでは、大文字と小文字は区別されません。
2 Enter キーを押します。
DXdeploy は実行するにつれ、特定の操作を完了すると画面に高レベルな状態メッセージを表示します。配置に成功した場合、以下のメッセージが表示されます。
•CreateDSN 操作を開始しています...
•Design 操作を開始しています...
•Activate 操作を開始しています...
•アクティブ化を完了し、現在はテーブルを同期させています...
デフォルトでは、DXdeploy からの詳細なメッセージは dxdeploy.log に書き込まれ、画面には表示されません。このログは C:\ProgramData\Actian\Zen\Replication\LogFiles にあります。DXdeploy を実行しながら画面に詳細メッセージを表示したい場合は、/LOGFILE= オプションを使用してください。
3 たとえば、次のように入力します。
dxdeploy /LOGFILE= "C:\Program Files (x86)\Actian\Zen\Replication\Docs\EXP_1WAY.XML"
DXdeploy が完了すると、コマンド プロンプトが再度表示されます。DXdeploy ログ ファイルを調べて、DXdeploy が完了したときを判断することもできます。ログ ファイルの最後には、「すべての配置操作が正常に完了しました。」というメッセージが表示されます。
4 状況により、ZenCC をまだ実行していない場合は起動します([スタート]メニューから[Zen Control Center およびドキュメント]を選択します)。
5 Zen エクスプローラーで[エンジン]の下にある SalesDB ブランチを展開します。SalesDB がデータベースとして一覧に表示され、そのレプリケーション ノードに、データベースがアクティブであることを示す A という文字が表示されていることに注目してください。
テンプレートをパートナー サイトにコピー
►テンプレートをパートナー サイトにコピーするには
1 第 1 サイトで DXdeploy が完了したら、SalesData ディレクトリを \Program Files (x86)\Actian\Zen\Replication\Templates\SalesDB からパートナー サイトの C:\CompanyData へコピーします。
メモ:ここで使用する例では、データ ファイルは相対パスと絶対パスの両方を使用しているので注意してください。ファイルをコピーする際、DataDirectory に指定した場所以外にあるファイルは
絶対パスを含める必要があります。ファイルのコピー先については、Real-Time Backup のレプリケーション例の
ファイルのコピーを参照してください。
ヒント: DXdeploy 配置を使用する場合、テンプレートはデータベース ファイルのコピーです。これらのファイルは C:\Program Files (x86)\Actian\Zen\Replication\Template ディレクトリにあります。
パートナー サイトでの DXdeploy の実行
►パートナー サイトで DXdeploy を実行するには
1 パートナー サイトでコマンド プロンプトを開きます。
2 コマンド プロンプトで、以下のように入力します。
dxdeploy C:\CompanyData\SalesData\EXP_1WAY.XML
コマンドでは、大文字と小文字は区別されません。
3 Enter キーを押します。
DXdeploy は特定の操作を完了すると画面に高レベルな状態メッセージを表示します。配置に成功した場合、以下のメッセージが表示されます。
•CreateDSN 操作を開始しています...
•Design 操作を開始しています...
•Activate 操作を開始しています...
デフォルトでは、DXdeploy からの詳細なメッセージは dxdeploy.log に書き込まれ、画面には表示されません。DXdeploy が完了すると、コマンド プロンプトが再度表示されます。DXdeploy ログ ファイルを調べて、DXdeploy が完了したときを判断することもできます。ログ ファイルの最後には、「すべての配置操作が正常に完了しました。」というメッセージが表示されます。
DXdeploy はパートナー サイトで実行されるとき、第 1 サイトとの初期レプリケーションを実行します。このレプリケーションは、第 1 サイト上と同じになるように、パートナー サイトにデータを置きます。
メモ:データベースのサイズや接続の帯域幅によって、初期レプリケーションに数分から数時間かかる場合があります。
DXdeploy を使用した双方向の配置
このトピックでは、DXdeploy ユーティリティを使用した、高レベルでのレプリケーション用データベースの配置方法について説明します。作業例として、サンプル データベース TRACKER を使用します。このサンプル データベースは、Zen のインストールで提供されます。この例は、Data Synchronization Edition でのみ使用できます。Real-Time Backup Edition は一方向のレプリケーションのみをサポートします。
この例のセッションでは、2 台のマシンが必要です。1 台には、第 1 サイトとして DataExchange がインストールされている必要があります。もう 1 台には、パートナー サイトとして DataExchange がインストールされている必要があります。DXdeploy を使用する前に、DataExchange ユーザーの
管理者権限による指示に従ってください。
手順に従って例を操作するために、次の作業を使用します。
これらの手順では、レプリケーション スケジュールの設定を省略しています。TRACKER の配置は一例であり、レプリケーション スケジュールの設定は必要ではないためです。
開始の前に
この作業を実行する前に、第 1 サイトとパートナー サイトに DataExchange をインストールしておく必要があります。
ヒント: この配置の例を試した後にデータベースを元の状態に復元できるよう、操作を始める前にデータベース ファイルのコピーを保存しておくことをお勧めします。
XML 記述子ファイルに必要な変更をもれなく行うため、以下の項目のメモを作成することをお勧めします。
•2 つのデータベース サーバーの名前または IP アドレス
•元のデータのルート パス
•元のデータのディレクトリとファイル名
•レプリケートされたデータのルート パス
注意: これから配置しようとするデータベースを使用するすべてのアプリケーションは、この配置方法を使用する前にシャット ダウンしておく必要があります。
XML 記述子ファイルの作成
►XML 記述子ファイルを作成するには
1 ディレクトリ C:\Program Files\Actian\Zen\Replication\Docs\ で、XML 記述子ファイル CUSTOM.XML のコピーを作成し、そのコピーの名前を CUST_2WAY.XML に変更します。
このファイルは、第 1 サイトのマシン上の任意の場所に移動できます。この作業では、元の場所に保管されていることを前提とします。CUSTOM.XML がシステムからなくなっている場合は、次の手順のテキストをコピーして、ファイルを再作成してください。
2 テキスト エディターで CUST_2WAY.XML を開きます。
このテンプレートファイルは、
XML 配置記述子ファイルに記載されている EXPRESS.XML とは若干異なります。次のような内容が含まれています。
<?xml version="1.0"?>
<DXDeployment>
<Configuration Project="DXProj" Network="DXNet" Release="1.0" Method="1-way">
<Sites>
<First ServerName="this.hostname" DSN="DXDatabase" DataDirectory="C:\MYDATA">
<Files>
<Include Path="*.mkd" />
<Include Path="MoreData\dataFile.dat" />
<Exclude Path="DontNeed.dat" />
<Include Path="C:\OtherDir\*" />
<Exclude Path="C:\OtherDir\Temp*" />
<Include Path="*.ddf" />
</Files>
</First>
<Partner ServerName="remote.hostname" DSN="DXDatabase" DataDirectory="C:\MYDATA" />
</Sites>
</Configuration>
<Actions>
<CreateDSN />
<Design />
<Activate />
</Actions>
</DXDeployment>
3 この例では、CUST_2WAY.XML の内容を次のように置き換えます。
<?xml version="1.0"?>
<DXDeployment>
<Configuration Project="mydbproject" Network="admin dept net" Release="1.0" Method="2-way">
<Sites>
<First ServerName="SiteA" DSN="TrackerDB" DataDirectory="C:\ProgramData\Actian\Zen\Replication\Demodb">
<Files>
<Include Path="*.mkd" />
<Include Path="Misc\*.dat" />
<Include Path="Misc\misc_file3.dat" />
<Include Path="C:\Archive\*.dat" />
<Include Path="C:\Archive\History.dat" />
<Include Path="*.ddf" />
</Files>
</First>
<Partner ServerName="SiteB" DSN="TrackerDB" DataDirectory="C:\Program Files\Actian\Zen\Replication\Demodb" />
</Sites>
</Configuration>
<Actions>
<CreateDSN />
<Design />
<Activate />
</Actions>
</DXDeployment>
第 1 サイトでの DXdeploy の実行
►第 1 サイトで DXdeploy を実行するには
1 第 1 サイトでコマンド プロンプトを開き、以下を入力します。
dxdeploy "C:\Program Files (x86)\Actian\Zen\Replication\Docs\CUST_2WAY.XML"
2 Enter キーを押します。
DXdeploy は特定の操作を完了すると画面に高レベルな状態メッセージを表示します。配置に成功した場合、以下のメッセージが表示されます。
•CreateDSN 操作を開始しています...
•Design 操作を開始しています...
•Activate 操作を開始しています...
•アクティブ化を完了し、現在はテーブルを同期させています...
デフォルトでは、DXdeploy からの詳細なメッセージは dxdeploy.log に書き込まれ、画面には表示されません。このログは C:\ProgramData\Actian\Zen\Replication\LogFiles にあります。DXdeploy を実行しながら画面に詳細メッセージを表示したい場合は、/LOGFILE= オプションを使用してください。たとえば、dxdeploy /LOGFILE= CUST_2WAY.XML のように指定します。等号の後には空白文字があります。
DXdeploy が完了すると、コマンド プロンプトが再度表示されます。DXdeploy ログ ファイルを調べて、DXdeploy が完了したときを判断することもできます。ログ ファイルの最後には、「すべての配置操作が正常に完了しました。」というメッセージが表示されます。
3 Control Center(ZenCC)を開いて Zen エクスプローラーでエンジンの下の TrackerDB ブランチを開くこともできます。TrackerDB がデータベースとして一覧に表示され、そのレプリケーション ノードに、データベースがアクティブであることを示す A という文字が表示されていることに注目してください。
テンプレートをパートナー サイトにコピー
►テンプレートをパートナー サイトにコピーするには
DXdeploy が第 1 サイトで完了した後、DemoDB ディレクトリを第 1 サイトの次のディレクトリから
C:\Program Files (x86)\Actian\Zen\Replication\Templates\TrackerDB
パートナー サイトの次のディレクトリへコピーします。
C:\Program Files (x86)\Actian\Zen\Replication
この例では、相対的な場所と絶対的な場所の両方にデータ ファイルを格納しています。ファイルをコピーする際、DataDirectory に指定した場所以外にあるファイルは絶対パスを含める必要があります。コピー場所の詳細については、
ファイルのコピーを参照してください。
メモ:DXdeploy 配置を使用する場合、テンプレートはデータベース ファイルのコピーから成ります。これらのファイルはすべて、C:\Program Files (x86)\Actian\Zen\Replication\Templates にあります。
パートナー サイトでの DXdeploy の実行
►パートナー サイトで DXdeploy を実行するには
1 パートナー サイトでコマンド プロンプトを開き、次のコマンドを実行します。
dxdeploy "C:\Program Files (x86)\Actian\Zen\Replication\DemoDB\CUST_2WAY.XML"
2 Enter キーを押します。
DXdeploy は特定の操作を完了すると画面に高レベルな状態メッセージを表示します。配置に成功した場合、以下のメッセージが表示されます。
•CreateDSN 操作を開始しています...
•Design 操作を開始しています...
•Activate 操作を開始しています...
デフォルトでは、DXdeploy からの詳細なメッセージは dxdeploy.log に書き込まれ、画面には表示されません。DXdeploy が完了すると、コマンド プロンプトが再度表示されます。DXdeploy ログ ファイルを調べて、DXdeploy が完了したときを判断することもできます。ログ ファイルの最後には、「すべての配置操作が正常に完了しました。」というメッセージが表示されます。
DXdeploy はパートナー サイトで実行されるとき、第 1 サイトとの初期レプリケーションを実行します。このレプリケーションは、第 1 サイト上と同じになるように、パートナー サイトにデータを置きます。
メモ:データベースのサイズや接続の帯域幅によって、初期レプリケーションに数分から数時間かかる場合があります。