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 サーバ - データベース管理 » データベースの保守 » バックアップとデータ・リカバリ

 

バックアップの検証

データベース・ファイルの破損は、データベース・サーバがデータベース内の破損部分にアクセスするまで判明しないことがあります。バックアップとリカバリのプランの一環として、Sybase Central のデータベース検証ウィザードや、検証ユーティリティ (dbvalid) などのツールを使用して、データベースが有効であることを定期的に確認するようにしてください。データベースの検証は、バックアップの前後両方に実行してください。検証を実行するには、VALIDATE 権限が必要です。VALIDATE 権限を参照してください。

検証のためにデータベースのバックアップ・コピーを起動するときは、-ds データベース・オプションを使用して、DB 領域ファイルとトランザクション・ログのロケーションを指定できます。そうすることで、元のデータベースを稼働させたままで、データベースのバックアップ・コピーを元のデータベースと同じコンピュータ上で起動できます。-ds データベース・オプションを参照してください。

オプションの指定によって、チェックサム、インデックス・データの正当性、すべてのテーブル・ページがデータベース内のオブジェクトに属するかどうかを検証できます。データベースのエクスプレス検証 (-fx オプション) では、データ、連続したローの構造、外部キー関係は検証されません。

警告

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

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

バックアップが作成されているときに実行中のトランザクションがなかったという確信が持てる場合は、データベース・サーバによるリカバリの手順を実行する必要はありません。代わりに、読み込み専用のデータベース・オプションを使用して、バックアップしたデータベースに妥当性検査を実行できます。-r サーバ・オプションを参照してください。

ヒント

WAIT BEFORE START 句を使用して BACKUP 文を実行すると、トランザクションの処理中にはバックアップが開始されません。

検証を実行するには、検証するオブジェクトに対する排他的なアクセスが必要です。このことを考慮すれば、データベース上に他のアクティビティがない場合に、データベースの検証を行うのが最適です。

データベース・ファイル内のベース・テーブルが破損している場合は、メディア障害として対処し、前のバックアップからリカバリしてください。インデックスが破損している場合は、インデックスなしでデータベースをアンロードして、再ロードします。

参照