連載
» 2006年06月30日 00時00分 公開

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

[森谷聡,株式会社アゲハ]

 では、実際に一貫性バックアップの取得手順を見ていきましょう。

手順1 一貫性バックアップを取得する構成ファイルの確認

 一貫性バックアップを取得するために、データベースの構成ファイルを確認します。

SQL> select dt.tablespace_name,ddf.file_name,dt.status  ←(1)
  2  from dba_tablespaces dt, dba_data_files ddf
  3  where dt.tablespace_name = ddf.tablespace_name;

TABLESPACE_NAME      FILE_NAME                               STATUS
-------------------- --------------------------------------- ---------
SYSTEM               /opt/app/oracle/oradata/system01.dbf    ONLINE
UNDOTBS1             /opt/app/oracle/oradata/undotbs01.dbf   ONLINE
SYSAUX               /opt/app/oracle/oradata/sysaux01.dbf    ONLINE
USERS                /opt/app/oracle/oradata/users01.dbf     ONLINE

SQL> select dt.tablespace_name,dtf.file_name,dt.status  ←(2)
  2  from dba_tablespaces dt, dba_temp_files dtf
  3  where dt.tablespace_name = dtf.tablespace_name;

TABLESPACE_NAME      FILE_NAME                               STATUS
-------------------- --------------------------------------- ---------
TEMP                 /opt/app/oracle/oradata/temp01.dbf      ONLINE

SQL> select * from v$logfile;  ←(3)

    GROUP# STATUS  TYPE    MEMBER                                  IS_
---------- ------- ------- --------------------------------------- ---
         1         ONLINE  /opt/app/oracle/oradata/redo01.log      NO
         2 STALE   ONLINE  /opt/app/oracle/oradata/redo02.log      NO
         3         ONLINE  /opt/app/oracle/oradata/redo03.log      NO

SQL> select * from v$controlfile;  ←(4)

STATUS  NAME                                          IS_ BLOCK_SIZE 
FILE_SIZE_BLKS
------- --------------------------------------------- --- ---------- 
--------------
        /opt/app/oracle/oradata/control01.ctl         NO       16384 
           448
        /opt/app/oracle/oradata/control02.ctl         NO       16384 
           448
        /opt/app/oracle/oradata/control03.ctl         NO       16384 
           448
リスト1 データベースの構成ファイルを確認
(1)データファイルの確認
(2)テンポラリファイルの確認
(3)オンラインREDOログファイルの確認
(4)制御ファイルの確認

手順2 データベースを正常に停止

 一貫性バックアップを取得するために、データベースを正常に停止し、SQL*Plusを終了します。

SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsとの接続が切断されました。
oracle@single>
リスト2 データベースを停止しSQL*Plusを終了

手順3 データベース構成ファイルのバックアップ

 OSコマンドを使用して、データベース構成ファイルをバックアップ先(/work/OFFLINE_BACKUP/)へコピーします。

cp -p /opt/app/oracle/oradata/* /work/OFFLINE_BACKUP/
リスト3 OSコマンドを使用してバックアップ先へコピー

手順4 データベースを起動

 すべてのファイルのバックアップ完了後、SQL*Plusを立ち上げ、データベースを起動します。

oracle@single> sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 日 6月 18 11:34:58 2006

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn /as sysdba
アイドル・インスタンスに接続しました。
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area   67108864 bytes
Fixed Size                  1217740 bytes
Variable Size              41945908 bytes
Database Buffers           20971520 bytes
Redo Buffers                2973696 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL> select instance_name,status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
v102             OPEN
リスト4 データベースの起動

TIPS 1

一貫性バックアップ時にオンラインREDOログファイルは取得すべきか

 以下の理由から、オンラインREDOログファイルのバックアップは推奨されていません。

  • オンラインREDOログファイル自体は、障害からの回復時に、RESETLOGSオプションを指定することで作成可能であるため

  • リストア時に、誤って最新のオンラインREDOログファイルを上書きしてしまう危険性があるため(リストア時に、一貫性バックアップからオンラインREDOログファイルも戻してしまうと、アーカイブモードで運用していても障害発生直前までの復旧ができなくなる)

 ただし、RESETLOGSオプションを指定したオンラインREDOログファイルの作成には、若干の時間がかかる点に注意が必要です。例えば、オンラインREDOログファイルが2Gbytesで、3メンバーから構成されており、Oracleの機能でミラーリングされている場合を考えます。仮に1つのオンラインREDOログファイルの作成に1分30秒かかる場合、オンラインREDOログファイル再作成のために9分間かかることになります。より短い時間で一貫性バックアップ時点への回復を行いたい場合や、テスト前に一貫性バックアップを取得し、テスト完了後に戻す場合など、一貫性バックアップからのリストアが頻繁に発生すると予想される場合には、オンラインREDOログファイルも一貫性バックアップに含めることを検討します。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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