44
意外と簡単!? Oracle Database 11g Release 1 - データベース構築から運用まで - 2 章:バックアップとリカバリ編Windows 版) Creation Date: Last Update: Version: 1.1 1 意外と簡単!? Oracle Database 11g Release

意外と簡単!? Oracle Database 11g Release 1otndnld.oracle.co.jp/easy/oracle11gr1/windows/pdf/Self... · 2008-08-01 · 意外と簡単!?Oracle Database 11g Release 1 3 バックアップとリカバリ編

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

意外と簡単!? Oracle Database 11g Release 1

- データベース構築から運用まで -

「第 2 章:バックアップとリカバリ編」

(Windows 版)

Creation Date:

Last Update:

Version: 1.1

1 意外と簡単!? Oracle Database 11g Release 1

バックアップとリカバリ編

はじめに 「意外と簡単!?」シリーズは、Oracle Database 11g を使用してこれからシステム構築を行い、

運用していく方向けに作成しており、初心者の方でも容易に構築/運用ができるよう全編にわたり

極力 GUI ツールを利用した説明として構成しております。

システム構築の方法や運用にはさまざまな方法が存在しますが、「意外と簡単!?」シリーズでは

特定のハードウェア上で小中規模のシステムを構築/運用することを目的とした実践的な資料とし

て構成している関係上、個々の機能の説明等は最小限に留めております。

「意外と簡単!?」シリーズが皆様のシステム構築/運用の一助になれば幸いです。

「意外と簡単!?」シリーズの資料構成 「意外と簡単!?」シリーズは、以下の 5 つの資料から構成しております。

1. データベース構築基礎

2. バックアップとリカバリ (本書)

3. セキュリティ設定

4. データベースの運用 - 監視

5. データベースの運用 - チューニング

「意外と簡単!?」シリーズにおける H/W、S/W 構

サーバー:DELL PowerEdge 2650

CPU:Xeon 3.06 GHz x 2 メモリ:6GB

オペレーティング・システム:Microsoft Windows 2003 + Service Pack1

RDBMS:Oracle Database 11g Release 1 Enterprise Edition for Windows

バックアップとリカバリ編

データベース・バックアップ

データベースのバックアップは、管理者にとって重要な作業の 1 つです。不運にもデー

タベースを構成するファイルを失ってしまったようなとき、バックアップファイルからの

リカバリがデータの復旧を行う唯一の手段となるケースも多くあります。そのため、普段

からデータベースのバックアップを正しく取得しておくことは非常に重要です。このセク

ションでは、データベース・バックアップ作業の基礎知識を解説します。

バックアップの方法 一般的にバックアップの方法は、コールド・バックアップとホット・バックア

ップに大別できます。前者はデータベースを停止して取得するバックアップで、

後者はデータベースを稼動させたまま取得するバックアップです。

これらを Oracle で実行しようとした場合には、以下の方法があります。

SQL 文と OS コマンドを併用したバックアップ エクスポート・ユーティリティの利用 Recovery Manager を利用したバックアップ

1 つ目の OS コマンドを利用したバックアップは、旧来から存在するバックアッ

プ手法で、OS に依存したファイルコピーコマンドを利用します。

2 つ目のエクスポートはデータ移動用のユーティリティをバックアップとして利

用する方法で、論理バックアップの位置づけとなります。

3 つ目の Recovery Manager は Oracle8 から導入されたバックアップ・ユーティリテ

ィで、GUI ツールである Enterprise Manager から利用することも可能です。

本書では、バックアップ方法として Enterprise Manager から Recovery Manager を利

用する方法を説明していきます。

データベースの運用モード Oracle にはデータベースの運用モードが 2 つ存在します。この選択には、障害

発生時にどこの時点まで復旧するべきであるかというリカバリ要件がポイントな

ってきます。

ノー・アーカイブ・ログ・モード アーカイブ・ログ・モード

意外と簡単!?Oracle Database 11g Release 1 3

バックアップとリカバリ編

「ノー・アーカイブ・ログ・モード」で運用している場合、障害発生時にはバッ

クアップ取得時点までの復旧のみが保証されます。対して「アーカイブ・ログ・

モード」で運用している場合には、障害発生時点まで復旧することが可能です。

システム要件にもよりますが、多くの場合、データを失うことは許されませんし、

柔軟なリカバリを可能にするためにも、「アーカイブ・ログ・モード」で運用する

ことをお奨めします。本書でも「アーカイブ・ログ・モード」での運用を前提に

説明します。

POINT:データベースをアーカイブ・ログ・モードに設定する方法は、

「意外と簡単!?」シリーズの「データベース構築の基礎編」を参照くださ

い。

バックアップの計画 日常的にバックアップを行うには、バックアップの計画を立てる必要がありま

す。

バックアップ計画の内容はシステム要件・リカバリ要件により大きく左右され

ます。今回はシステム要件とバックアップ計画の一例を挙げ、以下を前提として

バックアップ計画を検討しています。

