不同配置決定不同的復制的流程
一遠程站點相同路徑結構的復制
Duplicating a Database on a Remote Host with the Same Directory Structure
對於這種選擇而言操作實在太過簡單你甚至不需要修改初始化參數文件或者重命名復制的數據文件(可惜做測試的話這卻不能做為我們的首選一般測試都只有一台機器難道讓我再虛擬個操作系統?)如果是多台機器的話這種操作非常省事步驟也很少
創建輔助實例
Rman連接並運行duplicate命令結束
確實太簡單的是吧好吧那我來給你找點麻煩注意第步其執行是有幾個先決條件的或者說偉大的oracle大人又一次下放了它高貴的權力而給你來做出選擇如下
如果沒有配置自動分配通道的話表忘記至少手工指定條輔助通道
不要忘記指定NOFILENAMECHECK參數
就像前面說的如果輔助實例並非服務器端初始化參數文件啟動表忘記指定PFILE參數更加表忘記該文件必須在運行RMAN的客戶端上
例如假設你配置了自動分配通道並且決定使用pfile啟動輔助實例那麼在RMAN連接到目標庫和輔助實例之後只需要執行下列
DUPLICATE TARGET DATABASE TO dupdb
PFILE = F:\oracle\product\\admin\jssdup\pfile\initora
NOFILENAMECHECK;
最後RMAN會自動以RESETLOGS方式打開數據庫並重建REDO LOGS竣工
二遠程站點不同路徑結構的復制
Duplicating a Database on a Remote Host with a Different Directory Structure
如果副本數據庫創建在遠程站點並且目錄結構也不一致那麼你必須修改幾個初始化參數值以便副本數據庫的數據文件能夠在新的目錄結構存取這種類型的復制又可以細分成幾個小類
在初始化參數中重命名復制文件和日志文件復制步驟如下
a) 首先還是創建輔助實例注意初始化參數的配置按下列的方式進行一些調整
? 浏覽初始化參數中以_DEST結尾的參數以及包含路徑的參數確認這些路徑對即將創建的副本數據庫有效
? 設置DB_FILE_NAME_CONVERT參數讓其自動轉換數據文件路徑
? 設置LOG_FILE_NAME_CONVERT參數讓其自動轉換日志文件路徑
所謂道有千條我取其一除了上述方式之外呢還有很多其它方法來指定文件存放路徑比如CONFIGURE AUXNAME或SET NEWNAME命令等等不過此處是在寫初始化參數中重命名類型的復制就不多占篇章了後面有章節專門講解感興趣的朋友不妨keep你的好奇心往下看)
b) RMAN連接並執行duplicate命令結束
在這裡同樣需要注意輔助通道的分配和pfile的加載(如果使用pfile的話)
例如我們使用自動分配通道並且輔助實例使用服務器端初始化參數文件這下dulicate命令更簡單了
DUPLICATE TARGET DATABASE TO dupdb
這種方式主要的工作都在創建輔助實例上
在Duplicate命令中重命名數據日志文件復制步驟如下
a 創建輔助實例
b RMAN連接運行Duplicate命令注意此處需要加些參數如下
? 通道還是通道!如果沒有自動分配通道則至少要手工指定一條輔助通道
? 通過LOGFILE子句指定副本數據庫redo logs文件地址大小等
? 通過DB_FILE_NAME_CONVERT轉換原數據文件路徑到新路徑
? pfile又見pfile如果使用了pfile的話表忘記指定pfile參數
例如我們使用自動分配通道但輔助實例未使用服務器端初始化參數文件手工指定日志文件數據文件路徑示例如下
DUPLICATE TARGET DATABASE TO dupdb
PFILE = F:\oracle\product\\admin\jssdup\pfile\initora
DB_FILE_NAME_CONVERT=(F:\oracle\oradata\jssweb\F:\oracle\oradata\jssdup\)
LOGFILE
F:\oracle\oradata\jssdup\redolog SIZE M
F:\oracle\oradata\jssdup\redolog SIZE M
F:\oracle\oradata\jssdup\redolog SIZE M;
使用SET NEWNAME命令重命名數據文件復制步驟如下
a 創建輔助實例
b RMAN連接並按下列步驟執行
? 配置通道
? 使用SET NEWNAME命令設置數據文件新路徑
? Duplicate命令設置logfile如輔助實例采用pfile要加載pfile
本節重點是SET NEWNAME命令格式見例
RUN
{
# set new filenames for the datafiles
SET NEWNAME FOR DATAFILE TO F:\oracle\oradata\jssdup\systemdbf;
SET NEWNAME FOR DATAFILE TO F:\oracle\oradata\jssdup\undotbsdbf;
# issue the duplicate command
DUPLICATE TARGET DATABASE TO dupdb
# create at least two online redo log groups
}
使用CONFIGURE AUXNAME命令重命名數據文件復制步驟如下
略與上同不詳述唯一不同處即是CONFIGURE AUXNAME命令格式如例而且configure命令是在run塊外執行的
# configure the new desired filenames
CONFIGURE AUXNAME FOR DATAFILE TO F\oracle\oradata\jssdup\systemdbf
CONFIGURE AUXNAME FOR DATAFILE TO F\oracle\oradata\jssdup\undotbsdbf
# …… add more CONFIGURE AUXNAME commands as needed
不過需要注意的是duplicate執行完之後推薦清除CONFIGURE AUXNAME這樣就不會對未來的類似操作造成影響
# clear specified auxiliary names for the datafiles
CONFIGURE AUXNAME FOR DATAFILE CLEAR
CONFIGURE AUXNAME FOR DATAFILE CLEAR
三本地創建
Creating a Duplicate Database on the Local Host
與第二種遠程站點不同路徑結構的復制有%以上的相似性唯一不同的是本地創建的話需要注意DB_NAME與目標數據庫不可相同這點主要體現在輔助實例中初始化參數的配置裡其它的操作步驟可以完全復制第二種中介紹的各種方法所以也就不詳述了)
除此之外呢還有比如向ASM存儲系統復制或向OMF存儲復制等等復制流程與上基本大同小異不過就是初始化參數文件中設置不同的參數或者將參數設置成不同的值罷了
從上面那些我們能分析一下雖然oracle細分了這麼多類型的操作但萬變不離其宗有點是其核心第是保證輔助實例的初始化參數文件中文件路徑的有效性第是執行duplicate時注意與輔助實例初始化參數設置的配合
From:http://tw.wingwit.com/Article/program/Oracle/201311/18270.html