Zen v15 では、パフォーマンスを改善する複数の機能が新しく導入されました。
その追加機能の一つ「ファイルを閉じるまでの待ち時間」の設定機能は、Btrieve の Close オペレーションを受信した後、ファイルを短時間開いたままにすることで、同じデータファイルのセットが頻繁に開かれたり閉じられたりする環境でのパフォーマンスを向上させます。また、Zen v15 ではデータファイルの整合性を確保するために、Zen のエンジンがファイルを共有不可モードで開くように動作が変更されました。
これらの機能は Zen(Btrieve または SQL ベース)アクセスメソッドを経由してデータファイルを開いたり、読み書きするアプリケーションに機能的な影響を与えることはありません。また、Continuous オペレーション、Windows の Zen Server 製品に含まれている Backup Agent や VSS Writer によるデータ バックアップ機能に対しても完全に互換性があります。
ただし、この新機能を使用すると、Zen の v14 以前のバージョンでは見られないエラーが発生する可能性がある 2 つのケースがあります。 ケースごとに回避方法をお知らせします。
これらの回避方法を使えば、ファイルが使用中である事を示すエラーは発生しません。逆に、本回避方法を使用せずに、Zen エンジンで開いているファイルを OS 経由でコピーしたり、アクセスしたりしないでください。ファイルの整合性や完全性は保証できず、ファイルが破損する危険性があります。
【ケース1】
Zen のエンジンが Btrieve データファイルを閉じた直後に OS API 経由で直接ファイルをコピー、削除、または名前変更するプロセスがある場合
【ケース2】
Zen エンジンが開いているファイルに対して OS 経由でファイルをアクセスする場合(例えばバックアップのコピーのため)
【ケース1】
Zen のエンジンが Btrieve データファイルを閉じた直後に OS API 経由で直接ファイルをコピー、削除、または名前変更するプロセスがある場合
Zen のデータファイルを閉じた直後に OS API 経由で直接ファイルをコピー、削除、または名前変更するプロセスがある場合、ファイルを閉じるまでの待ち時間(デフォルトは 50ms)の間は、ファイルが使用中であるため、このプロセスはオープン時にエラーで失敗する可能性があります。
その場合、プロセスがバッチファイルまたはスクリプトを介して実行される場合は、コマンド [BUTIL -CLOSE] を追加することによって、ファイルがすぐに閉じられるため、今回のエラーを回避することができます。
これらのプロセスがアプリケーションで実行されている場合は、Btrieve の Create オペレーションの削除/名前変更オプションを使用するようにアプリケーションを変更できます。詳細はこちらを参照してください。
アプリケーションまたは現在使用中のプロセスを変更できない場合は、次のいずれかの設定で、このパフォーマンス用機能を無効にできます。
(エンジンの再起動は不要です)
■ [ファイルを閉じる遅延時間] を 0 に設定する方法(いずれか)
a)Zen Control Center を使用する方法
Zen Control Center のエンジンの構成の [パフォーマンスチューニング] セクションで [ファイルを閉じる遅延時間] を 0 に設定する
b)コマンド ライン ツール bcfg を使用する方法
・Zen v15 Server 製品の場合:
bcfg 212 0
をコマンドプロンプトで実行します。
・Zen v15 Workgroup 製品の場合:
bcfg 211 0
をコマンドプロンプトで実行します。
【ケース2】
Zen エンジンが開いているファイルに対して OS 経由でファイルをアクセスする場合(例えばバックアップのコピーのため)
Zen エンジンが開いているファイルをコピーしようとして、ファイルが使用中である事を示すエラーが発生する場合には、バックアップの方法を再検討してください。
OS レベルのコピーまたは同様の機能を使用して Zen v15 データファイルをバックアップする場合は、常に次のいずれかの方法を使用する必要があります:
a)バックアップするファイルごとに Continuous オペレーションを使用する方法
詳細はこちらを参照してください。
b)Zen Windows Server 製品をお持ちの場合は、Backup Agent を使用して Continuous オペレーションを簡単に設定・管理する、または Zen VSS Writer を使用する方法
詳細はこちらを参照してください。
c)すべての Zen アプリケーションが、バックアップ・プロセスの間、すべての Zen データ・ファイルを閉じたままにしておくこと
これを確実に行うには、Zen を使用するすべてのアプリケーションを終了し、バックアップ中は Zen エンジンを停止しておく事が最も推奨されます。