質問: Oracleのバックアップの取り方について質問が3つございます。環境は以下の通りです。 バージョン : 12cR2 高速リカバリ領域 : なし ログモード : ARCHIVELOG 以下、質問です。 1アーカイブログモードで運用していると、オンラインREDOログファイルの容量がいっぱいになって上書きされてしまう前に自動的にアーカイブ化してくれるというという認識なのですが、自動でアーカイブREDOログファイルを生成してくれるなら敢えて個別にアーカイブREDOログのバックアップを取る必要性は何ですか。1時間おきにアーカイブREDOログファイルのバックアップを取っていて、その度に過去のアーカイブREDOログファイルのバックアップは削除する。つまりアーカイブREDOログファイルのバックアップは常に1つだけになるように(実際は自動生成分もありますが)スケジューリングしていて、もしかしたら何かあったときのために自動生成分をあてにしているのかオンラインバックアップが取りたいからアーカイブログモードを選んでいるのかわかりませんが...。要点が逸れましたがひとまず個別にアーカイブREDOログファイルのバックアップを取る意味がわかりません。 2特に指定をしなければアーカイブREDOログファイルはdbsディレクトリ以下に取られ(高速リカバリ領域は使用していないので)、蓄積されていくという認識ですが、アーカイブREDOログファイルの出力先を手動で取っているアーカイブREDOログファイルのバックアップ分と同じディスクに指定しています。これはリスクしかない気がするのですが、せっかく手動で取ってる分と自動で生成してくれてる分があるなら取得先、出力先は分けたほうがいいのではないでしょうか。 312cR2からはデフォルトで制御ファイル及びSPFILEのバックアップが、何らかのbackupコマンド実行後に必ず走るという認識なのですが、アーカイブREDOログファイルは1で挙げたタイミングで自動生成されるという認識です。しかし動きを見ていると、個別にアーカイブREDOログファイルの「バックアップ」を取った時点でアーカイブREDOログファイルの「自動生成」も行われています。アーカイブREDOログファイルのバックアップを取ったらアーカイブREDOログファイルの自動生成も同時に行われるのですか。そうなると、アーカイブREDOログファイルを手動バックアップした時点でログスイッチが行われるのでしょうか。 宜しくお願い致します。
回答: 1アーカイブREDOログをバックアップする必要性 回答 アーカイブREDOログにはすべての更新履歴が含まれていますが、REDOログはそうではないからです。 例えば毎日の正時00分にフルバックアップを取っていて、1時間毎のREDOログファイルのバックアップを取っているとします。 毎日の正時01分時点のREDOログファイルのバックアップには、00時から01時の間のすべての更新履歴が含まれていない可能性があります。1時間の間にREDOログのローテーションが一巡する可能性があります。 複数のアーカイブREDOログファイルには、アーカイブREDOログファイルが削除されるまでのすべての更新履歴が含まれています。 2アーカイブREDOログをdbsディレクトリに指定してよいか? 回答 通常は制御ファイル、REDOログファイル、アーカイブREDOログは多重化します。 多重化しているなら、どこを使用しても問題ないと思います。 故障や誤操作によるディスク破損に備えるならディスクをRAID構成にする方がよいです。 3アーカイブREDOログファイルが作成されるタイミング 回答 あるREDOログファイルの内容がすべてデータファイルに反映されたタイミングでアーカイブREDOログファイルが作成されるとの認識ですが、正しい認識かちょっと自信がありません。 私はDBMSの開発者でも実務でデータベースを保守した経験もありません。Oracleデータベースのアプリケーションを開発したときの経験やそのとき勉強した知識からの回答です。 正確な情報はマニュアルやホワイトペーパにあたるべきですが、正確性を重視しているためか、詳しすぎてよくわからなかった経験があります。マニュアルを理解する助けになると思って回答しています。