システム要件: 24 時間 365 日システムは稼動している必要がある 週末や夜中はシステムの負荷が低い 極力障害発生時における復旧時間の短縮

バックアップ方針: 毎日、午前 2 時にデータベース全体をバックアップ

意外と簡単!?Oracle Database 11g Release 1 4

バックアップとリカバリ編

バックアップは、パフォーマンスと管理性を考慮しディスクにバックア

ップ バックアップは最新世代のみを保存し、その他は必要に応じてテープに

保存

Oracle では、バックアップファイルの保存方針を設定することができ、それに

従い不要なバックアップを自動的に判別することが出来ます。これにより、従来

は煩雑であったバックアップファイルの管理までをデータベースに任せることに

より運用を簡素化できます。 また、バックアップ先として従来は「テープに取る」というのが一般的でした

が、近年ではディスクも安価になり、その高速性と管理の容易性から今回はディ

スクへのバックアップを推奨しています。

POINT:この例では、ディスクにバックアップを取得しています。本

番環境では、ディスク障害や災害対策の観点からテープにバックアップ

後、遠隔地に保管する等の検討も必要です。その場合はデータベースの

物理構成を意識することなく、フラッシュ・リカバリ領域をテープにバ

ックアップするように設定します。

フラッシュ・リカバリ領域 今回のバックアップ計画例では、バックアップをディスクに取得する方法を選

択していますが、具体的には「フラッシュ・リカバリ領域」にバックアップしま

す。「フラッシュ・リカバリ領域」とは、リカバリに必要なファイルを格納/管理す

る為に用意された Oracle Database 10g からの新しい機能です。バックアップ先にフ

ラッシュ・リカバリ領域を利用することには、以下のメリットがあります。

バックアップ先の領域使用率を自動的に監視 領域の使用率によりアラートを自動的に生成 領域が不足した場合は、自動的に不要なバックアップを削除する

意外と簡単!?Oracle Database 11g Release 1 5

バックアップとリカバリ編

テープにバックアップする必要性があるバックアップファイルが一箇所に集

約されているので、管理が容易 様々なフラッシュバック機能を活用可能(Enterprise Edition)

保存方針 誤って必要なバックアップを削除してしまったりしないように、バックアップ

データは正しく管理する必要があります。Oracle Database では保存方針を設定する

ことにより、不要なバックアップデータの判断は Oracle Database が自動的に行っ

てくれますので、「間違って削除してしまった」というようなうっかり操作ミスを

防ぐことができます。

バックアップの保存方針の指定方法として以下より選択できます。

リカバリ・ウィンドウ

ポイント・イン・タイムリカバリを可能にしておくべき期間

世代管理

バックアップデータの世代管理

今回は、管理の容易性から「世代管理」を使用します。

バックアップ作業の考慮点 今回の Enterprise Manager を利用したバックアップでは、以下のファイルはバッ

クアップされません。これらのファイルを使用している場合は、別途このファイ

ルが変更される都度、手動にてバックアップを取得してください。

初期化パラメータ・ファイル(PFile)

パスワード・ファイル

ディレクトリ名:%ORACLE_HOME%¥database

ファイル名:

初期化パラメータ・ファイル:init<sid>ora

パスワード・ファイル:pwd<sid>.ora

実習前の注意事項

意外と簡単!?Oracle Database 11g Release 1 6

バックアップとリカバリ編

1. 本書の説明にて使用されているマシン名、ディレクトリ名やパスワード等の

情報は、ご使用の環境に合わせて適切な値をご利用ください。

2. 本文中にて「ホスト資格証明」という単語が利用されています。これはデー

タベースサーバー上の OS のユーザー名/パスワードになります。通常は

Oracle をインストール時に作成した Oracle ソフトウェアの所有者になりま

す。

3. Windows プラットホームでは、Enterprise Manager を使用してホスト資格

証明が必要な動作を実施する際、以下の設定が必要な場合があります。

環境変数%TEMP%,%TMP% ディレクトリへの権限を Enterprise Manager 用のユーザーに与える

「バッチジョブとしてログオン権限」を Enterprise Manager 用のユ

ーザーに与える

POINT:これらの設定に関しては、「意外と簡単!?」シリーズの「デー

タベース構築の基礎編」をご参照ください。

バックアップの実行 Recovery Manager を使用してバックアップを取得するには、コマンドラインから直接実

行する方法と、Enterprise Manager を利用した GUI による実行方法があります。 本書では、Enterprise Manager を利用する方法を説明します。

バックアップ方針、保存方針の設定 バックアップを実行する前にシステム要件にあわせてバックアップの方針、保

存方針を設定します。この例では保存方針は最低でも最新のデータベース全体の

バックアップが 1 世代保存されるように、冗長度を「1」に設定します。

実習:バックアップ設定の構成をしよう

1. Enterprise Manager Database Control へログイン

Web ブラウザを起動して以下の URL を入力します。ログイン・ページが表

