Oracle Duplicate database
Oracle Duplicate database
duplicate分為2種模式,1.直接從active狀態的庫直接複製;2.從目標庫的備份檔案來複制;現在兩種方法都介紹下,直接上乾貨。
試驗環境(2臺機器):
target db:TESTA
aux db:TESTA(db_name可修改)
一、備份方式複製
步驟:1.檢查是否為archivelog模式(mount狀態下alter database archivelog)。
2.切換日誌(alter system switch logfile;)。
3.RMAN備份資料庫及歸檔日誌,生成備份檔案(這裡要在rman中把控制檔案自動備份功能開啟,不然要就在備份雨中加上備份控制檔案的子句)。
4.copy target db的pfile和備份檔案到aux機器上(並修改pfile的中引數,如db_name或檔案路徑不一致時)。
5.aux庫設定ORACLE_SID引數。
6.aux建立密碼檔案。
7.aux建立spfile並startup nomount。
8.rman duplicate database。
實施:
1.檢查是否為archivelog模式
這裡可以看到是archive mode的。
2.切換日誌
3.備份
可以看到這裡生成了4個檔案。
4.複製target db的pfile和備份檔案到aux db上
我這裡aux的例項名和路徑都是一樣的,所以不用修改引數檔案(如果不一樣則修改pfile中的db_name或用
db_file_name_convert和log_file_name_convert引數進行修改)
5.aux庫設定ORACLE_SID引數
6.在aux庫建立密碼檔案(sys密碼最好與target 庫的保持一致)
7.aux建立spfile並startup nomount
8.rman duplicate database。
這是aux db已經複製完成,檢查狀態。
二、active模式複製
步驟同一種大致一樣,
1.不同的部分為第三步的備份動作不需要,改成配置tnsnames.ora檔案。 檔案路徑
$ORACLE_HOME/network/admin/tnsnames.ora
紅色塗改部分為target db和aux db主機的IP。target和aux 報紙tnsnames.ora一樣即可。
2.duplicate語句不同,改為
duplicate target database to TESTA from active database;
PS:一定要注意ORACLE_SID變數的值,資料檔案所在的路徑目錄是否都存在等