Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの管理 » データベース管理ユーティリティ

 

バックアップ・ユーティリティ (dbbackup)

実行中のデータベースのデータベース・ファイルやトランザクション・ログについて、クライアント側またはサーバ側のバックアップを作成します。

構文
dbbackup [ options ] target-directory
オプション 説明
@data

指定された環境変数または設定ファイルからオプションを読み込みます。設定ファイルの使用を参照してください。

設定ファイル内のパスワードなどの情報を保護する場合は、ファイル難読化ユーティリティを使用して、設定ファイルの内容を難読化できます。ファイル難読化ユーティリティ (dbfhide)を参照してください。

-b block-size データベース・サーバから dbbackup へのページ転送に使用するブロックの最大サイズ (ページ数) を指定します。dbbackup ユーティリティは、指定された数のページを割り付けようとします。割り付けが失敗した場合は、この値を半分にして再試行し、成功するまでこれを繰り返します。デフォルトのサイズは 128 です。
-c "keyword=value; ..."

接続パラメータを指定します。データベースに接続するためには、DBA 権限または REMOTE DBA 権限 (SQL Remote) のあるユーザ ID を使用する必要があります。接続パラメータを参照してください。

たとえば、次のコマンドは、DBA ユーザとしてデータベース・サーバ sample_server に接続し、このサーバで実行中のサンプル・データベースを SQLAnybackup ディレクトリにバックアップします。

dbbackup -c "ENG=sample_server;DBN=demo;UID=DBA;PWD=sql" SQLAnybackup
-d トランザクション・ログ・ファイルがあっても、それをバックアップしないで、メイン・データベース・ファイルだけをバックアップします。
-k checkpoint-log-copy-option

バックアップ先のディレクトリに書き込む前に dbbackup でデータベース・ファイルに対してどのような処理を実行するかを指定します。バックアップ中に更新前イメージを適用するか、チェックポイント・ログをバックアップとしてコピーするかを選択します。どちらを選択するかによって、パフォーマンスに違いが生じます。-s オプションを指定してサーバ側でバックアップを実行する場合、-k のデフォルト設定は auto です。それ以外の場合は、copy がデフォルト設定となります。

auto   データベース・サーバはバックアップ・ディレクトリがあるボリュームの空きディスク領域サイズをチェックします。バックアップを開始する時点でデータベース・サイズの 2 倍以上の空きディスク領域がある場合は、copy を指定した場合と同じ方法でバックアップが実行されます。それ以外の場合は、nocopy を指定した場合と同じ方法でバックアップが実行されます。この設定は、-s を指定した場合のみ使用できます。

copy   バックアップでは、変更されたページの更新前イメージを適用せずにデータベース・ファイルを読み込みます。チェックポイント・ログの全体とシステム DB 領域がバックアップ・ディレクトリにコピーされます。このデータベースを次に起動すると、データベースは自動的にバックアップ開始時のチェックポイントの状態にリカバリされます。

このオプションを使用すると、ページの更新前イメージをテンポラリ・ファイルに書き込む必要がないため、バックアップ・パフォーマンスが向上し、バックアップ中に動作中の他の接続との内部サーバ競合が減少します。ただし、データベース・ファイルのバックアップ・コピーにはチェックポイント・ログが含まれ、このログにはバックアップの開始以降に変更されたページの更新前イメージが保存されているため、バックアップ・コピーのサイズがバックアップを開始した時点のデータベース・ファイルより大きくなることがあります。copy オプションは、バックアップ先ディレクトリのディスク領域が十分である場合に使用してください。

nocopy   チェックポイント・ログがバックアップとしてコピーされません。この場合、変更されたページの更新前イメージはテンポラリ・ファイルに保存され、バックアップの実行中はバックアップに適用されます。データベース・ファイルのバックアップ・コピーは、バックアップを開始した時点のデータベースと同じサイズになります。バックアップ・コピーは、チェックポイント・ログが含まれていないため、実際には多少小さくなることがあります。このオプションを指定すると、データベース・ファイルのバックアップは小さくなりますが、バックアップの速度が遅くなり、データベース・サーバで実行される他の操作のパフォーマンスが低下することがあります。バックアップ先のドライブの空き領域が少ない場合に、このオプションが役に立ちます。

recover   copy オプションを指定した場合と同じようにチェックポイント・ログがコピーされますが、このチェックポイント・ログはバックアップの完了時にデータベースに適用されます。したがって、データベース・ファイルのバックアップは、バックアップ操作を開始した時点と同じ状態 (および同じサイズ) となります。このオプションが役に立つのは、バックアップ・ドライブの空き領域が少ない場合です (チェックポイント・ログをバックアップする copy オプションの場合と同じ量の空き領域が必要ですが、バックアップ・ファイルのサイズは copy オプションを指定した場合より小さくなります)。この設定は、-s を指定した場合のみ使用できます。

-l filename

サーバがクラッシュした場合に第 2 のシステムをすばやく起動できるようにします。サーバが実行されている間、ライブ・バックアップは停止しないで実行を続けます。ライブ・バックアップは、プライマリ・サーバが使用できなくなるまで実行されます。クラッシュが発生した時点でライブ・バックアップは停止しますが、バックアップされたログ・ファイルはそのまま残り、第 2 のシステムを即座に起動するために使用できます。ライブ・バックアップとトランザクション・ログ・ミラーの違いライブ・バックアップの作成を参照してください。

-l を指定する場合は、-s を使用してサーバ上にバックアップを作成できません。

-n

バックアップ・トランザクション・ログ・ファイルの命名規則を yymmddxx.log に変更します。xxAA から ZZ までの連続した英字を表し、yymmdd は現在の年月日を表します。このオプションは -r とともに使用します。

トランザクション・ログ・ファイルのバックアップ・コピーは、yymmddxx.log の命名規則に基づいて、コマンドで指定したディレクトリに保存されます。これにより、トランザクション・ログ・ファイルの複数のバージョンのバックアップを、同じバックアップ・ディレクトリに保存することができます。

また、-x オプションと -n オプションの両方を使用して、ログ・コピーの名前を変更することもできます。例を示します。

dbbackup -c "UID=DBA;PWD=sql" -x -n mybackupdir
-o filename 指定したファイルに、出力メッセージを書き込みます。
-q 出力メッセージを表示しません。このオプションは、このユーティリティをコマンド・プロンプトから実行する場合のみ使用できます。
-r

トランザクション・ログの名前を変更して新しいログを開始します。このオプションを使用すると、チェックポイントが発生し、次の 3 つの手順が発生します。

  1. 現在作業しているトランザクション・ログ・ファイルのコピーが作成され、コマンドで指定したディレクトリに保存されます。

  2. 現在のトランザクション・ログは現在のディレクトリ内に残りますが、yymmddxx.log のフォーマットに従って名前が変更されます。xxAA から ZZ までの連続した英字を表し、yymmdd は現在の年月日を表します。このファイルは、現在のトランザクション・ログではなくなります。

  3. トランザクションを含まない新しいトランザクション・ログ・ファイルが作成されます。このファイルに、直前まで現在のトランザクション・ログとして使用されていたファイルの名前が付けられ、データベース・サーバによって現在のトランザクション・ログとして使用されます。

データベース・ミラーリングを使用している場合は、このオプションを使用しないでください。データベース・ミラーリングとトランザクション・ログ・ファイルを参照してください。

-s BACKUP DATABASE 文を使用して、サーバ上にイメージのバックアップを作成します。-s オプションを指定する場合、-l オプション (トランザクション・ログのライブ・バックアップを作成) は使用できません。指定されたディレクトリは、サーバの現在のディレクトリに対する相対パスなので、完全パス名を指定することをおすすめします。さらに、サーバには指定されたディレクトリへの書き込みパーミッションが必要です。-s を指定すると、バックアップ・ユーティリティは進行状況のメッセージを表示せず、既存のファイルを上書きするときにプロンプトを表示しません。既存のファイルを上書きするときにプロンプトを表示させる場合は、-s または -y を指定しないでください。-k リカバリ・オプションを指定する場合は、-s オプションも必ず指定してください。
-t トランザクション・ログをデータベース・ファイルの最新のバックアップ・コピーに対して適用できるので、インクリメンタル・バックアップとして使用できるバックアップを作成します。
-x 既存のトランザクション・ログをバックアップし、元のログを削除して、新しいトランザクション・ログを開始します。データベース・ミラーリングを使用している場合は、このオプションを使用しないでください。データベース・ミラーリングとトランザクション・ログ・ファイルを参照してください。
警告