示されますので、ユーザー名:SYS、パスワード:ORACLE、接続モード:

SYSDBA と入力して ボタンをクリックします。

意外と簡単!?Oracle Database 11g Release 1 7

バックアップとリカバリ編

https://<host name>:<port>/em

e.g)

https://igaiw.jp.oracle.com:1158/em

POINT:Enterprise Manager の事前設定は「意外と簡単!?」シリーズの

「データベース構築の基礎編」をご参照ください。

2. バックアップ設定の画面を開く

ホーム画面より、「可用性」タブをクリックします。「可用性」の画面が表示

されます。「バックアップ設定」をクリックします。

3. バックアップ設定 「バックアップ設定」画面が表示されます。 「デバイス」タブでは、バック

アップ先のディスクに関する設定を行います。この例では、バックアップの

「並列性」を1、「ディスク・バックアップの場所」を空白(デフォルトの

フラッシュ・リカバリ領域が使われます)、「ディスク・バックアップの種

類」にバックアップ・セットを選びます。「ホスト資格証明」に OS のユーザ

ー名とパスワードを入力します。

意外と簡単!?Oracle Database 11g Release 1 8

バックアップとリカバリ編

4. ディスク・バックアップのテスト

をクリックして、資格証明とバックアッ

プ先が正しいことを確認します。

5. テストの結果

テストに成功したかどうかを示すメッセージが表示されます。 バックアップ先のデバイス設定を行いました。

続いてバックアップの方針を設定します。

6. バックアップポリシーの設定 「ポリシー」タブをクリックします。「ポリシー」の構成画面が表示されま

す。ここでは、以下のように設定し、ホスト資格証明を入力し をクリ

ックします。

項目名 入力内容

チェック 各バックアップとデータベース変更ごとに、

制御ファイルおよびサーバー・パラメータ・フ

ァイル(SPFILE)を自動的にバックアップ

バックアップ済みの、読取り専用およびオフ

ラインのデータファイルなどの未変更ファイル

をスキップして、データベース全体のバックア

ップを最適化します。

チェック

意外と簡単!?Oracle Database 11g Release 1 9

バックアップとリカバリ編

保存ポリシー 各データファイルについて、少なくとも指定回数の全体バッ

クアップを保存:1

以上でバックアップの全般的な設定が終了しました。

バックアップの実行 このセクションではデータベース全体のバックアップ・スケジュールを設定し

ます。

実習:バックアップを実行しよう

1. Enterprise Manager Database Control へログイン

Web ブラウザを起動して以下の URL を入力します。ログイン・ページが

表示されますので、ユーザー名:SYS、パスワード:ORACLE、接続モー

ド:SYSDBA と入力して ボタンをクリックします。 https://<host name>:<port>/em

e.g)

意外と簡単!?Oracle Database 11g Release 1 10

バックアップとリカバリ編

https://igaiw.jp.oracle.com:1158/em/

POINT: Enterprise Manager の事前設定は「意外と簡単!?」シリーズの

「データベース構築の基礎編」をご参照ください。

2. バックアップ設定の画面を開く

ホーム画面より、「可用性」タブをクリックします。「可用性」の画面が表

示されます。「バックアップのスケジュール」をクリックします。

3. バックアップのスケジュール

「バックアップのスケジュール」の画面が表示されます。バックアップ方

法として定型の「推奨バックアップ」と「カスタマイズ・バックアップ」の

二種類あります。この例では、バックアップ計画に従い「カスタマイズ・

バックアップ」を行います。「バックアップするオブジェクト」として「デ

ータベース全体」を選択し、ホスト資格証明を入力して

をクリックします。

意外と簡単!?Oracle Database 11g Release 1 11

バックアップとリカバリ編

POINT:推奨バックアップ計画を選択すると、増分バックアップを使

ってデータベース全体をバックアップする定型のバックアップ・スケジ

ュールを設定できます。

4. カスタマイズ・バックアップのスケジュール ここでは、バックアップのオプションを設定します。バックアップ・タイ

プは「全体バックアップ」をチェック、「バックアップモード」には「オ

ンラインバックアップ」を選択し、 をクリックします。

5. カスタマイズ・バックアップのスケジュール:設定

バックアップ先がディスクであることを確認して、 をクリックします。

6. カスタマイズ・バックアップのスケジュール:スケジュール ジョブ名に適当な名前をつけ、スケジュールを設定します。 通常、データベースへのアクセスの少ない時間帯を設定しますが、この実

習ではすぐにジョブを実行するため、スケジュールの「タイプ」を「即時」

にし をクリックします。

意外と簡単!?Oracle Database 11g Release 1 12

バックアップとリカバリ編

バックアップ計画通りに 1 回/日の間隔でスケジュール実行させるには、以

下のようにスケジュールを設定します。

ジョブ名、説明 適切な名前

タイプ 繰り返し

頻度タイプ 毎日

繰返し間隔 1 日

タイムゾーン (UTC+9:00) 東京(JST)

開始日 任意の開始日

開始時間 2:00 AM

繰返し期限 無期限

7. カスタマイズ・バックアップのスケジュール:確認

確認画面が表示されます。内容を確認し をクリックします。

意外と簡単!?Oracle Database 11g Release 1 13

バックアップとリカバリ編

8. ジョブが正常に発行されました。詳細を確認するため をクリック

します。

9. 実行中のバックアップ・ジョブのステータスが表示されます。ジョブの発

行直後、バックアップは「実行中」となります。 をクリックすると画

面が最新のステータスに更新されます。しばらく後にページをリフレッシ

ュして確認すると「ステータス」が「成功」に変わりジョブが正常に終了

したことがわかります。

以上、バックアップのジョブの作成とスケジュール設定を行いました。

意外と簡単!?Oracle Database 11g Release 1 14

バックアップとリカバリ編

作成したジョブについて ジョブのステータスの確認

ジョブのステータスは以下の方法で確認できます。先程実行したバックアッ

プ・ジョブのステータスを確認しましょう。

1. ジョブ・アクティビティの画面を開く ホーム画面下部の関連リンク内より、「ジョブ」をクリックします。

2. ジョブ・アクティビティ

「ジョブ・アクティビティ」画面が表示されます。ジョブ名をクリック

するとさらに詳細な情報が確認できます。

スケジュールされたジョブの確認

バックアップ・ジョブを定期的にスケジュールした場合、ホーム画面の「ジョ

ブ・アクティビティ」の以下のように表示されます。

1. ホーム画面

ホーム画面の「ジョブ・アクティビティ」からスケジュールの実行の

「1」をクリックします。

2. ジョブ・アクティビティ

意外と簡単!?Oracle Database 11g Release 1 15

バックアップとリカバリ編

「ジョブ・アクティビティ」画面からジョブの詳細が確認できます。

ステータスは、「スケジュール済」となっています。

スケジュールされたジョブの変更

スケジュールされたジョブはジョブ・アクティビティの画面から変更できます。

1. ジョブ・アクティビティ

「ジョブ・アクティビティ」の画面で対象のジョブを選択し、

をクリックします。

2. ジョブの編集

「ジョブの編集」画面が開きます。ここでジョブの詳細を変更できます。

以上、発行したジョブの確認と変更方法を紹介しました。

意外と簡単!?Oracle Database 11g Release 1 16

バックアップとリカバリ編

不要なバックアップの削除 Oracle Database では保存方針に従い不要なバックアップを安全に削除すること

が可能です。バックアップ先にフラッシュ・リカバリ領域を使用すると、保存ポ

リシーを満たした状態で不要となるバックアップ・セットは、領域が不足した際

に Oracle が自動で削除していきますので、通常はユーザーが手動で削除処理を実

行する必要はありません。フラッシュバックリカバリ領域以外へのバックアップ

を行う場合や、テープへのコピーを組み入れ、任意のタイミングで削除を行いた

い場合は、以下の方法で手動での削除を行います。

実習:「現行のバックアップ設定」から手動で削除を行う

準備:実習「カスタマイズ・バックアップ」のジョブを 2 回以上実行し、複数

のバックアップ・セットを保存しておきます。

1. 現行バックアップの管理画面を開く ホーム画面より、「可用性」のタブをクリックし、「現行バックアップの

管理」をクリックします。

2. 現行バックアップの管理

「現行バックアップの管理」の画面が表示されます。これまでに取得した

バックアップ内容が一覧で表示されています。 をクリック

します。

意外と簡単!?Oracle Database 11g Release 1 17

バックアップとリカバリ編

POINT:「期限切れのものをすべて削除」はステータスが期限切れのバ

ックアップを削除します。期限切れとは、リポジトリ内に記録されてい

るが、物理的なファイルがないものを指しています。

「すべてをクロスチェック」を実施すると、ステータスが更新されます。

3. 不要なものすべてを削除:ジョブ・パラメータの設定

適当なジョブ名を指定します。スケジュール設定することも可能ですが、

ここでは、「スケジュール・タイプ」を1回(即時)のままで をクリックします。

4. ジョブが発行されました。「現行バックアップの管理」の画面に戻ります。

意外と簡単!?Oracle Database 11g Release 1 18

バックアップとリカバリ編

POINT:ジョブの詳細は、「ジョブの表示」をクリックすることで確認で

きます。

5. 「不要なバックアップの削除」により必要なバックアップのみが残り、余

分なバックアップは削除されています。

バックアップのスケジュールに削除設定を組み込む バックアップ取得時に不要なバックアップを自動的に削除するように設定するに

は、「バックアップのスケジュール設定:オプション」画面の「拡張」セクション

にて設定を行います。

意外と簡単!?Oracle Database 11g Release 1 19

バックアップとリカバリ編

POINT:フラッシュ・リカバリ領域にバックアップを格納する場合は

「不要になったバックアップの削除」、「正常にバックアップされた後、

