ORACLEMASTER 備忘録9(12/13)
続き
リカバリの実行
Oracle社推薦のリカバリ
Oracle社推薦のリカバリ方法は「データリカバリアドバイザ」というツールを使用する方法である。
データリカバリアドバイザは、データ障害を自動的に診断してうえで適切な修復オプションを表示する機能。データベース管理者はその修復オプションを見てリクエストを行い、修復を実行する。
破損したデータに対するデータベース操作でエラーが発生すると、“データ整合性チェック”が自動的に開始され、エラーに関連する障害が調査される。
障害が検出されると、その障害は“ADR(Automatic Diagnostic Repository:自動診断リポジトリ)”に記録される。ADRは、データベースの外部に格納されているディレクトリ構造である。
データベースによって障害が研修され、その情報がADRに格納されると、データベース管理者はデータリカバリアドバイザを使用して修復アドバイザを生成し、障害を修復できる。
データリカバリアドバイザを使用したデータベースのリカバリ
データベースリカバリを使用して、Oracle推薦の方法でデータベースをリカバリするには、次の手順を実行する。
- RMANでターゲットデータベースに接続する。
- LIST FAILUREコマンドを実行して、データベースリカバリアドバイザが認識できるすべての障害に関する問題の説明を表示し、確認する。各障害は「障害ID」によって識別される。
- LIST FAILUREコマンドを実行して、データベースリカバリアドバイザが認識できるすべての障害に関する問題の説明を表示し、確認する。各障害は「障害ID」によって識別される。
- ADVISE FAILUREコマンドを実行して、自動及び手動の両方の修復オプションを表示する。
- REPAIR FAILUREコマンドを実行して、直近のADVISE FAILUREコマンドによってリスト化された障害の自動修復オプションを実行し、自動的に修復する。
※データ障害の自動検出は「状態チェック」という機能によって実行されている。状態チェックは、Oracle Database 12cに掲載されている“状態モニター”によって実行される診断プロシージャである。状態チェックはエラーの発生時に応じて起動しているが、手動で起動することもできる。
フラッシュバック表
データの障害は、ディスクやファイルの破損によるものだけではない。表の誤削除といった人為的なエラーもかなりの確率で起こる。
人為的なエラーによって失われたデータは、Oracleデータベースに用意されている“フラッシュバック機能”を使用することで短時間でリカバリできる。