検索
連載

OSコマンドによる物理バックアップの全手順Oracleバックアップ/リカバリ講座(6)(4/5 ページ)

本記事では、Oracleデータベースのバックアップ/リストア/リカバリについて、そのアーキテクチャ、代表的なバックアップ手法、論理/物理バックアップ、RMANといった全般的な内容を解説していく。(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

手順4 OSコマンドでのデータファイルのバックアップ

 OSコマンドを使用して、先ほどバックアップモードへ変更した4つの表領域を構成するデータファイルをバックアップ先(/work/ONLINE_BACKUP)へコピーします。リスト8の例のように、「!」または「host」コマンドを入力することにより、SQL*Plus上からでもOSコマンドを入力することが可能です。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

手順5 表領域のバックアップモードの解除

 バックアップの完了した表領域のバックアップモードを解除後、バックアップ取得中に書き込まれたオンラインREDOログファイルをアーカイブREDOログファイルに出力します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

手順6 表領域のバックアップモード解除の確認

 表領域のバックアップモードが解除されたことを確認します。SYSTEM表領域、SYSAUX表領域、UNDOTBS1表領域、USERS表領域の状態(STATUS列)がバックアップモード解除(NOT ACTIVE)に変更されたことが確認できます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

手順7 アーカイブREDOログファイルのバックアップ

 バックアップ方法については、この後のアーカイブREDOログファイルのバックアップで詳しく説明します。ここではデータファイルのバックアップ取得後、アーカイブREDOログファイルをバックアップすることを覚えておいてください。

手順8 制御ファイルのバックアップ

 制御ファイルのバックアップを取得する場合、バイナリファイルとして取得する方法とcreate controlfile文を含んだトレースファイルとして取得する方法があります。

 バイナリファイルとして取得した場合には、アーカイブREDOログファイルの履歴情報、読み取り専用およびオフライン表領域のオフライン範囲などが含まれ、トレースファイルとして取得した場合には制御ファイルの作成に必要なSQL文が含まれています。バックアップした制御ファイルを使用したリカバリを行う場合、データベース構成ファイルの情報が正しいトレースファイルを利用して制御ファイルを作成すると、RESETLOGSオプションを使用せずにデータベースのオープンが可能となります。そのため、両方の方法でバックアップを取得することをお勧めします。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

TIPS 2

アーカイブREDOログファイルのバックアップ取得タイミング

 非一貫性バックアップを取得するときには、データファイルのバックアップ、アーカイブREDOログファイルのバックアップ、そして制御ファイルのバックアップという順に取得していました。毎回この順番でバックアップを取得することで、この組み合わせを1つの世代として見なします。

 例として、バックアップを反対に制御ファイル、アーカイブREDOログファイル、データファイルの順に取得し、データベース全体のリストア、リカバリが必要になったと想定します。この際に、ディスク障害などでアーカイブREDOログファイルを含むデータベース構成ファイルがすべて壊れてしまったとします。この状態でリカバリする場合、最新のバックアップのデータファイルをリストアしても適用可能なアーカイブREDOログファイルがなく、もう1世代前のバックアップにあるデータファイルをリストアし、その後で最新バックアップに含まれるアーカイブREDOログファイルを適用することになります。

 このため、バックアップの順番についてもリストア、リカバリするときのことを考慮して、決定する必要があります。

TIPS 3

一括バックアップモード解除

 バックアップモード中にインスタンス障害などが発生してしまった場合、バックアップモード中のデータファイルはそのままバックアップモードになっています。このような状況でデータベースをオープンしようとするとエラー(ORA-01113)が発生するため、バックアップモードの解除が必要になります。

 このような場合、データベースをマウントした状態(startup mount)で各データファイルのバックアップモードを解除する必要がありますが、Oracle9i(9.0.1)からは「alter database end backup」を使用することにより、一括でバックアップモードを解除することが可能です(Oracle 10gでは、データベースがオープン状態でも実行可能です)。

 また、Oracle 10g(10.1)からは「alter database begin backup」が追加されたことにより、全データファイルを一括でバックアップモードに設定することも可能となりました。ストレージ機能で全データファイルをバックアップするなど、短時間でバックアップモードを解除できるデータベースでは有効な方法です。Oracleのバージョンによって、実行可能なコマンドや実行する際のデータベースの状態が異なりますので注意してください。

TIPS 4

読み取り専用表領域のバックアップ

 読み取り専用表領域のバックアップでは、データファイルに対する更新が許可されないため、表領域バックアップモードへ変更する必要がありません(変更するとORA-01642が発生します)。そのため、データファイルの状態がオンラインのまま、OSコマンドでそのままバックアップが可能です。また、読み取り専用表領域ではデータは更新しないので、読み取り専用へ変更後の最初の一度だけバックアップを取得し、次回のバックアップ取得時には読み取り専用表領域をバックアップ対象から除外できるので、バックアップの取得時間の短縮が可能です。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る