すべてのアーカイブ・ログをディスクから削除」オプションを選択しな

いでください。フラッシュ・リカバリ領域が不足したときに自動で削除

されます。

フラッシュ・リカバリ領域使用量の確認 バックアップ・ファイルが格納されるフラッシュ・リカバリ領域のサイズや使

用率は以下の方法で確認できます。

1. バックアップ設定の画面を開く

ホーム画面より、「可用性」タブをクリックします。「可用性」の

画面が表示されます。「リカバリ設定」をクリックします。

2. リカバリ設定

「リカバリ設定」画面が開きます。フラッシュ・リカバリ領域

の場所やサイズ、現在の領域の使用率状況などを確認できます。

意外と簡単!?Oracle Database 11g Release 1 20

バックアップとリカバリ編

POINT: 一般にフラッシュ・リカバリ領域は大きければ大きいほど有

効に活用できます。理想的には、保存ポリシー分のデータファイル、制

御ファイル、オンライン REDO ログおよびアーカイブ・ログのコピーと、

これらのバックアップ・ファイルのコピーを十分に保持できる大きさの

フラッシュ・リカバリ領域が必要です。バックアップのスケジュールに

「不要バックアップの削除」を組み込んでいる場合でも、バックアップ

終了後に不要なバックアップが削除される為、一時的に 2 世代分の領域

が必要になりますのでサイズの設定の際には注意してください。

データベースのリカバリ このセクションでは、物理ファイルへの障害からデータベースをリカバリする方法を説

明します。リカバリの方法は、障害の起きているファイルによって変わってきますが、こ

こでは基本的なデータベースのリカバリとして、いくつかのケース・スタディに基づいて

実習していきます。様々な障害ケースにおけるリカバリの方針については、本書の補足資

料「障害パターンによるリカバリ方法」をご参照ください。

障害の解析 データベースに障害が発生した場合、基本的な手順として、まず問題の起こっ

ている箇所をつきとめ、発生している障害内容に沿ったリカバリを行う必要があ

ります。Oracle Database 11g では、Data Recovery Advisor 機能の追加により、

Oracle 自身が障害内容を迅速に検知し、復旧方法のアドバイスを提供する仕組み

が用意されています。データベース管理者は Enterprise Manager 上から障害の状

況を確認し、アドバイスに従って容易にリカバリ作業を実行できます。これによ

り障害発生時のダウンタイムを大幅に削減することができます。

意外と簡単!?Oracle Database 11g Release 1 21

バックアップとリカバリ編

データベース全体のリカバリ まずは基本的なリカバリ方法として、バックアップファイルからデータベース

全体を現在時点までリカバリする方法を実習しましょう。これはもっとも基本的

なリカバリ手順です。

1. Enterprise Manager Database Control へログイン Web ブラウザを起動して以下の URL を入力します。ログイン・ページが

表示されますので、ユーザー名:SYS、パスワード:ORACLE、接続モー

ド:SYSDBA と入力して ボタンをクリックします。 https://<host name>:<port>/em

e.g)

https://igaiw.jp.oracle.com:1158/em

POINT:Enterprise Manager の事前設定は「意外と簡単!?」シリーズの

「データベース構築の基礎編」をご参照ください。

2. リカバリの実行画面を開く

ホーム画面より、「可用性」タブをクリックします。「可用性」の画面が表

示されます。「管理」セクション内の「リカバリの実行」をクリックしま

す 。

3. リカバリの実行

「リカバリの実行」画面が表示されます。リカバリの有効範囲として「デ

ータベース」を選択し、ホスト資格証明を入力して をクリッ

クします。

意外と簡単!?Oracle Database 11g Release 1 22

バックアップとリカバリ編

4. 確認

データベースをマウント状態とすることの警告が表示されます。

をクリックします。

5. リカバリ・ウィザード

リカバリ・ウィザードが起動します。データベースが正常に停止するのを

待ってから をクリックします。

6. マウント状態を確認

インスタンスがマウント状態で起動しています。 をク

リックします。

意外と簡単!?Oracle Database 11g Release 1 23

バックアップとリカバリ編

7. リカバリの実行 再び「リカバリの実行」画面が表示されます。リカバリの有効範囲にデー

タベース全体を選択し、ホスト資格証明を入力し をクリック

します。

8. データベース全体のリカバリの実行:Point-in-Time

データベースをどこまで戻すかを指定します。ここでは「現在の時間への

リカバリ」を選択し をクリックします。

9. データベース全体のリカバリの実行:名前の変更

バックアップをリストアする場所を指定します。ここでは「いいえ。デフ

ォルトの場所にファイルをリストアします。」を選択し をクリッ

クします。

意外と簡単!?Oracle Database 11g Release 1 24

バックアップとリカバリ編

10. データベース全体のリカバリの実行:確認

設定内容を確認し をクリックします。

をクリックすることで RMAN のスクリプト

を確認することもできます。

11. データベース全体のリカバリの実行

リカバリ処理中の画面が表示されます。

