データベースファイルの破損は、データベースサーバがデータベース内の破損部分にアクセスするまで判明しないことがあります。バックアップとリカバリのプランの一環として、Sybase Central の[データベース検証ウィザード] や、検証ユーティリティ (dbvalid) などのツールを使用して、データベースが有効であることを定期的に確認するようにしてください。データベースの検証は、バックアップの前後両方に実行してください。検証の実行には VALIDATE ANY OBJECT 権限が必要です。
検証のためにデータベースのバックアップコピーを起動するときは、-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 文を実行すると、トランザクションの処理中にはバックアップが開始されません。
検証を実行するには、検証するオブジェクトに対する排他的なアクセスが必要です。このことを考慮すれば、データベース上に他のアクティビティがない場合に、データベースの検証を行うのが最適です。
データベースファイル内のベーステーブルが破損している場合は、メディア障害として対処し、前のバックアップからリカバリしてください。インデックスが破損している場合は、インデックスなしでデータベースをアンロードして、再ロードします。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |