oracleバックアップリカバリのrmanを異機にリカバリ


出典:https://blog.51cto.com/jiujian/1085478
注意事項:
1.ここで実験環境は同プラットフォーム、同バイト順、同バージョン、ソースマシンとターゲットマシンの同じディレクトリ構造である.
2.ターゲットマシンはoracleデータベースソフトウェアをインストールするだけでよい.
3.バックアップ・リカバリ・テスト環境を初めて利用し、その後、ソース・マシンからターゲット・マシンにコピー・バックアップし、制御ファイルに登録します.さようなら.
一、コピーパラメータファイルのバックアップ、制御ファイルのバックアップ、データファイルのバックアップ、および新しいホストへのアーカイブバックアップ
1.rmanソース・データベースへの接続
[oracle@oracle dbs]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Tue Dec 11 19:02:05 2012

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

connected to target database: CRM (DBID=3601019238)

RMAN>

2.パラメータファイルバックアップ、制御ファイルバックアップ、データファイルバックアップ、およびアーカイブバックアップの名前をそれぞれリストする
パラメータファイルのバックアップは次のとおりです.
RMAN> list backup of spfile;

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13      Full    7.11M      DISK        00:00:04     09-DEC-12      
        BP Key: 13   Status: AVAILABLE  Compressed: NO  Tag: TAG20121209T040058
        Piece Name: /oracle/app/db1/dbs/0dnsd96i_1_1
  SPFILE Included: Modification time: 09-DEC-12

制御ファイルのバックアップは次のとおりです.
RMAN> list backup of controlfile;

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
13      Full    7.11M      DISK        00:00:04     09-DEC-12      
        BP Key: 13   Status: AVAILABLE  Compressed: NO  Tag: TAG20121209T040058
        Piece Name: /oracle/app/db1/dbs/0dnsd96i_1_1
  Control File Included: Ckp SCN: 2779528241   Ckp time: 09-DEC-12

データファイルのバックアップは次のとおりです.
RMAN> list backup of database;

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
12      Full    599.38M    DISK        00:03:33     09-DEC-12      
        BP Key: 12   Status: AVAILABLE  Compressed: NO  Tag: TAG20121209T040058
        Piece Name: /oracle/app/db1/dbs/0cnsd8vq_1_1
  List of Datafiles in backup set 12
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 2779528081 09-DEC-12 /oracle/test/system1.dbf
  2       Full 2779528081 09-DEC-12 /oracle/test/zxb.dbf
  3       Full 2779528081 09-DEC-12 /oracle/test/sysaux01.dbf
  4       Full 2779528081 09-DEC-12 /oracle/test/users01.dbf
  5       Full 2779528081 09-DEC-12 /oracle/test/zxa.dbf
  6       Full 2779528081 09-DEC-12 /oracle/test/test1.dbf
  7       Full 2779528081 09-DEC-12 /oracle/test/zxc.dbf
  8       Full 2779528081 09-DEC-12 /oracle/test/undotbs1.dbf
  9       Full 2779528081 09-DEC-12 /oracle/test/zxbig.dbf

アーカイブ・バックアップのリストは次のとおりです.
RMAN> list backup of archivelog all;

注:アーカイブされたバックアップには、現在のオンラインログファイルが含まれている必要があります.
3.copyこれらを新しいホストにバックアップ
二、回復パラメータファイル及び制御ファイル
 1.新しいホスト上のORACLEの構成SID 
export   ORACLE_SID=CRM

 2.新しいホストでrman接続を開始
[oracle@oracle dbs]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Mon Dec 10 05:49:11 2012

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

connected to target database (not started)

3.dbidを設定し、インスタンスをnomount状態に起動する
RMAN> set dbid 3601019238

executing command: SET DBID

RMAN> startup nomount

startup failed: ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/oracle/app/db1/dbs/initCRM.ora'

starting Oracle instance without parameter file for retrival of spfile

Oracle instance started

Total System Global Area     159383552 bytes

Fixed Size                     2019224 bytes

Variable Size                 67108968 bytes

Database Buffers              83886080 bytes

Redo Buffers                   6369280 bytes