12. リカバリの実行:結果

リカバリ操作が成功しました。続けて をクリ

ックします。

意外と簡単!?Oracle Database 11g Release 1 25

バックアップとリカバリ編

13. リカバリの実行:結果

データベースは正常にオープンされました。

以上、バックアップファイルからデータベース全体のリカバリが成功しまし

た。

オブジェクト単位のリカバリ データベース全体のリカバリセクションではデータベース全体のリカバリを行

いました。しかし、障害が起こっているファイルを特定できる場合は、オブジェ

クト単位のリカバリを行うことができます。 オブジェクト単位のリカバリでは全

体のリカバリと比べて必要な時間も節約できますので、特別な理由が無い場合は

オブジェクト単位でのリカバリを行うとよいでしょう。このセクションではオブ

ジェクト単位のリカバリとして、SYSTEM 表領域と USERS 表領域それぞれのケー

スのリカバリ方法を実習します。

意外と簡単!?Oracle Database 11g Release 1 26

バックアップとリカバリ編

SYSTEM 表領域のリカバリ SYSTEM 表領域はデータベースの内部情報を格納する特別な表領域です。その

ため SYSTEM 表領域を構成するファイルに障害が発生した場合、データベースは

稼動し続けることができません。管理者は、マウント状態にてリカバリを行う必

要があります。

準備:今回の実習では、SYSTEM 表領域のデータファイルを以下のようにリネ

ームしてから行っています。

>cd <データファイルのディレクトリ・パス> >rename system01.dbf system01.dbf.bak

1. Enterprise Manager Database Control でデータベースの状態を確認

まずはデータベースの状態を確認します。通常、システム表領域を構成す

るデータファイルに書き込みができないことを検知すると、インスタンス

は異常停止し、インスタンスの起動にも失敗します。今回は SYSTEM01.dbfファイルをリネームしてしまったため、データベースは停止している状態

です。 をクリックします。

POINT:Enterprise Manager の事前設定は「意外と簡単!?」シリーズの

「データベース構築の基礎編」をご参照ください。

2. リカバリの実行:資格証明

ホスト資格証明入力の画面が表示されますので、適切な OS ユーザー名と

パスワードを入力し をクリックします。

意外と簡単!?Oracle Database 11g Release 1 27

バックアップとリカバリ編

3. データベース・ログイン データベース・ログイン画面が表示されます、SYSDBA 権限のユーザーと

パスワードを入力し、 をクリックします。

4. リカバリの実行

画面上部に障害の数:1とデータベースの稼動:Mount 状態であることが

表示されています。リカバリの実行画面ではリカバリ方法として Oracle 推

奨のリカバリとカスタマイズリカバリを行うかを選択します。 ここでは

Oracle 推奨のリカバリを行ってみましょう。 を

クリックします。

5. 障害の表示および管理

障害の起こっているファイルが自動的に表示されています。該当の障害「シ

ステム・データファイルがみつかりません」にチェックが入った状態で

をクリックします。

意外と簡単!?Oracle Database 11g Release 1 28

バックアップとリカバリ編

6. 手動アクション ここではデータファイルの手動での復旧方法として、手動でファイルを元

に戻すことがアドバイスされています。実際、今回の実習では手動でファ

イルをリネームしていますので、アドバイスどおりにファイル名を元に戻

せばリカバリの必要はありませんが、リカバリ作業の学習のために、この

アドバイスは無視してリカバリを実施しましょう。

をクリックします。

7. リカバリ・アドバイス データファイルのリカバリを行う RMAN のスクリプトが表示されます。確

認して をクリックします。

8. 確認

障害の内容とリカバリに使用するスクリプトが表示されています。確認後、

意外と簡単!?Oracle Database 11g Release 1 29

バックアップとリカバリ編

をクリックします。

9. リカバリ実行中

リカバリ実行中の画面です。この処理にはしばらく時間がかかります。

10. リカバリ成功

リカバリが成功しました。 をクリックしデー

タベースをオープンできます。

意外と簡単!?Oracle Database 11g Release 1 30

バックアップとリカバリ編

11. リカバリ結果

データベースが正常にオープンされたことが表示されます。SYSTEM 表領

域のリカバリは完了です。 をクリックして画面を終了してください。

以上、SYSTEM 表領域のメディア障害に対しリカバリを実施しました。

ユーザー表領域のリカバリ

ユーザー表領域を構成するファイルに障害が発生した場合は、該当の表領域を

オフラインに設定することでデータベースを稼動したままリカバリを行うことが

可能です。

準備:今回の実習では、ユーザー表領域(USERS)を手動でオフラインに設定

し、データファイルをリネームしてリカバリを行うこととします。

意外と簡単!?Oracle Database 11g Release 1 31

バックアップとリカバリ編

準備 1:ユーザー表領域をオフラインにする

Enterprise Managerより、以下の手順でUSERS表領域をオフラインにしておきます。

1. 表領域の画面を開く ホーム画面より「サーバー」タブをクリックします。「記憶域」グループの

