利用rman恢復來複制資料庫

靜以致遠√團團發表於2014-02-20

利用rman來實現資料庫的複製,其實質是利用備份來恢復一個不存在的資料庫

 

前提是目標系統上有完全一致oracle軟體,並且要求資料庫名要一致

首先要在源資料庫上用rman做完整的備份,至少要有源庫的spfile,和整庫的備份,控制檔案的備份及歸檔日誌的備份

 

將以上的所以備份copy至目標資料庫

 

在目標資料庫上建立pfile,如需要可以修改相關引數

SQL> create pfile='orcl_pfile.ora' from spfile='/u01/spfileorcl.ora'

 

建立引數檔案中所需要的目錄

修改完成後利用該pfile建立二進位制的引數檔案並啟動資料庫到nomount狀態

SQL> creat spfile from pfile='orcl_pfile.ora';

 

設定ORACLE_SID與源庫一致,並rman登入

[oracle@orcl10g ~]$ export ORACLE_SID=orcl

[oracle@orcl10g ~]$ rman target /

 

設定DBID與源庫一致

RMAN> set DBID=1362189063

executing command: SET DBID

 

注:DBID在源庫rman登入時即可找到:

connected to target database: ORCL (DBID=1362189063)

 

利用備份的控制檔案來修復

RMAN> restore controlfile from '/u01/app/orcl_rman_back/controlfile_02-20.bak';

 

Starting restore at 20-FEB-14

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=159 devtype=DISK

 

channel ORA_DISK_1: restoring control file

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

output filename=/u01/app/oracle/oradata/orcl/control01.ctl

output filename=/u01/app/oracle/oradata/orcl/control02.ctl

output filename=/u01/app/oracle/oradata/orcl/control03.ctl

Finished restore at 20-FEB-14

修改資料庫到mount狀態

RMAN> alter database mount;

 

database mounted

released channel: ORA_DISK_1

 

恢復資料庫(也可自己指定備份路徑,若兩庫的備份路徑一樣,無需指定)

RMAN> restore database;

channel ORA_DISK_1: restored backup piece 1

piece handle=/u01/app/orcl_rman_back/all_backup_02-20_840018591.bak tag=TAG20140220T102951

channel ORA_DISK_1: restore complete, elapsed time: 00:01:16

Finished restore at 20-FEB-14

 

恢復資料庫,由於備份不是一致性備份,會出現錯誤提示

RMAN> recover database;

 

Starting recover at 20-FEB-14

using channel ORA_DISK_1

starting media recovery

unable to find archive log

archive log thread=1 sequence=5

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of recover command at 02/20/2014 11:11:16

RMAN-06054: media recovery requesting unknown log: thread 1 seq 5 lowscn 833280

 

重做日誌開啟資料庫

 

RMAN> alter database open resetlogs;

database opened

 

登入資料庫檢視資料:

SQL> select count(*) from test;

 

  COUNT(*)

----------

       256

 

資料庫複製完成

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-1084407/,如需轉載,請註明出處,否則將追究法律責任。

相關文章