Backup Agent の使用
以下のトピックでは、Backup Agent の使用方法について説明します。
Continuous オペレーションの概要
Continuous オペレーションは Zen に含まれる MicroKernel の機能です。ファイルをテンポラリ状態にして、データベース ファイルが開いていて使用中でもデータ ファイルのバックアップができるようにする機能を提供します。
バックアップ中、開いているデータ ファイルは通常、バックアップから除外されます。これは、ファイルが開いていて使用中であるためです。Continuous オペレーションを有効にすると、オペレーションが MicroKernel を呼び出して、選択されたファイルを読み取り専用で開きます。これにより、バックアップ ユーティリティでは選択したファイルの静的イメージにアクセスしてバックアップを行うことが可能になります。データ ファイルが読み取り専用で開いたら、MicroKernel はそのファイルに対して行われたあらゆる変更をテンポラリ デルタ ファイルに記録します。これらのテンポラリ デルタ ファイルは、バックアップ処理中に生じた変更を完全網羅して、実行中のファイルのバージョンを保持します。
Continuous オペレーション モードによって作成されたテンポラリ デルタ ファイルは対応するデータ ファイルと同じ名前ですが、拡張子 ".^^^" を使用します。同じディレクトリに、ファイル名が同一で拡張子のみが異なるようなファイルを置かないでください。たとえば、データ ファイルに INVOICE.HDR および INVOICE.DET というような名前の付け方をしないでください。
同じ名前のファイルが複数ある場合は、1 つのファイルだけが Continuous オペレーション モードに置かれます。Continuous オペレーションから除外されたファイルについては、Backup Agent ログ ファイルに詳述されます。すべてのファイルを Continuous オペレーション モードに置くつもりならば、ログ ファイルを調べてから、同じ名前のファイルをそれぞれ別のディレクトリに配置するか、あるいはファイルの名前を変更することを検討し、Backup Agent が目的どおり動作できるようにしてください。
バックアップが完了した後、Continuous オペレーション モードからデータ ファイルを削除する必要があります。その時点で、デルタ ファイルに格納されている変更内容がデータ ファイルにロール インされます。MicroKernel はすべての変更をデータ ファイルにロール インすると、直ちにデルタ ファイルを削除します。
Continuous オペレーションの開始
Continuous オペレーション モードの開始は、アクセス中のファイルの種類に応じて、Zen の butil または Maintenance ユーティリティを使用して操作します。Maintenance ユーティリティは butil の対話型バージョンで、ファイル パスを要求します。
Continuous オペレーションの終了
Continuous オペレーション モードの終了も、アクセス中のファイルの種類に応じて、Zen の butil または Maintenance ユーティリティを使用して操作します。Continuous オペレーションの開始に使用したユーティリティと同じユーティリティを使用して Continuous オペレーションを終了します。
『Advanced Operations Guide』には、Zen で提供される Continuous オペレーションについての詳細な情報が記載されています。
Backup Agent を使用する理由
Zen データベースをバックアップするための Continuous オペレーションを開始および終了するユーティリティが既にあっても、Backup Agent を使用するのはなぜでしょうか。それは、Backup Agent が Continuous オペレーションをさらに一歩進んだものとするからです。Backup Agent は「インテリジェント Continuous オペレーション管理」という機能を実装します。
この「インテリジェント Continuous オペレーション管理」では、システム管理者がバックアップするファイルのリストを提供し管理しなくても、エージェントによって自動的にファイルが Continuous オペレーション モードに置かれます。このファイル管理により、現状にそぐわなくなることが多い butil -startbu スクリプトが必要でなくなります。また、バックアップ セッション中にユーザーによって開かれていないファイルを Continuous オペレーションに入れることもなくなります。Backup Agent は、実際にアクセスされていて、Continuous オペレーションに入れる必要のあるファイルのみを処理します。これによって、増分または差分バックアップの処理中にバックアップされるデータ量を大幅に減らすことができます。
Backup Agent を使用するもう 1 つの主な理由は、市販されているほぼすべての一般的なバックアップ ソフトウェア製品へ簡単に組み込めることです。
次のセクションでは、データ バックアップを取り巻く問題および Backup Agent を使用する場合にあらかじめ知っておくべき注意について説明します。
Backup Agent 使用前の注意
このトピックでは、Backup Agent を使用する前に知っておく必要がある注意や考慮点を挙げます。
アーカイブ ロギング
Zen でアーカイブ ロギングを有効にしている場合は、Backup Agentを使用する前に無効にしておく必要があります。アーカイブ ロギングが有効になっているかどうかがわからない場合は、Zen Control Center の設定によって調べることができます。
アーカイブ ロギングが無効であることを調べるには
1. [スタート]メニューまたはスタート画面から[Control Center およびドキュメント]にアクセスします。
2. ZenCC の[ようこそ]タブで、[ローカル エンジンの構成]をクリックします。
3. サーバーのプロパティ ツリーで[データ整合性]をクリックします。
右側のペインにデータ整合性の設定が表示されます。
デフォルトでは[選択ファイルのアーカイブ ロギング]オプションは選択されないため、無効になっています。
4. [選択ファイルのアーカイブ ロギング]のチェック ボックスがオンになっている場合はオフにし、[適用]をクリックした後[OK]をクリックします。
注意! 設定の変更は、Zen データベース エンジンが再起動されるまでは適用されません。
テンポラリ ファイル
MicroKernel はテンポラリ ファイルをロックします。その結果、Backup Agent はテンポラリ ファイルに対し Continuous オペレーションを適用することはできません。
メモ: テンポラリ ファイルに対して Continuous オペレーションを適用しようとすると、ステータス コード 85 の「ファイルはロックされています。」というエラーになります。
読み取り専用ディレクトリのファイル
ファイルが読み取り専用ディレクトリにあるという状況では、MicroKernel はデルタ ファイルを作成することができず、Backup Agent はファイルを Continuous オペレーションに入れることができません。
メモ: 読み取り専用ディレクトリにあるファイルに対して Continuous オペレーションを適用しようとすると、ステータス コード 94 の「アプリケーションでアクセス権のエラーが発生しました。」というエラーになります。
読み取り専用ファイル
読み取り専用ファイルに書き込み操作でアクセスすることはできませんが、Backup Agent はこれらのファイルを Continuous オペレーションに入れることができます。読み取り専用ファイルには更新処理は行われないので、MicroKernel はデルタ ファイルを作成しません。MicroKernel はすべての書き込み操作に対しエラーを返すため、書き込み操作は実施されないのです。デルタ ファイルが作成されないため、Backup Agent が管理するものは何も残されません。
Backup Agent のリモート操作
業務上、Backup Agent をリモート マシンから開始および停止するよう指示されている場合は、市販の一般的なリモート アクセス アプリケーションを使用してこれを行うことができます。たとえば、Telnet セッションを使用して Backup Agent を起動します。
その他のユーティリティの使用
BUTIL または Maintenance ユーティリティを使用して Continuous オペレーションを開始することはお勧めできません。別のユーティリティによって Continuous オペレーションにファイルが置かれた場合、Backup Agent はそのファイルを管理できません。その場合には、ファイルを Continuous オペレーションに入れたときと同じユーティリティを使って、Continuous オペレーションからファイルを抜き出すということを覚えておいてください。
パフォーマンスの問題
潜在的なパフォーマンスの低下を避けるため、バックアップ処理は常に就業時間外やデータ アクセスの少ない時間帯にスケジュールするようにしてください。また、バックアップが完了したらエージェントを確実に停止することが重要です。Backup Agent の実行中、以下の状況がデータベース アプリケーションのパフォーマンスに影響を与えます。
• デルタ ファイルのサイズが 2 GB を超えると、データベースの読み書きが遅くなり潜在的なパフォーマンスの問題が発生します。これは、データ アクセスが多いときに起こるので、バックアップを就業時間外やデータ アクセスの少ない時間に行うことによって回避できます。
メモ: デルタ ファイルが 4 GB の最大サイズ制限まで大きくなると、ステータス コード 132「ファイルがサイズの制限に達しました。」が返されます。
• Backup Agent を有効にすると、保留中のすべてのトランザクションの終了(コミット/ロールバック)がブロックされるので、潜在的にパフォーマンスに影響を与える可能性があります。影響の度合いはそのトランザクションに関わるファイル数によって異なります。
• Backup Agent を無効にすると、データ ファイルに記録された変更をデータベース ファイルにロール インさせることが必要となります。この処理がパフォーマンスに与える影響は、発生した変更の量に応じた処理時間によって異なります。
注意! バックアップ終了後に Backup Agent を有効なままにしておくと、大きなデルタ ファイルが作成されてパフォーマンスを低下させるだけでなく、データの整合性を危うくします。
リカバリ スタートアップ タイムアウト
Backup Agent を使用して Continuous オペレーションを適用したファイルがあり、サーバーが再起動された場合、変更をロール インする時間には 30 分の制限があります。タイムアウトの 30 分に到達すると、Backup Agent はタイムアウトに達したファイルをログに記録します。元のファイルに対してデータベース変更が行われた場合、まだアクティブになっているデルタ ファイルのサイズは増加し続けます。デルタ ファイルのサイズは、変更が元のファイルにロール インされるまで増加し続けます。この状況を排除するには、元のファイルを Function Executor または Zen Control Center を使って開き、デルタ ファイルをロール インします。
メモ: ファイルのロール イン中にタイムアウトに達した場合、その時点までの変更はすべて失われず保持されます。まだロール インされていない変更は、次回ファイルが開かれたときにロール インされます。
システム障害
Backup Agent を使用してバックアップしている最中にハード ドライブの故障が起こった場合は、アーカイブ ロギングや Maintenance ユーティリティのロール フォワード コマンドを使用しても、前回のバックアップ以降に生じたデルタ ファイルへの変更を復元することはできません。ハード ドライブが故障した場合は、前回のバックアップ以降にデータに加えられた変更はすべて失われます。
Backup Agent によってファイルが Continuous オペレーション モードにある間にサーバーが停止した場合、Backup Agent は次回サーバーが再起動されたときに既存のデルタ ファイルを検出し、変更をロール インします。
Continuous オペレーションの対象ファイルを指定する
選択対象ファイル リスト(ifl.txt)にファイルを指定することにより、Backup Agent が Continuous オペレーションの対象とするファイルを指定することができます。反対に、除外対象ファイル リスト(efl.txt)を使用すれば、Continuous オペレーションの対象から除外するファイルを指定できます。
Backup Agent のインストールが正常に完了すると、選択対象ファイル(ifl.txt)および除外対象ファイル(efl.txt)は以下の場所に配置されます。
• <Zen アプリケーション データ ディレクトリ>\PBA\Data
メモ: Backup Agent ファイルは、Program Files ディレクトリではなく、Zen のアプリケーション データ ディレクトリにインストールされます。Zen のインストール場所については、『Getting Started with Zen』を参照してください。
あるファイルを butil または Maintenance ユーティリティを使用して Continuous オペレーションに適用した場合、そのファイルは、efl.txt に挙げられているものであっても除外されません。
メモ: Backup Agent および Zen が実行されているとき、選択対象または除外対象のファイルはロックされるため、これらのファイルを変更することはできません。Zen エンジンおよび Backup Agent を停止してから、これらのファイルに変更を加えてください。変更は、Zen エンジンおよび Backup Agent の再起動後に有効になります。
選択対象ファイル
選択対象ファイル リスト(ifl.txt)のファイルは、セミコロンで区切って列記するか、各行に 1 ファイルずつ指定します。ファイルの選択にワイルドカード パターンを使用することもできます。ファイル名には絶対パス名を含んでいる必要があります。
Continuous オペレーションの対象としてファイルを選択するには
1. 以下の場所へ移動します。
• <Zen アプリケーション データ ディレクトリ>\PBA\Data
2. ifl.txt ファイルを開きます。
3. ファイル名またはファイルの種類をセミコロンで区切って同じ行に列記するように入力するか、行を区切って入力します。
以下は選択対象ファイル リストのエントリの例です。
C:\ProgramData\Actian\Zen\Demodata\tuition.mkd;
(demodata ディレクトリにある tuition.mkd ファイルを含める)
/usr/local/actianzen/data/demodata/*.ddf
(demodata ディレクトリにある、DDF 拡張子を持つすべてのファイルを含める)
samples\f???.ddf;
(samples ディレクトリにある、ファイル名が "f" で始まる 4 文字で、DDF 拡張子を持つすべてのファイルを含める)
C:\ProgramData\Actian\Zen\Demodata\bill*.*
(demodata ディレクトリにある、名前が "bill" で始まるすべてのファイルを含める)
4. ifl.txt ファイルを保存して、閉じます。
5. Zen データベース エンジンを再起動して、Backup Agent をオンにします。
選択対象ファイル リスト内のファイルはすべて、それらがデータベース エンジンによって現在開かれているかどうかにかかわらず、Continuous オペレーションに置かれていることに注目してください。
メモ: 選択対象リストと除外対象リストに同じファイル名がある場合は、除外対象ファイルが優先されます。除外対象ファイル リストの記載に従って、該当ファイルは Continuous オペレーションの対象から除外されます。
6. ログ ファイルを確認します。
対象として選択したことを示す次のメッセージが表示されます。
Backup Agent は次のファイルを対象として含みました:
<ファイル名>
<ファイル名>
除外対象ファイル
除外対象ファイル リスト(efl.txt)のファイルは、セミコロンで区切って列記するか、各行に 1 ファイルずつ指定します。ファイルの除外にワイルドカード パターンを使用することもできます。
Continuous オペレーションの対象からファイルを除外するには
1. 以下の場所へ移動します。
• <Zen インストール ディレクトリ>\PBA\Data
2. efl.txt ファイルを開きます。
3. ファイル名またはファイルの種類をセミコロンで区切って同じ行に列記するように入力するか、行を区切って入力します。
以下は除外対象ファイル リストのエントリの例です。
demodata/tuition.mkd;
(demodata ディレクトリにある tuition.mkd ファイルを除外)
/usr/local/actianzen/data/demodata/*.ddf
(demdata ディレクトリにある、.ddf 拡張子を持つすべてのファイルを除外)
samples\f???.ddf;
(samples ディレクトリにある、ファイル名が "f" で始まる 4 文字で、DDF 拡張子を持つすべてのファイルを除外)
C:\ProgramData\Actian\Zen\Demodata\bill*.*
(demodata ディレクトリにある、名前が "bill" で始まるすべてのファイルを除外)
4. efl.txt ファイルへの変更を保存して、ファイルを閉じます。
5. Zen データベース エンジンを再起動して、Backup Agent をオンにします。
6. Backup Agent の実行中に、除外対象ファイル リストにあるいずれかのファイルを開きます。
ファイルが開いていても、そのファイルは対象除外ファイル リストに挙げられているため、Continious オペレーションの対象とはなりません。
7. ログ ファイルを確認します。
除外したことを示す次のメッセージが表示されます。
Backup Agent は次のファイルを除外しました
<ファイル名>
<ファイル名>
Backup Agent コマンド ライン インターフェイスの使用法
Backup Agent コマンド ライン ユーティリティ pvbackup.exe は、Continuous オペレーション機能をお使いのバックアップ ソフトウェア アプリケーションに自動的に組み込む完璧なソリューションです。このユーティリティをバックアップ ソフトウェア アプリケーションと共に実装する方法を説明する前に、このユーティリティ自体の使用法を見てみましょう。
Backup Agent(CLI)を有効にする
Backup Agent CLI を有効にするには
1. コマンド プロンプトで、以下のコマンドのいずれかを入力して Enter キーを押します。
pvbackup -on (32 ビット)
pvbackup64 -on (64 ビット)
エージェントの有効化に成功したことを示す、次のようなメッセージが表示されます。
Backup Agent は現在オンになっています。
Backup Agent(CLI)を無効にする
Backup Agent CLI を無効にするには
1. コマンド プロンプトで、以下のコマンドのいずれかを入力して Enter キーを押します。
pvbackup -off (32 ビット)
pvbackup64 -off (64 ビット)
エージェントの無効化に成功したことを示す、次のようなメッセージが表示されます。
Backup Agent は現在オフになっています。
Backup Agent(CLI)の状態を要求する
Backup Agent CLI の現在の状態を要求するには
1. コマンド プロンプトで、以下のコマンドのいずれかを入力して Enter キーを押します。
pvbackup -status (32 ビット)
pvbackup64 -status (64 ビット)
エージェントの状態を示す次のようなメッセージが表示されます。
Backup Agent は現在オンになっています。
Backup Agent(CLI)ヘルプの表示
Backup Agent CLI のヘルプを表示するには
1. コマンド プロンプトで、以下のコマンドのいずれかを入力して Enter キーを押します。
pvbackup -? (32 ビット)
pvbackup -h (32 ビット)
pvbackup64 -? (64 ビット)
pvbackup64 -h (64 ビット)
コマンド ライン ユーティリティの使用法のヘルプが表示されます。
お使いのバックアップ ソフトウェアへの組み込み
Backup Agent は、一般的なバックアップ ソフトウェア アプリケーションに簡単に組み込むことができます。バックアップ アプリケーションによっては、スケジュールされたバックアップの前に特定の操作やスクリプトを実行するように設定できるものがあります。この機能により、バックアップ完了後に特定の操作やスクリプトを実行するようソフトウェアに組み込む柔軟性も得られます。
たとえば、バックアップ アプリケーションによっては事前または事後のコマンドを設定できるものがあります。したがって、事前コマンドを設定する場合は、お使いのバックアップ ソフトウェア固有の要件に応じて、以下のように入力することができます。
<ドライブ>:\<データの絶対パス>\pvbackup -on
また、事後コマンドを指定してバックアップ完了後に実行することもできます。これはお使いのバックアップ ソフトウェアの要件に応じて、以下のようなコマンドになります。
<ドライブ>:\<データの絶対パス>\pvbackup -off
お使いのバックアップ ソフトウェアによっては、絶対パス名を入力する必要がない場合もあります。お使いのバックアップ ソフトウェア固有の要件については、付属のユーザー マニュアルやオンライン ヘルプを参照してください。
Backup Agent グラフィカル ユーザー インターフェイスの使用法
Backup Agent の GUI ユーティリティは、バックアップ ファイルを管理するためのワンタッチ式ソリューションとして設計されています。このユーティリティは、アドホックなバックアップ処理を開始するための最初の手段となる可能性があります。
Backup Agent(GUI)ユーティリティの開始
オペレーティング システムの[スタート]メニューまたはスタート画面から、あるいは ZenCC から Backup Agent GUI を開きます。
Backup Agent GUI をオペレーティング システムから開始するには
1. オペレーティング システムに応じて、[スタート]メニューまたはスタート画面から Backup Agent にアクセスして、Backup Agent ダイアログを表示します。
Zen Control Center から Backup Agent GUI を起動するには
1. Zen Control Center で[ツール]>[Backup Agent]をクリックします。
[Backup Agent]ダイアログが表示されます。
Backup Agent(GUI)を有効にする
Backup Agent GUI を有効にするには
1. Backup Agent の初期ダイアログから、[開始]をクリックしてユーティリティを有効化し、Zen データベースのライブ バックアップを開始および管理します。
Backup Agent を有効にすると、ユーティリティは次のような表示になります。
Backup Agent は有効で、Zen データベースのライブ バックアップを管理しています。
Backup Agent(GUI)を無効にする
Backup Agent GUI を無効にするには
1. Backup Agent ウィンドウで[停止]をクリックすると、ユーティリティは無効になり、通常の操作に戻ります。
初めて[停止]をクリックした際には、ウィンドウの下部にあるステータス バーに次のようなメッセージが表示されます。
Continuous オペレーションを停止し、変更をロール インしています...
2. Backup Agent を無効にすると、ユーティリティは最初の表示に戻ります。
Backup Agent は無効で通常の操作に戻りました。
Backup Agent(GUI)ログ ファイルを表示する
Backup Agent GUI ログ ファイルを表示するには
1. [ログの表示]をクリックして、利用可能な Backup Agent ログ ファイルを表示します。
[Backup Agent Log Viewer ]ダイアログが表示されます。
2. [閉じる]をクリックすると、[Backup Agent Log Viewer]ウィンドウが終了します。
[ログの表示]をクリックすると、指定したログファイルを表示することができます。
Backup Agent(GUI)オンライン ヘルプの表示
Backup Agent GUI のヘルプを表示するには
Backup Agent のダイアログで、ダイアログの右上隅にある疑問符の付いたヘルプ ボタンをクリックします。
Backup Agent(GUI)ユーティリティの終了
Backup Agent GUI ユーティリティを閉じるには
1. ダイアログの左上隅の Backup Agent プログラム アイコンをクリックし、メニューから[閉じる]を選択します。
バックアップ セッションがアクティブな間やエージェントを停止する前にユーティリティを終了しようとすると、以下のメッセージが表示されます。
このメッセージはエージェントが現在オンであることを示しています。
システム再起動中または Backup Agent が変更をロール イン中にユーティリティを終了しようとすると、以下のメッセージが表示されます。
2. ユーティリティを終了する場合は[はい]をクリックします。インターフェイスに戻ってエージェントを終了する場合は、[いいえ]をクリックします。
ヒント: このユーティリティのインターフェイスを閉じてもエージェントは停止されません。
エージェントを停止しないでこのインターフェイスを閉じた場合、誤ってエージェントをオンの状態のままにしておくことになり、その結果非常に大きなサイズのデルタ ファイルが作成され、現在のバックアップの整合性が保証されなくなる可能性があります。
現在、デルタ ファイルの最大サイズは 4 GB ですが、デルタ ファイルのサイズが 2 GB 以上になると著しいパフォーマンス低下が起こるかもしれません。デルタ ファイルのサイズが最大限の 4 GB に達すると、ステータス コード 132「ファイルがサイズの制限に達しました。」が返されます。
注意! バックアップ処理が完了したらエージェントを停止してください。エージェントを停止しないと非常に大きなデルタ ファイルが作成され、システムのパフォーマンスやデータ整合性に悪影響を与えます。