中から「表領域」をクリックします。

2. 表領域

表領域の一覧が表示されます。USERS 表領域を選択し、プルダウンメニュー

より「オフラインに設定」を選択し「実行」をクリックします。

3. 表領域をオフラインに設定

オフラインモードとして「標準」を選択し、「OK」をクリックします。

意外と簡単!?Oracle Database 11g Release 1 32

バックアップとリカバリ編

4. 表領域:確認

USERS 表領域をオフラインに変更しました。

準備 2:データファイルをリネームする

続いて、以下のようにデータファイルをリネームしておきます。 >cd <データファイルのディレクトリ・パス> >rename USERS01.dbf USERS01.dbf.bak

ユーザー表領域をリカバリする

1. リカバリの実行画面を開く 「可用性」タブをクリックし、「リカバリの実行」をクリックします。

意外と簡単!?Oracle Database 11g Release 1 33

バックアップとリカバリ編

2. リカバリの実行

「エラーを含むデータファイル」というメッセージが表示されており、デ

ータファイルに問題があることがわかります。ユーザー指示のリカバリセ

クションにて、リカバリ有効範囲にデータファイルを選択し、ホスト資格

証明を入力して をクリックします。

3. オブジェクト・レベルのリカバリの実行: データファイル 自動でリカバリが必要なデータファイルが表示されています。該当の

「USERS」を選択して、 をクリックします。

POINT:リカバリしたいオブジェクトが自動で表示されない場合、「追

加」ボタンから追加が可能です。

4. オブジェクト・レベルのリカバリの実行:名前の変更

リストア先を指定する画面が表示されます。「いいえ、デフォルトの場所

にファイルをリストアします」を選択後、 をクリックしてください。

意外と簡単!?Oracle Database 11g Release 1 34

バックアップとリカバリ編

5. オブジェクト・レベルのリカバリの実行:確認

リカバリの詳細が表示されます。確認後「発行」をクリックしリカバリを

実行します。

6. 処理中:オブジェクト・レベルのリカバリの実行

7. リカバリの実行:結果

リカバリが成功しました。

意外と簡単!?Oracle Database 11g Release 1 35

バックアップとリカバリ編

8. USERS 表領域をオンラインに変更

準備1と同じ手順で「表領域」の画面を開き、USERS 表領域をオンライン

に設定します。

9. ユーザー表領域のリカバリが成功しました。

意外と簡単!?Oracle Database 11g Release 1 36

バックアップとリカバリ編

以上、このセクションでは、データベース稼動した状態でデータファイ

ルのリカバリを行いました。

制御ファイルのリカバリ 制御ファイルはデータベースの物理構造を格納しているファイルです。このフ

ァイルに障害が発生すると Oracle インスタンスは異常停止します。通常、制御フ

ァイルはミラー化されていますので、ひとつでも無事なファイルが残っていれば、

それを元にインスタンスを起動することができます。すべての制御ファイルが失

われた場合には、バックアップファイルからのリストアとデータベースのリカバ

リが必要となります。

実習:制御ファイルのリカバリを実行しよう

今回は制御ファイルのうち 1 つが消失した場合を想定して実習を行います。以

下のように制御ファイルのうちの1つをリネームしてリカバリを実行します。

準備:以下のように制御ファイルをリネームしておきます。 >cd <制御ファイルのディレクトリ・パス> >rename CONTROL01.CTL CONTROL01.CTL.bak

1. Enterprise manager Database Control から状態を確認 制御ファイルがひとつでもアクセス不可能な状態になるとデータベースはイ

ンスタンスを停止します。 Enterprise Manager Database Control を開き、

インスタンスが停止していることを確認します。リカバリの実行をクリックし

意外と簡単!?Oracle Database 11g Release 1 37

バックアップとリカバリ編

ます。

2. リカバリの実行:資格証明 ホスト資格証明を入力し続行をクリックします。

3. データベースログイン ユーザー名:SYS, パスワード:oracle, 接続モード:SYSDBA にてデータベ

ースへ接続します。

4. 障害の表示および管理 障害情報が表示されています。該当の内容を選択した状態でアドバイスをクリ

ックします。

意外と簡単!?Oracle Database 11g Release 1 38

バックアップとリカバリ編

POINT:制御ファイルに障害が発生している関係上、エラー

メッセージが正しく表示されない状態となっています。

5. リカバリ・アドバイス

リカバリのための RMAN スクリプトが表示されます。続行をクリックします。

6. リカバリ・ジョブ:確認

リカバリ内容の確認画面が表示されます。リカバリの実行をクリックします。

7. リカバリ・ジョブの実行

リカバリ・ジョブ実行中の画面です。この処理にはしばらく時間がかかります。

意外と簡単!?Oracle Database 11g Release 1 39

バックアップとリカバリ編

8. リカバリ成功

リカバリが成功しました。OK をクリックします。

9. データベースの起動

起動ボタンを押してデータベースを起動します。

