ORACLE MASTER BRONZE DBA11g、資格取得、概要把握と試験対策(無料問題付き)
講座9 ORACLE DATABASE、バックアップとリストアとリカバリの復旧管理について
ORACLE製品も他のベンダー製品と同様にバックアップとリカバリの機能を有しており、緊急のトラブルや異常時に
対応する必要があります。メディア障害、インスタンス障害、ユーザの操作誤りといった事が想定されます。
上記の問題を回避する為に、復旧に関する取り決めを決めて、迅速に対応出来るように資料化して
運用するルールが大切となります。バックアップは何世代残し、いつまでの時点に復旧できるか?
Enterprize Managerには復旧に関する機能が備えられています。
解決の為のツールも利用しながら、障害に備えて維持してゆきましょう。
流れとしてはEnterprize
Managerで以下の行動を行います。
1.リカバリの前に、まず、リカバリの流れを知る
↓
2.完全復旧をするモード(ARCHIVELOGモード)の設定(完全復旧しない場合はNOARCHIVELOGモード)
↓
3.バックアップ設定(これがないと始まらない)
↓
4.バックアップ管理(管理できるバックアップを再度検出する)
↓
5.リカバリ作業(リカバリのやり方に注意)
↓
6.フラッシュバック機能による簡易的な復旧(ユーザの操作誤り対応等)
詳細な流れ
1.リカバリの前に、まず、リカバリの流れを知る
基本的な障害としてディスクの破損が考えられる。これをメディア障害という。
メディア障害からのリカバリはメディア・リカバリといい、以下の流れとなる。
(バックグラウントで支えているプログラムはARCn(アーカイバ・プロセス))
バックアップ → リストア → ログ(変更履歴)の適用(以下の2つから利用出来るファイルを選択)
(REDOログ・ファイル)スイッチでログ切替する為、保有世代が少ない。
(アーカイブ・ログ・ファイル)REDOログがスイッチする際に、別ファイルにコピーし続け(変更履歴)情報を残す
↓
但し、アーカイブ・ログ・ファイルを生成する為にはARCHIVELOGモードにする必要があり
問題
1月1日のバックアップと1月10日までのログがあるという前提で、1月10日にディスク障害が発生したとする。対応は?
対応
1月1日のバックアップのリストア、1月1日〜1月10日のログ(変更履歴)を適用する事(ロールフォワード)で復旧する。
但し、1月7日のログが無いとかいった場合は1月6日までしか戻せない。
補足 変更履歴とはINSERTやUPDATE等、データを変更した際の命令分である。
メディア障害と異なり、停電などの発生で、サーバ自体がダウンした場合をインスタンス障害という。
インスタンス障害からのリカバリはインスタンス・リカバリと呼ばれる。
(バックグラウントで支えているプログラムはSMON(システム・モニター・プロセス))
一旦、REDOログファイルを読み込んで、ロールフォワードの処理を行います。次に実行途中であった
処理の影響を取り消す為、ロールバックを行います。
2.完全復旧をするモード(ARCHIVELOGモード)の設定
完全復旧をするのであれば、ARCHIVELOGモードにしている必要があります。(NOARCHIVELOGモードでは不足する)
ARCHIVELOGモードにするにはEMかSQL*Plusのどちらかで設定できます。
ログ・モードの変更はMOUNT状態で行い、データベースの再起動が伴います。
尚、モード変更した後にはすぐに全体バックアップを行います。ARCHIVELOGモードでバックアップしていないと
リカバリは出来ません。
EMの場合
可用性ページ→リカバリ設定
メディア・リカバリ枠のARCHIVELOGモードにチェックを付け適用ボタンを押す。
データベースの再起動が必要というメッセージに【はい】を押し、データベースを再起動する事で切り替わります。
SQL*Plusの場合(SYSユーザやSYSDBA権限を付与されたユーザのみ)
インスタンスの停止(SHUTDOWN IMMEIDATE)
データベースをマウント(STARTUP MOUNT)
ログ・モードの変更(ALTER DATABASE ATCHIVELOG;)
ログ・モードの確認(ARCHIVE LOG LIST)
データベースをオープン(ALTER DATABASE OPEN;)
3.バックアップ設定(これがないと始まらない)
バックアップするツール
EMかRECOVERY MANAGER(RMAN)。EMも実際にはRMANが裏で起動している
バックアップで絶対に必要なファイル データファイルと制御ファイルの2つ
予備ファイル(あれば便利。リカバリに使用しない) アーカイブ・ログ・ファイルとSPFILE
バックアップ出来ないファイル
REDOログファイルや一時ファイル
設定 Enterprize
Managerの可用性ページ→バックアップスケジュール
データベース全体を選択するとすべてのデータファイルと制御ファイルとアーカイブ・ログ・ファイルとSPFILEが取得出来る。
(データベース全体のバックアップと言う)
バックアップの方法には2つある。
全体バックアップ ー
更新されていない部分を含めて全てを取得する(完全バックアップとも言う))
増分バックアップ ー
更新された部分のみを取得する。推奨バックアップでもよい。
(但し、データファイルを選択、かつバックアップセットを選択した場合のみ利用出来る。)
バックアップモードには2つある(データベース全体をバックアップする際に選択出来る)
一貫性バックアップ(オンライン・バックアップ)
ー データベースをクローズした状態で取得
制御ファイルとすべてのデータが同じ時点のデータ
リストアするとリカバリしなくてもデータベースをオープンできる
非一貫性バックアップ(オフライン・バックアップ)
ー データベースをオープンした状態で取得
制御ファイルとすべてのデータが異なる時点のデータ
リストアするとリカバリしなくてもデータベースをオープンできない
ディスク・バックアップタイプには大きく2つある
バックアップセット ー
使用したファイル領域のみの為、ファイル容量が少ない。また、複数のファイルをまとめれる。
RMAN固有のファイル形式によって生成
バックアップセットを圧縮した形は圧縮済バックアップ・セットという。
(増分バックアップを取得できる)
イメージ・コピー ー
未使用領域も含めた、1つのファイルとしてある単なるコピー
EMもしくはRMANによって生成
(増分バックアップは取得できない)
保存ポリシー(リテンション・ポリシー)=バックアップを判断する際の基本
リカバリ・ウィンドウ ー
何日前まで戻せるのか?日数を入力。入力した日数より過去のバックアップは自動で削除する
冗長性
ー 取得したバックアップで1日あたり、何個残すか。
ディスク・バックアップの保存場所
空欄にした場合、フラッシュ・リカバリ領域に保存し、領域を超える場合は自動的に過去のデータを自動で削除する。
しかし、領域が満杯になると、バックアップに失敗し、放置しつづけると、ハングアップも発生させる。
(ARCHIVELOGモードの場合、アーカイブしていないREDOログファイルにログ・スイッチは出来ない為)
フラッシュ・リカバリ領域の指定(Enterprize Managerの可用性ページ→リカバリ設定)
DB_RECOVERY_FILE_DEST_SIZE初期化パラメータ
ー フラッシュ・リカバリ領域のサイズ
デフォルトでは2GB
基本構成として以下は最低必要
完全バックアップ(2つ分)+増分バックアップ+アーカイブ・ログ・ファイル
DB_RECOVERY_FILE_DEST初期化パラメータ
ー
フラッシュ・リカバリ領域ディレクトリを指定する場所
4.バックアップ管理
設定したバックアップを管理する必要があります。(EM→現行バックアップ管理)
RMANは制御ファイルに取得したバックップに関する情報を記録します。
このことから制御ファイル=(RMANリポジトリ)と言います。
バックアップ管理画面ではEMかRMANでバックアップや削除した場合は更新しますが
OSコマンドでおこなった場合は管理画面を更新しません。
画面に表示しているけど、実際はないといった事を回避する為にクロスチェックという機能があります。
管理画面のステータスは以下となります。
AVAILABLE(使用可能)
ー 制御ファイルに示す位置にバックアップが存在する
EXPIRED(期限切れ) ー
制御ファイルに示す位置にバックアップはない
UNAVAILABLE(使用不可)
ー バックアップを使用出来ない状態
5.リカバリ作業(リカバリのやり方に注意)
ARCHIVELOGモードのリカバリは2種類(メディアリカバリが対象でクラシュリカバリやインスタンス障害の場合はNOARCCHIVELOGモード
でも戻る)
完全リカバリ
ー 障害が発生した直前に戻る
不完全リカバリ(Point-in-Timeリカバリ)
ー 過去の特定の時点に戻る
実際にリカバリを行うのは難しい。そこでツールがあります。
データ・リカバリ・アドバイザ ー
自動的に障害を検知しデータ整合チェック(ヘルスチェック)を実施する
チェックした記録(自動診断リポジトリ)を確認し修復オプション(リカバリの方法)を表示
リカバリ実行まで可能な機能を有しています。
流れはEM→可用性→リカバリの実行→アドバイスとリカバリ→アドバイス
自動修復を行う場合はアドバイスの続行→処理内容を確認して続行→リカバリ・ジョブの発行でリカバリまで処理されます。
6.フラッシュバック機能による簡易的な復旧(ユーザの操作誤り対応=表を消した、実行してはいけない処理を流した場合の対応))
フラッシュバック・ドロップ ー
誤って削除した表を元の状態に戻す機能。Windowsのごみ箱のような機能。
実際には削除されておらず、オブジェクトの名前がごみ箱内の名前に変更される。
削除した領域を上書きしない限り、いつでも戻せる。
UNDOデータに依存しない
フラッシュバック表 ー
表が保持しているデータを過去の状態に戻す機能
前提として行移動を有効化しておく必要がある。
UNDOデータに依存する為、UNDOデータに該当データが無い場合は戻せない。
試験に出ると想定される問題 この分野の出題としては7問
問題1 バックアップ管理で確認できるステータスで正しいのはどれ?3つ選んで下さい。
1.正常
2.異常
3.使用可能
4.使用不可
5.期限切れ
解答 3、4、5
問題2 バックアップ管理で不要なものをすべて削除ボタンをクリックして削除される判断基準は何か?
1.使用不可がマークされている
2.リテンションポリシー
3.使用可能がマークされている
4.異常がマークされている
解答 2
問題3 フラッシュ・バックドロップ機能を利用して削除したデータを復元する際、元の削除した表はどこにあるのか?
1.一時表領域
2.削除する前にあった表領域
3.SYSAUX表領域
4.SYSTEM領域
解答 2
削除してもデータは元の表領域から変わりません。検索につながるディクショナリが変わるだけです。
問題4 フラッシュ・バック表の機能を利用して復元を試みたが失敗した。失敗した理由を選べ。
1.行移動をすでに有効化していた。
2.UNDOデータに該当するデータがすでにない
3.UNDOデータに該当するデータがある
解答 3
問題5 バックアップとして取得出来ないファイルはどれ?2つ選んでください。
1.データファイル
2.REDOログファイル
3.制御ファイル
4.一時ファイル
5.SPFILE
6.アーカイブ・ログ・ファイル
解答 2.4
問題6
リカバリという高度な作業をアドバイス診断からリカバリまで実施してくれる機能を何というか?1つ選んでください。
1.セグメント・アドバイザ
2.リカバリ・データ・アドバイザ
3.データ・リカバリ・アドバイザ
4.SQLチューニングアドバイザ
解答 3
問題7 一貫性バックアップの説明として正しいのはどれか?3つ選んでください。
1.リストアするとリカバリしなくてもデータベースをオープンできない
2.データベースをクローズした状態で取得
3.制御ファイルとすべてのデータが同じ時点のデータ
4.リストアするとリカバリしなくてもデータベースをオープンできる
解答 2.3.4
問題8 バックアップセットの説明として正しいものを3つ選んでください。
1.使用したファイル領域のみの為、ファイル容量が少ない
2.RMAN固有のファイル形式によって生成
3.複数のファイルをまとめている
4.未使用領域も含めた、1つのファイル
解答
1.2.3 4はイメージ・ファイルです。
問題9 バックアップ時間が短いのはどれ?
1.全体バックアップ
2.完全バックアップ
3.増分バックアップ
4.一貫性バックアップ
解答 3
問題10 リカバリ時間が短いのはどれ?
1.全体バックアップ
2.完全バックアップ
3.増分バックアップ
4.一貫性バックアップ
解答 1.2
問題11 メディアアリカバリ対応のバックアップにてバックグラウントで支えているプログラムは?
1.SMON
2.ARCn
3.MMON
4.PMON
解答 2
問題12 SQL*PlusでARCHIVELOGモードに変更できる権限を2つえらべ。
1.全てのユーザ
2.SYSDBA権限を付与されたユーザ
3.SYSユーザ
4.一般ユーザ
解答 2.3
問題13 セグメント・アドバイザが可能なアドバイスを3つ選んでください。
1.表領域内の縮小可能な領域のアドバイス
2.データファイルの縮小可能な領域のアドバイス
3.セグメントの縮小可能な領域のアドバイス
4.スキーマオブジェクトの縮小可能な領域のアドバイス
解答 1.3.4
問題14 PGAの合計サイズを確認できる管理はどれか?
1.自動メモリー管理
2.手動共有メモリー管理
3.自動共有メモリー管理
解答 2.3
自動メモリー管理の場合はSGAとPGAの合計サイズであり、PGA個別では推奨確認出来ない。
問題15 EMのバックアップ設定でディスク・バックアップの場所を空白にした場合はどの領域を使用するか?
1.ユーザ領域
2.フラッシュリカバリ領域
3.一時領域
4.TEMP領域
解答 2
問題16 インスタンス・リカバリを支えているバックグラウンドプログラムはどれか?
1.ARCn
2.MMON
3.SMON
4.EM
解答 3
問題17 インスタンス・リカバリを行う際に使用するログはどれか?
1.UNDOログ
2.イベントログ
3.ARCnログ
4.REDOログ
解答 4
トップページに戻る