環境:
OS:Red Hat Linux As 5
DB:Oracle 10.2.0.4
有些時候因為測試環境需要,我們需要使用生產庫的備份組在另外一台新的機器上做恢複(前提是新機器事先安裝Oracle軟體,版本跟原庫一致),下面是恢複過程.
1.在原庫上做全備(在原庫上操作)
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup format '/u02/rman_backup/full_backup/full_backup_%T_%s' database;
sql 'alter system archive log current';
backup format '/u02/rman_backup/full_backup/arc_backup_%T_%s' archivelog all;
release channel c1;
release channel c2;
}
2.查看原庫的DBID(在原庫上操作)
因為在做恢複的過程中需要設定DBID,這裡需要找到原庫的DBID
SQL> select dbid from v$database;
DBID
----------
1820932955
-----以下的操作沒有特殊說明,全部在目的庫上操作-----
3.使用ftp將原庫上的備份組拷貝到目的庫的目錄/u02/ftp/(具體操作省略)
4.在新機器上建立如下目錄
mkdir /u02/mydb
mkdir -p /u02/mydb/oracl/{adump,bdump,cdump,dpdump,udump,pfile}
mkdir -p /u02/mydb/oradata/oracl
mkdir -p /u02/mydb/flash_recovery_area
5.建立密碼檔案
orapwd file=/u01/app/oracle/product/10.2.0/db_1/dbs/orapworacl.ora password=oracle
6.恢複參數檔案
[oracle@hxlbak ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Fri Jun 29 06:51:54 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database (not started)
RMAN>set dbid 1820932955 -- 這裡的dbid需要跟原庫保持一致
RMAN> startup nomount
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initoracl.ora'
starting Oracle instance without parameter file for retrival of spfile
Oracle instance started
Total System Global Area 159383552 bytes
Fixed Size 1218268 bytes
Variable Size 54528292 bytes
Database Buffers 100663296 bytes
Redo Buffers 2973696 bytes
RMAN> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initoracl.ora' from '/u02/ftp/full_backup_20120628_37';
Starting restore at 29-JUN-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=36 devtype=DISK
channel ORA_DISK_1: autobackup found: /u02/ftp/full_backup_20120628_37
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 29-JUN-12
備份組full_backup_20120628_3裡7包含了參數檔案,我們在備份資料的時候會預設備份參數檔案,可以在原庫使用list backup查看,list backup輸出部分內容如下:
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
35 Full 80.00K DISK 00:00:01 28-JUN-12
BP Key: 35 Status: AVAILABLE Compressed: NO Tag: TAG20120628T184555
Piece Name: /u02/rman_backup/full_backup/full_backup_20120628_37
SPFILE Included: Modification time: 28-JUN-12
恢複了參數檔案initoracl.ora後,因為原庫和目的庫各檔案儲存的路徑不一致,這個時候需要修改參數檔案,修改的地方如下,各檔案路徑指向新目錄:
*.audit_file_dest='/u02/mydb/oracl/adump'
*.background_dump_dest='/u02/mydb/oracl/bdump'
*.control_files='/u02/mydb/oradata/oracl/control01.ctl','/u02/mydb/oradata/oracl/control02.ctl','/u02/mydb/oradata/oracl/control03.ctl'
*.core_dump_dest='/u02/mydb/oracl/cdump'
*.db_recovery_file_dest='/u02/mydb/flash_recovery_area'
*.user_dump_dest='/u02/mydb/oracl/udump'
7.使用編輯好的參數檔案啟動資料庫到nomount狀態並恢複控制檔案
SQL> startup nomount pfile=/u01/app/oracle/product/10.2.0/db_1/dbs/initoracl.ora
ORACLE instance started.
Total System Global Area 1048576000 bytes
Fixed Size 1223368 bytes
Variable Size 310379832 bytes
Database Buffers 734003200 bytes
Redo Buffers 2969600 bytes
SQL>
恢複控制檔案
RMAN> restore controlfile from '/u02/ftp/full_backup_20120628_36';
Starting restore at 29-JUN-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:05
output filename=/u02/mydb/oradata/oracl/control01.ctl
output filename=/u02/mydb/oradata/oracl/control02.ctl
output filename=/u02/mydb/oradata/oracl/control03.ctl
Finished restore at 29-JUN-12
跟參數檔案一樣,在備份資料的時候會預設備份了控制檔案,備份組full_backup_20120628_36中包含了控制檔案,同樣可以在原庫使用list backup查看,list backup輸出部分內容如下:
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
34 Full 6.98M DISK 00:00:02 28-JUN-12
BP Key: 34 Status: AVAILABLE Compressed: NO Tag: TAG20120628T184555
Piece Name: /u02/rman_backup/full_backup/full_backup_20120628_36
Control File Included: Ckp SCN: 1545845 Ckp time: 28-JUN-12