POINT:この後はウィザードに従ってホストとデータベースの資格証

明を入力し、通常のデータベース起動の操作を行います。

以上、このセクションでは制御ファイルのひとつが消失した場合のリカバリ手順を行い

ました。

すべての制御ファイルが消失した場合 すべての制御ファイルが消失した場合にもデータベースのリカバリは可能です

が、上記に比べ高度な手順が必要となります。手順の詳細は以下のマニュアルを

参照してください。

Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 11g リリース

意外と簡単!?Oracle Database 11g Release 1 40

バックアップとリカバリ編

1(11.1)

19 Recovery Manager のリカバリの実行: 高度な例

バックアップ制御ファイルを使用したリカバリの実行

http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/backup

.111/E05700-02/rcmadvre.htm#2080

POINT:すべての制御ファイルが破損することのないよう、制御ファ

イルは別のディスクに必ず分散配置するようにしましょう。

(補足)障害パターンによるリカバリ方法

Oracle データベースは、様々なファイルによって構成されています。障害が発生したフ

ァイルの個所によって最適なリカバリ方法は異なりますので、本セクションを参考に最適

なリカバリ方法をご検討ください。手順や詳細はバックアップリカバリ関連マニュアルも

ご参照ください。

尚、本セクションの内容はアーカイブログモードでの運用を前提として記述しています。

データファイルの障害 各種の表領域を構成する物理的なファイルのことを「データファイル」と呼ん

でいますが、これらに障害が発生した場合のリカバリ方法です。

SYSTEM 表領域や、UNDO 表領を構成するデータファイルに障害が発生した場

合は、オンラインでの回復が行えないことに注意してください。一旦データベー

スを停止後、「MOUNT」モードにて起動する必要があります。

一時セグメント専用表領域を構成するデータファイルに障害が発生した場合、

一時表領域を再作成します。

意外と簡単!?Oracle Database 11g Release 1 41

バックアップとリカバリ編

REDO ログファイルの障害 REDOログファイルは、トランザクションの履歴を格納しているファイルです。

REDO ログファイルは、各グループが循環方式にて利用され上書きされる前にア

ーカイブ・ログとして待避されます。設定により、複数のメンバーを指定するこ

と で 、 Oracle 側 に て ミ ラ ー リ ン グ す る こ と が で き ま す 。

以下は REDO ログファイルに障害が発生した場合のリカバリ方法です。

REDO ログファイルの障害の場合、障害を受けた REDO ログファイルがカレン

ト(現在使用中のグループ)でない場合は、障害を受けた REDO ログファイルを

作成し直すだけでリカバリできます。カレントの REDO ログファイルが障害を受

けた場合は、最新の REDO ログファイルは失われることになりますので、参照可

能な REDO ログファイルの情報までを不完全回復することになります。

制御ファイルの障害 制御ファイルは、データベースの物理構成情報等が格納されているバイナリフ

ァイルです。

意外と簡単!?Oracle Database 11g Release 1 42

バックアップとリカバリ編

制御ファイルは、通常 Oracle にてミラーリングしていますので、全ての制御フ

ァイルが壊れない限り、正常なミラーファイルをコピーすることで回復可能です。

全ての制御ファイルを失った場合には、制御ファイルをバックアップから復元し

て回復することになります。この場合、不完全回復になりますので、過去に取得

しているオンライン・バックアップは使用できなくなります。即時にデータベー

ス全体のバックアップを取得することを推奨します。

おわりに 第二章では「バックアップとリカバリ編」として、データベースのバックアップとリカバリの操作を

Enterprise Manager から RMAN を使って実行する方法を実習しました。

バックアップとリカバリに関するより詳しい内容は、以下のマニュアルを参照してください。

Oracle Database 2 日でデータベース管理者 11g リリース 1(11.1)

9 バックアップおよびリカバリの実行

Oracle Database 概要 11g リリース 1(11.1)

15 バックアップおよびリカバリ

Oracle Database バックアップおよびリカバリ・ユーザーズ・ガイド 11g リリース 1

(11.1)

Oracle Database バックアップおよびリカバリ・リファレンス 11g リリース 1(11.1)

マニュアルは製品メディアパックに含まれるほか、以下の URL よりダウンロード可能で

す。

http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/index.htm

意外と簡単!?Oracle Database 11g Release 1 43

データベース構築の基礎編

日本オラクル株式会社

Copyright © 2008 Oracle Corporation Japan. All Rights Reserved. 無断転載を禁ず

この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあり

ます。日本オラクル社は本書の内容に関していかなる保証もいたしません。また、本書の内容に

関連したいかなる損害についても責任を負いかねます。

Oracle は米国 Oracle Corporation の登録商標です。文中に参照されている各製品名及びサ

ービス名は米国 Oracle Corporation の商標または登録商標です。その他の製品名及びサービス

名はそれぞれの所有者の商標または登録商標の可能性があります。

44 意外と簡単!? Oracle Database 11g Release1