11G 新特性: 可通過DUPLICATE 命令不需要連線目標資料來複制資料庫

kewin發表於2012-03-28
11G 新特性: 可通過DUPLICATE 命令不需要連線目標資料來複制資料庫
Kevin Zou
2012-3-28
在9I開始,我們可以通過DUPLICATE來複制一個資料庫,而不用常用的cold backup/restore的方式來實現。這是個進步。
到了11GR2,Oracle 允許我們DUPLICATE時,目標資料庫不一定要求ONLINE。
如果目標資料庫不線上,那複製的源來自哪裡呢?
答案是來自BACKUP SET。
在9I時,在DUPLICATE時,需要對目標資料庫做個ONLINE BACKUP ,再DUPLICATE。
到了11G,把目標庫和BACKUP SET分開,都可以來DUPLICATE。
1) 如果目標庫沒有ONLINE,那必須有效的BACKUP SET;
2) 如果目標庫線上,可以不要backup。
這篇文章主要介紹沒有第一種情況。

實施的過程:
1) 做個全庫+ 歸檔日誌的備份;
RMAN > backup database plus archivelog;
2) 讓備份日誌可以被DUPICATE 訪問;
  如果DUPLICATE的資料庫在另外的SERVER上,那需要把備份集拷貝到對應的SERVER;
  如果在本地SERVER,那可以保留在原先的目錄或者移動到其他目錄;
3) 建立輔助例項的密碼檔案;
4) 建立輔助例項的引數檔案;
    檔案只有一個引數: 
DB_NAME=dup11r2
5)把輔助例項啟動到NOMOUNT狀態;
% export ORACLE_SID=dup11r2
% export ORACLE_HOME=/home/oracle/ora11g
% export PATH=$ORACLE_HOME/bin:$PATH
% sqlplus "/as sysdba"
SQL > startup nomount
6) 通過RMAN 連線輔助例項並進行DUPLICATE 操作;
% rman auxiliary /

RMAN > DUPLICATE DATABASE TO dup11r2
UNTIL TIME "TO_DATE('29-MAY-2010 14:16:42','DD-MON-YYYY HH24:MI:SS')"
SPFILE
set control_files='D:\dup11r2\c1.ctl'
set db_file_name_convert='D:\Database\Ora11g2\ora11g2','d:\dup11r2'
set log_file_name_convert='D:\Database\Ora11g2\ora11g2','d:\dup11r2'
BACKUP LOCATION 'D:\dup11r2'
;

ORACLE真的越來越智慧啦。
看了幾個新特性,覺得12C出來後,DBA能做的就更少了。
汗。。。。

-THE END-


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

相關文章