※用語はなるべく、Oracle® Databaseリファレンス 12c リリース1 (12.1) より抜粋しております。
【太字】:試験最重要ポイント
【青色】:試験問題を解くために必要な理解
【赤字】:最低限押さえておきたい知識
出題例:正解のみ掲載しています
###■公式チェックリストより出題範囲
バックアップとリカバリの設定
・高速リカバリ領域を設定する
・ARCHIVELOGモードを設定する
--------------------------------------------------
###要点
バックアップ、リカバリーに関係するアーキテクチャは頻出トピック。
何度も復習し、用語が出てきたらそれを他人に説明できるようになるよう理解しよう
特にARCHIVELOGモードに関しては必ず出題されると思うので正確に理解しよう。
NOARCHIVELOGモードとARCHIVELOGモードの違いを同時に理解しようとすると難しいので、まずは片方理解してからもう片方に取り掛かろう
--------------------------------------------------
###バックアップとリカバリの設定
####制御ファイルのリカバリ可能性を高める構成
Oracleデータベースには制御ファイルが1つ必要ですが、その制御ファイルを損失した場合、Oracleサーバーは動作できません。
●損失した場合
→制御ファイルを再作成。(正常な制御ファイルがあればスクリプトを作成することができます。)
→制御ファイルのバックアップを使用したリカバリ
複数の制御ファイルを準備しておき、障害が発生した場合、正常なファイルをコピーする
複数の制御ファイルが用意されている場合でも、そのうちの1つが損失するとOracleサーバーは停止してしまう点に注意。
■多重化の手順
現行の制御ファイルの多重化コピーを追加、または制御ファイル名を変更する手順は、次のとおりです。
1.データベースを停止します。
2.オペレーティング・システムのコマンドを使用して、既存の制御ファイルを新しい位置にコピーします。
3.データベース初期化パラメータ・ファイルのCONTROL_FILESパラメータを編集して、新しい制御ファイル名を追加するか、または既存の制御ファイル名を変更します。
4.データベースを再起動します。
■バックアップコマンド
バックアップの作成:ALTER DATABASE BACKUP CONTROLFILE TO '/oracle/backup/control.bkp';
制御ファイルの再作成に使用できるSQLを作成する。:ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
####REDOログファイルのリカバリ可能性を高める構成
REDOログファイルは、循環して使用されるファイルであるため、最低2つのファイルが必要です。
REDOロググループには最低1つのREDOログファイル(REDOログメンバー)が含まれることになります。
●REDOログメンバーの追加
REDOログの多重化
・1つのREDOロググループに2つ以上のREDOログメンバーを持つこと。
※制御ファイル同様、別のディスクに各メンバーを配置することが推奨される。
●REDOロググループの追加
REDOログファイルが満杯になるとログスイッチが発動し、REDOロググループが切り替わります。
次のREDOログメンバーを上書きするためには、チェックポイントとアーカイブREDOログファイルの作成が完了している必要があります。
完了していない場合はログスイッチが待機します。この待機を防止するには3つめのREDOロググループを追加することで時間が稼げます。
REDOログファイルを多重化している場合、REDOロググループ内で最低1つのREDOログメンバーに書き込みが出来れば、Oracleサーバーは動作し続けることが出来ます。
■多重化の方法
EM Expressを使用する。やり方は出題されないので詳しくは公式docへ。
####NOARCHIVELOGモードとARCHEVELOGモード
REDOログファイルはログスイッチによって循環して、使用されるファイルです。
ログスイッチの発生によって循環してきたとき、チェックポイントが完了していれば、上書きされます。上書きされる前のREDOログエントリはインスタンスリカバリにのみ使用される内容です。
####『NOARCGIVELOGモード』
インスタンスリカバリだけができるように構成されたOracleサーバーモードをNOARCGIVELOGモードと呼びます。
【NOARCHIVELOGモード】
・アーカイブREDOログファイルの管理は不要(このモードではそもそも生成しない)
・バックアップ
→データベースを停止する必要がある。
→同じタイミングで取得したデータベース全体のバックアップが必要(一貫性バックアップ)
・データファイルに障害が発生した場合、バックアップ全体をリストアする必要がある。
・アーカイブREDOログファイルを運用するリカバリがない。
####『ARCHIVELOGモード』
OracleサーバーをARCHEIVELOGモードで構成するとログスイッチ時にREDOログファイルのコピーであるアーカイブREDOログファイルがARCnプロセスによって作成されます。
→アーカイブREDOログファイルの内容がどのREDOログファイルのものであるかはファイル名に含まれるログ順序番号によって判別できる。
【ARCHIVELOGモード】
・アーカイブREDOログファイルを失うとリカバリできなくなるため適切な管理が必要
・バックアップ
→データベースがオープンしていても可能
→個々のデータファイル、表領域単位で取得したバックアップでよい(非一貫性バックアップ)
・データファイルに障害が発生した場合、障害が発生したファイルのみリストアすればよい
・アーカイブREDOログファイルを適用するリカバリができる。
####ARCHIVELOGモードの構成
データベースをARCHIVELOGモードにするには、初期化パラメータの変更と、コマンドを使用した制御ファイル情報の書き換えが必要です。
1.初期化パラメータの設定
LOG_ARCHIVE_DESTn
・LOG_アーカイブREDOログファイルの作成場所を指定する
・ローカルマシンのディスクまたはスタンバイサイトへのネットサービス名が使用できる。
LOG_ARCHIVE_FORMAT
・アーカイブREDOログファイル名の書式を指定する。
2.ARCHIVELOGモードへの変更
制御ファイルにモード変更をコマンド入力する必要がある。そのため、データベースがマウントされた状態で変更する必要がある。
データベースがARCIVELOGモードであることの確認はARCHIVELOGLOG LISTコマンドで行える。
###出題例
出題例:制御ファイルが損失した時のために、制御ファイルのリカバリ可能性を高める方法を選択しなさい
→制御ファイルを多重化しておく。
出題例:多重化しておいた制御ファイルの1つが損失しました。Oracleサーバーは停止しますか?
→1つでも損失した場合、停止します。正常なファイルが残っていればそれをコピーし設置しなおすことでリカバリ可能です。
出題例:REDOロググループが3つ構成されており、各グループにはそれぞれ3つのログメンバーが存在しています。REDOロググループのうち2つが停止しました。Oracleサーバーは停止しますか?
→停止しません。REDOロググループ内で最低1つのログメンバーに書き込みができればOracleサーバーは稼働し続けます。
出題例:バックアップ取得のためにデータベースを停止することが出来ない、停止中にバックアップが完了できないシステム、障害発生時にデータの損失が許容されない場合、NOARCHIVELOGモードとARCHIVELOGモードのどちらが適していますか?
→ARCHIVELOGモード
出題例:アーカイブログモードにおいてデータベースをマウントしてリカバリするファイルを2つ選択しなさい
→SYSTEM表領域のデータファイル
→UNDO表領域のデータファイル
SYSTEM表領域とアクティブなUNDO表領域に属するデータファイルはクリティカルなファイルと呼ばれデータベースをオープンしたままでリカバリすることはできません。
出題例:アーカイブログファイルの出力先ディレクトリを指定するパラメータを選択しなさい。
→LOG_ARCHIVE_DEST_n
余談:高速リカバリ領域を構成し(DB_RECOVERY_FILE_DESTおよびDB_RECOVERY_FILE_DEST_SIZEパラメータを設定)、ローカル・アーカイブ先を指定しない場合、データベースによって自動的に高速リカバリ領域はローカル・アーカイブ先として選択され、LOG_ARCHIVE_DEST_1はUSE_DB_RECOVERY_FILE_DESTに設定されます。(これは出ないと思うけど迷わせる選択肢としてあるかも)