このオプションを使用すると、データベースがメディア障害からリカバリできなくなる可能性があります。このオプションは、データの損失を許容できる場合にのみ使用してください。

-xo 現在のトランザクション・ログを削除して、新しいトランザクション・ログを開始します。この操作では、バックアップは実行されません。この操作の目的は、レプリケーション環境以外の環境でディスク領域を解放することです。データベース・ミラーリングを使用している場合は、このオプションを使用しないでください。データベース・ミラーリングとトランザクション・ログ・ファイルを参照してください。
-y 確認メッセージを表示することなく、バックアップ・ディレクトリを作成するか、ディレクトリ内の既存のバックアップ・ファイルを置き換えます。既存のファイルを上書きするときにプロンプトを表示させる場合は、-s または -y を指定しないでください。
target-directory バックアップ・ファイルのコピー先ディレクトリを指定します。このディレクトリが存在しない場合は作成されます。ただし、親ディレクトリが存在していなければなりません。デフォルトでは、バックアップ・ユーティリティは、データベース・ファイルのクライアント側のバックアップを作成します。-s オプションを指定すると、BACKUP DATABASE 文を使用してサーバ上にバックアップを作成できます。
備考

バックアップ・ユーティリティを使うと、すべてのバックアップ・コピーを単一データベースに作成することができます。単純なデータベースは、メイン・データベース・ファイルとトランザクション・ログの 2 つのファイルからなります。より複雑なデータベースは、複数のファイルにテーブルを格納できます。各ファイルは個別の DB 領域となります。すべてのバックアップ・データベース・ファイル名はデータベース・ファイル名と同じです。バックアップ・ユーティリティで作成したイメージのバックアップは、バックアップされた各ファイルの別ファイルで構成されます。

アーカイブ・バックアップ (データベース・ファイルとトランザクション・ログを含む 1 つのファイル) 作成の詳細については、アーカイブ・バックアップを参照してください。

実行中のデータベースに対してバックアップ・ユーティリティを使用するのは、データベースが実行されていないときにデータベース・ファイルをコピーするのと同じです。バックアップ・ユーティリティを使用すると、他のアプリケーションやユーザーがデータベースを使用しているときでも、そのデータベースをバックアップできます。

-d または -t のいずれのオプションも使用されていない場合は、すべてのデータベース・ファイルがバックアップされます。

デフォルトでは、バックアップ・ユーティリティは、データベース・ファイルのクライアント側のバックアップを作成します。-s オプションを指定すると、BACKUP DATABASE 文を使用してサーバ上にバックアップを作成できます。

サーバ側でのバックアップ実行の詳細については、BACKUP 文を参照してください。

警告

データベースとトランザクション・ログのバックアップ・コピーには、どのような変更でも加えるべきではありません。バックアップ中に処理中のトランザクションがなかった場合、または BACKUP DATABASE WITH CHECKPOINT LOG RECOVER か WITH CHECKPOINT LOG NO COPY を指定した場合は、読み込み専用モードを使用するか、バックアップ・データベースのコピーを検証することによって、バックアップ・データベースの妥当性をチェックできます。

一方、トランザクションの処理中だった場合、または BACKUP DATABASE WITH CHECKPOINT LOG COPY を指定した場合は、検証の開始時にデータベース・サーバがデータベースのリカバリを実行する必要が生じます。リカバリを実行するとバックアップ・コピーに変更が加えられますが、これは望ましいことではありません。

dbbackup のほかに、次の方法を使用して、バックアップ・ユーティリティにアクセスできます。

  • Sybase Central のバックアップ・イメージ作成ウィザードを使用する。イメージ・バックアップを参照してください。

  • Interactive SQL の BACKUP DATABASE 文を使用する。BACKUP 文を参照してください。

推奨されるバックアップ手順の詳細については、バックアップとデータ・リカバリを参照してください。

終了コードは、0 (成功) または 0 以外の値 (失敗) です。

終了コードの詳細については、ソフトウェア・コンポーネントの終了コードを参照してください。