可以從現(xiàn)有的數(shù)據(jù)庫中復(fù)制出一份新的數(shù)據(jù)庫。這在一些場合是很有用的。例如從生產(chǎn)庫中復(fù)制出一個測試庫來搭建開發(fā)和測試環(huán)境,生成大型報表而不影響生產(chǎn)系統(tǒng)的響應(yīng)時間,從復(fù)制數(shù)據(jù)庫中導(dǎo)出無意從生產(chǎn)庫中刪除的一個表,然后將它重新導(dǎo)入到生產(chǎn)庫中,以及Data guard等應(yīng)用。
在這里oracle數(shù)據(jù)庫復(fù)制技術(shù),我們把原生產(chǎn)數(shù)據(jù)庫稱之為目標(biāo)數(shù)據(jù)庫,而由生產(chǎn)庫復(fù)制出來的庫稱之為輔助數(shù)據(jù)庫。11g之前創(chuàng)建輔助數(shù)據(jù)庫過程需要將目標(biāo)數(shù)據(jù)庫的備份(包括增量備份和歸檔日志)事先保存在輔助數(shù)據(jù)庫實例可以訪問到的文件系統(tǒng)上。而11g開始無需為操作事先創(chuàng)建或復(fù)制備份,可直接從已打開或已加載的目標(biāo)數(shù)據(jù)庫中復(fù)制出輔助數(shù)據(jù)庫,這種技術(shù)稱之為活動數(shù)據(jù)庫復(fù)制(
)。
能夠創(chuàng)建輔助數(shù)據(jù)庫的基本要求是原目標(biāo)數(shù)據(jù)庫應(yīng)處于歸檔模式。當(dāng)然,正常的生產(chǎn)庫都應(yīng)當(dāng)是具備這個條件的。
下面用實例說明,如何從我們網(wǎng)絡(luò)上的一個生產(chǎn)數(shù)據(jù)庫mes中復(fù)制出一個輔助數(shù)據(jù)庫newdb到本地機(jī)器,實現(xiàn)活動數(shù)據(jù)庫復(fù)制。
1、創(chuàng)建口令文件
輔助數(shù)據(jù)庫的口令必須與目標(biāo)數(shù)據(jù)庫口令相同,通過在操作系統(tǒng)命令提示符下執(zhí)行命令來完成
file=%%\\.ora =mes =3
force=y
這里口令文件采用系統(tǒng)下口令文件標(biāo)準(zhǔn)的命名方式,即PWD.ora的形式。
2、編制靜態(tài)初始化參數(shù)文件并創(chuàng)建相應(yīng)目錄
文件中一般需要指定以下幾個重要參數(shù):
:數(shù)據(jù)庫名稱
:數(shù)據(jù)塊大小,應(yīng)當(dāng)與原數(shù)據(jù)庫匹配oracle數(shù)據(jù)庫復(fù)制技術(shù),如果未指定,則默認(rèn)為2KB。而一般創(chuàng)建的數(shù)據(jù)庫塊大小默認(rèn)都是8KB,所以這里需要特別指定
:控制文件路徑
:用于轉(zhuǎn)換數(shù)據(jù)文件和臨時文件路徑的字符串對
t:用于轉(zhuǎn)換聯(lián)機(jī)日志文件路徑的字符串對
:歸檔日志文件目標(biāo)位置
:歸檔日志文件命名格式
t:閃回恢復(fù)區(qū)目標(biāo)位置
:閃回恢復(fù)區(qū)大小
參數(shù)文件路徑放置于%%\,按照pfile文件的命名規(guī)則,文件名應(yīng)為.ora,文本內(nèi)容如下,缺少的目錄需手工創(chuàng)建
=newdb
=8192
=('D:\\NEWDB\.CTL','D:\\\NEWDB\.CTL')
=('D:\\MES','D:\\NEWDB')
t=('D:\\MES','D:\\NEWDB')
='=d:\\newdb\'
='arc_%d_%t_%r_%s.log'
t='d:\\'
=4g
3、創(chuàng)建實例服務(wù)
在操作系統(tǒng)命令提示符下執(zhí)行命令
-new -sid newdb
4、連接空閑實例并啟動到狀態(tài)
在操作系統(tǒng)命令提示符下切換SID到輔助庫
set =newdb
/ as
啟動實例到狀態(tài)
5、構(gòu)建并重啟實例到狀態(tài)
由pfile創(chuàng)建
from pfile;
重啟實例到狀態(tài)
abort
6、配置監(jiān)聽和服務(wù)名
配置好本地機(jī)器的數(shù)據(jù)庫監(jiān)聽和服務(wù)名,同時也要配置好目標(biāo)機(jī)器上的服務(wù)名,確保本地機(jī)器和目標(biāo)機(jī)器都能夠彼此連接到目標(biāo)數(shù)據(jù)庫和輔助數(shù)據(jù)庫。
7、對目標(biāo)庫做日志切換
由于過程對輔助庫執(zhí)行不完整恢復(fù),一直恢復(fù)到目標(biāo)庫最后的歸檔日志文件為止。因此輔助庫并不包含目標(biāo)庫尚未進(jìn)入歸檔的事務(wù)。若要盡可能的與目標(biāo)庫一致,可在前先對目標(biāo)庫做幾次日志切換。
在操作系統(tǒng)命令提示符下切換SID到目標(biāo)庫
set
=mes
/ as
連續(xù)做三次日志切換
alter
;
alter
;
alter
;
8、用RMAN命令同時連接到目標(biāo)數(shù)據(jù)庫和輔助數(shù)據(jù)庫
在操作系統(tǒng)命令提示符下啟動RMAN,這里用戶名和密碼不能省略,否則復(fù)制不會成功
rman sys/mes@mes
sys/mes@newdb
9、執(zhí)行活動數(shù)據(jù)庫復(fù)制
to newdb from eck;
命令中表示不對文件名進(jìn)行檢查,如果輔助庫和目標(biāo)庫文件名稱相同則需要該選項。
至此完成活動數(shù)據(jù)庫復(fù)制,從生產(chǎn)庫mes中復(fù)制出一份新的數(shù)據(jù)庫newdb到本地機(jī)器。于是我們可以在本地克隆出的數(shù)據(jù)庫上進(jìn)行自己的開發(fā)、測試和學(xué)習(xí)研究,而不影響原庫的運行。
說明:復(fù)制過來的庫聯(lián)機(jī)日志文件默認(rèn)在閃回恢復(fù)區(qū),根據(jù)需要可以考慮重定向。