注記:rmanでは、パラメータファイルがなくても、デフォルトではDUMMYインスタンスが起動し、パラメータファイルを復元できます.
4.spfileファイルの復元
RMAN> restore spfile to '/oracle/app/db1/dbs/spfileCRM.ora' from '/oracle/app/db1/dbs/0dnsd96i_1_1';

Starting restore at 10-DEC-12

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=34 devtype=DISK

channel ORA_DISK_1: autobackup found: /oracle/app/db1/dbs/0dnsd96i_1_1

channel ORA_DISK_1: SPFILE restore from autobackup complete

Finished restore at 10-DEC-12


5.startup force nomount
RMAN> startup force nomount;

Oracle instance started

Total System Global Area     322961408 bytes

Fixed Size                     2020480 bytes

Variable Size                 96471936 bytes

Database Buffers             218103808 bytes

Redo Buffers                   6365184 bytes

6.制御ファイルの復元
RMAN> restore controlfile to '/oracle/CRM2/CRM/control01.ctl' from '/oracle/app/db1/dbs/0dnsd96i_1_1';

Starting restore at 10-DEC-12

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=210 devtype=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:04

Finished restore at 10-DEC-12

cp/oracle/CRM2/CRM/control01.ctl/oracle/CRM2/CRM/control02.ctl
7.ロード状態へのデータベースの起動
RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

三、新しい制御ファイルにデータファイルのバックアップとアーカイブバックアップを登録する
RMAN> catalog start with '/backup/';

searching for all files that match the pattern /backup/

List of Files Unknown to the Database

=====================================

File Name: /backup/0ensd96n_1_1

File Name: /backup/0bnsd8vn_1_1

File Name: /backup/0cnsd8vq_1_1

Do you really want to catalog the above files (enter YES or NO)? yes

cataloging files...

cataloging done

List of Cataloged Files

=======================

File Name: /backup/0ensd96n_1_1

File Name: /backup/0bnsd8vn_1_1

File Name: /backup/0cnsd8vq_1_1


四、ライブラリ全体を復元する
RMAN> restore database;

Starting restore at 10-DEC-12

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=209 devtype=DISK

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /oracle/test/system1.dbf

restoring datafile 00002 to /oracle/test/zxb.dbf

restoring datafile 00003 to /oracle/test/sysaux01.dbf

restoring datafile 00004 to /oracle/test/users01.dbf

restoring datafile 00005 to /oracle/test/zxa.dbf

restoring datafile 00006 to /oracle/test/test1.dbf

restoring datafile 00007 to /oracle/test/zxc.dbf

restoring datafile 00008 to /oracle/test/undotbs1.dbf

restoring datafile 00009 to /oracle/test/zxbig.dbf

channel ORA_DISK_1: reading from backup piece /oracle/app/db1/dbs/0cnsd8vq_1_1

channel ORA_DISK_1: restored backup piece 1

piece handle=/oracle/app/db1/dbs/0cnsd8vq_1_1 tag=TAG20121209T040058

channel ORA_DISK_1: restore complete, elapsed time: 00:02:56

Finished restore at 10-DEC-12

 
RMAN> recover database;

Starting recover at 10-DEC-12

using channel ORA_DISK_1

starting media recovery

archive log thread 1 sequence 16 is already on disk as file /oracle/CRM2/CRM/redo04b.log

archive log thread 1 sequence 17 is already on disk as file /oracle/CRM2/CRM/redo05.log

archive log filename=/oracle/CRM2/CRM/redo04b.log thread=1 sequence=16

archive log filename=/oracle/CRM2/CRM/redo05.log thread=1 sequence=17

media recovery complete, elapsed time: 00:00:05

Finished recover at 10-DEC-12

3.alter database open resetlogsデータベースを開く
SQL> alter database open resetlogs;

Database altered.

まとめ:これで、ライブラリはリカバリが完了し、以降はソースマシンのデータバックアップ、アーカイブバックアップ、またはアーカイブファイルをターゲットマシンにコピーし、制御ファイルにバックアップ(catalog start with'/backup/')を登録してリカバリを実行するだけです.