データベースファイルの破損は、データベースサーバーがデータベース内の破損部分にアクセスするまで判明しないことがあります。Sybase Central のデータベース検証ウィザードや、検証ユーティリティ (dbvalid)、sa_validate システムプロシージャー、VALIDATE 文などのツールを使用して、データベースが有効であることを定期的に確認するようにしてください。検証を実行するには、VALIDATE 権限が必要です。VALIDATE 権限を参照してください。
オプションの指定によって、チェックサム、インデックスデータの正当性、すべてのテーブルページがデータベース内のオブジェクトに属するかどうかを検証できます。データベースのエクスプレス検証 (-fx オプション) では、データ、連続したローの構造、外部キー関係は検証されません。また、VALIDATE 文に WITH EXPRESS CHECK 句を指定することでも、参照整合性チェックを無効にできます。
検証は、検証対象のテーブルに対する排他アクセスを取得せず、検証中にテーブルが変更された場合には、破損をレポートします。このことを考慮すれば、データベース上に他のアクティビティがない場合に、データベースの検証を行うのが最適です。データベースファイル内のベーステーブルが破損している場合は、メディア障害として対処し、前のバックアップからリカバリしてください。インデックスが破損している場合は、インデックスなしでデータベースをアンロードしてから、再ロードします。また、ALTER INDEX 文の REBUILD 句を使用してインデックス破損を修正することもできます。ALTER INDEX 文を参照してください。
WAIT BEFORE START 句を使用して BACKUP 文を実行すると、トランザクションの処理中にはバックアップが開始されません。バックアップ中に処理中のトランザクションがなかった場合、または BACKUP DATABASE WITH CHECKPOINT LOG RECOVER か WITH CHECKPOINT LOG NO COPY を指定した場合は、読み込み専用モードを使用するか、バックアップデータベースのコピーを検証して、バックアップデータベースの妥当性をチェックできます。-r dbeng12/dbsrv12 サーバーオプションを参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |