以下の手順により、WindowsとJavaの両方のプラットホームにおいて、Blackfish SQL のデータベースをバックアップすることができます。
新たにバックアップ用のデータベースを作成するには、接続時のcreateプロパティをtrueに設定してデータベースをオープンしてください。
バックアップ元のデータベースに他のユーザーが接続している状態でバックアップを行いたい場合には、「読み取り専用のトランザクション」を使用してバックアップ元のデータベースに接続してください。ちなみに、Blackfish SQL のデータベースに接続する際の「読み取り専用」の考え方には2種類あります。readOnlyプロパティを使った接続は、すべての接続に対して、データベースへの書き込みを一切禁止します。readOnlyTxプロパティは、readOnlyTxプロパティをtrueに設定した接続に対して、データベースの「トランザクションとして一貫性のある読み取り専用ビュー」を提供します。書き込みを行う接続がある状況でバックアップを行うには、このreadOnlyTxプロパティを使用すべきです。例えば以下のように設定します。
dbExpressの接続プロパティは、dbxconnections.ini で設定します。
ADO.NETの接続プロパティは、接続文字列で設定します。
JDBCの接続プロパティは、DataSource実装クラスを使用するか、JDBCのURLに追加して設定します。
既存のユーザーを新しいデータベースにコピーするには、バックアップ元のデータベースに接続して、次のストアドプロシージャを実行します。
CALL DB_ADMIN.COPY_USERS('c:\backup\employee_copy.jds', 'sysdba', 'masterkey', false, true)
1番目のパラメータは、バックアップ先のデータベース名です。2番目と3番目は、バックアップ先のデータベースのユーザーとパスワードです。4番目のパラメータには、バックアップ元のデータベースが暗号化されている場合に、同じキーを使ってターゲットデータベースを暗号化するかどうかを指定します。5番目のパラメータは、ターゲットデータベースの既存のユーザーを置き換えるかどうかを指定します。
データベースの内容をバックアップ先のデータベースへコピーするには、バックアップ元のデータベースに接続して、次のようにします。
CALL DB_ADMIN.COPY_STREAMS('c:\backup\employee_copy.jds', 'sysdba', 'masterkey', true, false)
4番目のパラメータは、既存のテーブルを上書きするかどうかを指定します。5番目のパラメータは、エラーを無視するかどうかを指定します。
接続プロパティやDB_ADMINのメソッドは、以下からダウンロード可能な「Blackfish SQL 開発者ガイド」で解説されています。
http://cc.codegear.com/Item/25076
Connect with Us