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

» 2006年06月30日 00時00分 公開
[森谷聡株式会社アゲハ]

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

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

SQL> !cp -p /opt/app/oracle/oradata/system01.dbf /work/ONLINE_BACKUP

SQL> !cp -p /opt/app/oracle/oradata/sysaux01.dbf /work/ONLINE_BACKUP

SQL> !cp -p /opt/app/oracle/oradata/undotbs01.dbf /work/ONLINE_BACKUP

SQL> !cp -p /opt/app/oracle/oradata/users01.dbf /work/ONLINE_BACKUP
リスト8 OSコマンドでバックアップ先へコピー

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

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

SQL> alter tablespace SYSTEM end backup;

表領域が変更されました。

SQL> alter tablespace SYSAUX end backup;

表領域が変更されました。

SQL> alter tablespace UNDOTBS1 end backup;

表領域が変更されました。

SQL> alter tablespace USERS end backup;

表領域が変更されました。

SQL> alter system archive log current;

システムが変更されました。
リスト9 表領域のバックアップモードを解除、オンラインREDOログファイルをアーカイブREDOログファイルに出力

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

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

SQL> select vt.name as tablespace_name,vd.name as file_name,
  2  vb.status,vb.change#,vb.time
  3  from v$backup vb,v$datafile vd,v$tablespace vt
  4  where vb.file#=vd.file#
  5  and vd.ts#=vt.ts#;

TABLESPACE_NAME FILE_NAME                                 STATUS     
      CHANGE# TIME
--------------- ----------------------------------------- -----------
-- ---------- --------
SYSTEM          /opt/app/oracle/oradata/system01.dbf      NOT ACTIVE 
       280882 06-06-18
UNDOTBS1        /opt/app/oracle/oradata/undotbs01.dbf     NOT ACTIVE 
       280904 06-06-18
SYSAUX          /opt/app/oracle/oradata/sysaux01.dbf      NOT ACTIVE 
       280892 06-06-18
USERS           /opt/app/oracle/oradata/users01.dbf       NOT ACTIVE 
       280913 06-06-18
リスト10 バックアップモードの解除を確認

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

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

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

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

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

SQL> alter database backup controlfile to '/work/ONLINE_BACKUP/control
file_bk.ctl';

データベースが変更されました。

SQL> alter database backup controlfile to trace as '/work/ONLINE_BACKU
P/controlfile.bk';

データベースが変更されました。
リスト11 制御ファイルのバックアップ
「as ‘ファイル名’」句は、Oracle9i R2から指定可能で、指定がない場合はUSER_DUMP_DEST配下にトレースファイルを出力します

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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。