物理バックアップの失敗を根絶するノウハウ:Oracleバックアップ/リカバリ講座(7)(1/4 ページ)
本記事では、Oracleデータベースのバックアップ/リストア/リカバリについて、そのアーキテクチャ、代表的なバックアップ手法、論理/物理バックアップ、RMANといった全般的な内容を解説していく。(編集部)
主な内容
--Page 1--
▼アーカイブREDOログファイルのバックアップと削除
--Page 2--
▼アーカイブREDOログファイルのバックアップと削除(続き)
--Page 3--
▼データファイルの破損チェック
--Page 4--
▼物理バックアップ取得の失敗例
今回は前回「OSコマンドによる物理バックアップの全手順」に引き続き、OSコマンドによる物理バックアップの一貫性バックアップ、非一貫性バックアップについて解説しますが、さらに踏み込んだ内容として物理バックアップを行う際の注意点やデータファイルの破損チェック方法などに焦点を絞って説明します。なお、文中の実行画面は、Linux版Oracle Database 10g Release 2を使用しています。
アーカイブREDOログファイルのバックアップと削除
前回でも、アーカイブREDOログファイルのバックアップについて触れましたが、今回は運用時における注意点について、より具体的な例を挙げて説明します。
アーカイブREDOログファイルを正しく管理するためには、バックアップ時に、対象となるアーカイブREDOログファイルや、バックアップが完了し、削除してもよいアーカイブREDOログファイルがどれであるかを正しく把握する必要があります。そのために、動的パフォーマンス・ビュー「v$archived_log」の情報を利用します。このビューには、次の場合に新たに情報が挿入されます。
- アーカイブログモード運用時にオンラインREDOログファイルが正常にアーカイブされた場合
- CLEAR LOGFILEコマンドによりオンラインREDOログファイルの内容を消去した場合
これらの情報はアーカイブログレコードと呼ばれ、一意に識別するための「RECID」列を持ちます。このRECIDの値は、制御ファイルを再作成しない限り元に戻ることはないので覚えておいてください。
それでは、障害発生直前までリカバリするために必要なバックアップについて確認します。
- 「一貫性バックアップ」もしくは「非一貫性バックアップ」として取得したすべての「データファイル」
- バックアップ開始以降に作成されたすべての「アーカイブREDOログファイル」と「オンラインREDOログファイル」
- 制御ファイル
アーカイブREDOログファイルが1つでも不足すると、不足していたアーカイブREDOログファイルの直前までしかリカバリすることができません。
また、オンラインREDOログファイルのログ順序番号は、ログスイッチするごとに1から順に振られていきますが、アーカイブREDOログファイルの生成される順番は、サイズやそのほかの要因により前後する場合があります。そのため、正常にアーカイブREDOログファイルが作成されたファイルのみを取得するためにv$archived_logを利用します。
例えば、前回のバックアップで取得したアーカイブREDOログファイルの最大RECIDを、テキストファイルなどに出力して記録しておきます。これによって、前回取得したRECID+1から現在の最大RECIDまでのアーカイブREDOログファイルが、バックアップ対象となります。また、アーカイブREDOログファイルの出力先が変更されることも考慮し、v$archived_logよりRECIDに対応したファイル名(NAME列)も取得しておくことをお勧めします。くれぐれもアーカイブREDOログファイルの取得漏れがないように気を付けてください。
では、図1を参考にデータベースの非一貫性バックアップの方法を見ていきます。
Copyright © ITmedia, Inc. All Rights Reserved.