ここでは、失ったファイルがデータベースだけである場合にメディア障害からリカバリする手順について説明します。
現在のトランザクションログの追加バックアップコピーを作成します。データベースファイルが使用できないので、最後のバックアップ後に行われた変更の記録は、唯一トランザクションログに含まれています。
リカバリの処理中に使用するファイルを保存する「リカバリディレクトリ」を作成します。
最後のフルバックアップのデータベースファイルをリカバリディレクトリにコピーします。
バックアップされたトランザクションログに保持されているトランザクションをリカバリデータベースに適用します。次のいずれかの方法を使用します。
各トランザクションログをログファイルごとに日付順に手動で適用するには、次の手順に従います。
ログファイルをリカバリディレクトリにコピーします。
次のように、データベースサーバーをトランザクションログ適用 (-a) オプションを使用して起動し、トランザクションログを適用します。
dbeng12 database-name.db -a log-name.log |
データベースサーバーは、トランザクションログが適用されると自動的に停止します。
トランザクションログのバックアップをすべて適用したら、オンライントランザクションログをリカバリディレクトリにコピーします。
オンライントランザクションログのトランザクションをリカバリデータベースに適用します。
dbeng12 database-name.db -a log-name.log |
データベースサーバーでトランザクションログの正しい順序を判断して自動的に適用させるには、次の手順に従います。
オンラインおよびオフラインのトランザクションログファイルをリカバリディレクトリにコピーします。
データベースサーバーを -ad オプションを使用して起動し、トランザクションログのロケーションを指定します。データベースサーバーは、トランザクションログの正しい適用順序をログオフセットに基づいて判断します。
dbeng12 database-name.db -ad log-directory |
データベースサーバーは、トランザクションログが適用されると自動的に停止します。
リカバリデータベースに対して妥当性検査を実行します。
バックアップを作成します。
データベースファイルを運用ディレクトリに移します。
運用データベースにアクセスできることをユーザーに通知します。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |