第17 章、複製目標資料庫

紅葉DBA發表於2011-02-27

17 章、複製目標資料庫

1.          Duplicate target database to aux1;   (簡單duplicate 命令)

2.        Run{                                                      (複雜duplicate 命令)

Set until time  xxx ;

Duplicate target database to aux1 pfile= xxx  nofilenamecheck

Device type sbt params  env=(nb_ora_serv=rmsrv) 

Logfile  xxx.log  size 100m, xxx  size 100m, xxx  size 100m;

}

3.        複製程式分為6個不同階段:

l  RMAN 確定備份的狀態和位置;

l  RMAN 在輔助例項上分配輔助通道;

l  RMAN 在輔助例項上還原資料檔案;

l  RMAN 構建新的輔助控制檔案;

l  如果有必要,RMAN 從備份中還原歸檔日誌,並進行必要的恢復操作;

l  RMAN 重置輔助例項的DBID ,並且使用resetlog 開啟輔助資料庫。

4.        如果使用的儲存介質為磁碟,那麼不需要另外分配輔助通道,使用預設的磁碟通道;如果使用的是磁帶,那麼就需要配置輔助通道:

Configure default device type to sbt;

Configure device type sbt parallelism 2;

Configure auxiliary channel 1 device type sbt params=( env=(xxx,xxx) );

5.        如果需要將資料檔案還原到不同的位置,有種方法:

n  Configure auxname for datafile 1 to  new location ;

n  Run{

Allocate channel xxx type  sbt_tape ;

Set newname for datafile 1 to  new location ;

Duplicate target database to aux1;

}

n  使用auxiliary 中的pfile 引數:

Db_file_name_convert=( old ,new ,old2 ,new2 );

n  此引數是一個簡單的串轉換引數,可以傳遞一個目錄名:

Db_file_name_convert=( /oracle/oradata/old ,oracle/oradata/new );

n  進一步簡化:Db_file_name_convert=( old ,new );

6.        修改資料庫DBID 的過程,在資料庫處於mount 狀態時,呼叫dbms_backup_restore.zerodbid(0) 的過程,該過程檢查每個資料檔案並將資料檔案頭的DBID 清零,然後關閉資料庫,並重新建立控制檔案,重新建立控制檔案的時候,Oracle 會檢查每個資料檔案頭的DBID ,如果沒有發現任何的DBID ,那麼就會重新生成DBID ,並且加入到每個資料檔案頭。

7.        在最後resetlogs 的過程中,會建立重做日誌檔案,如果在同一個環境中進行的實驗,那麼就必須要修改日誌檔案的位置了,使用pfile 中的轉換引數log_file_name_convert 來進行轉換,此引數和db_file_name_convert 用法類似。

8.        複製到相同伺服器的注意事項:

l  名稱問題,同一臺伺服器中,Oracle 記憶體在OS 中是以db_name 區分的,所以target auxiliary 例項必須具有不用的db_name instance_name

l  檔案位置問題,target auxiliary 必須使用不同的檔案位置,要修改位置的檔案包括:控制檔案、資料檔案、聯機日誌檔案。

9.        口令檔案很重要,在Unix 中,口令檔案必須命名為orapw ,儲存在dbs 目錄中,windows 中必須命名為pwd.ora ,儲存在database 目錄中。

10.     具體複製操作(相同伺服器 在一臺主機上的複製):

1)         構建相關的目錄,包括oradata admin adump bdump cdump udump archive 目錄(如果是FRA ,則是相應的FRA 目錄);

2)      複製目標資料庫的pfile 到輔助資料庫pfile 的位置;

3)      修改輔助據庫中的某些引數,如果需要的話,還要加上資料檔案目錄名稱的轉換;

4)      建立輔助資料庫的口令檔案;

5)      nomount 模式載入輔助資料庫,使用修改過的pfile 檔案;

6)      修改相應的網路配置檔案,使得目標資料庫和輔助資料庫有相應的訪問通道;

7)      RMAN 連線目標資料庫和輔助資料庫,執行duplicate 命令:

Duplicate target database to aux1 pfile=xxx

Logfile  xxx1  size 50m, xxx2 size 50m, xxx3  size 50m;

11.        注意:如果備份裝置為磁帶,那麼在執行duplicate 命令之前需要配置通道:

a)       Show channel;

b)       Configure auxiliary channel 1 device type  sbt_tape parms= ”xxx”;

12.     具體複製操作(相同資料庫):步驟類似,但是可不用轉換檔名,可使用NFS ,但是NFS 有可能會遇到問題:ORA-27054 NFS file system where the file is created or resides is not mounted with correct options;

13.     使用DBNEWID 實用程式修改 dbid

l  以一致狀態關閉整個資料庫,然後啟動資料庫到mount 狀態,接著執行DBNEWID 實用程式,最後以resetlogs 方式開啟資料庫。

l  Nid target /

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

相關文章