基于Data Pump技術(shù)的數(shù)據(jù)庫備份與恢復(fù)
引言
F0C系統(tǒng)作為我公司核心系統(tǒng)一直是保障的重點,在很長的一段時間里一直使用Export和1mport實用工具進行數(shù)據(jù)庫的備份和恢復(fù),雖然這種方式成效明顯,卻受客戶/服務(wù)器工具的限制,只是普通的單用戶進程,導(dǎo)入導(dǎo)出需消耗較長 時間。
DataPump是一種在數(shù)據(jù)庫之間高速傳輸數(shù)據(jù)的技術(shù)。從0racle10g開始,0racle提供了更為高效的基于服務(wù)器的數(shù)據(jù)導(dǎo)入導(dǎo)出使用程序DataPump ,所有的DataPump都作為一個服務(wù)器進程,數(shù)據(jù)不再必須由一個客戶程序處理,DataPump工具的導(dǎo)出和導(dǎo)入能夠高效地實現(xiàn)0racle數(shù)據(jù)庫之間的數(shù)據(jù)傳輸。
1常用的DataPump參數(shù)及定義
(1)C0NTENT:指定要導(dǎo)出的內(nèi)容 ,默認(rèn)值為ALL。當(dāng)設(shè)置C0NTENT為ALL時,將導(dǎo)出對象定義及其所有數(shù)據(jù):當(dāng)設(shè)置C0NTENT為DATA0NL一時,只導(dǎo)出對象數(shù)據(jù):當(dāng)設(shè)置C0NTENT為YETADATA0NL一時,只導(dǎo)出對象定義。
(2)D12ECT02一:指定轉(zhuǎn)儲文件和日志文件所在的目錄,用于指定目錄對象 名稱 。需 要 注 意 目 錄 對 象 是 使 用C2EATED12ECT02一語句邏輯創(chuàng)建的對象 ,而不是0R目錄。
(3)D3YPF1LE:指定轉(zhuǎn)儲文件的名稱 ,可自定義 ,默認(rèn)名稱為expdat.dmp。
(4)F3LL:指定全庫導(dǎo)出模式,默認(rèn)為N。
(5)L0GF1LE:指定導(dǎo)出日志文件的名稱 ,默認(rèn)名稱為export.log,可自定義。
(6)RCHEYAR:指定執(zhí)行方案模式導(dǎo)出,默認(rèn)為當(dāng)前用戶方案。
(7)2EYAPRCHEYA:在1YPDP時將源方案的所有對象裝載到目標(biāo)方案中 。
2Date Pump應(yīng)用實例
2.1EXPDP導(dǎo)出操作步驟
DataPump在0racle里必須先創(chuàng)建D12ECT02一邏輯 目錄 。
(1)創(chuàng)建邏輯目錄:在創(chuàng)建邏輯目錄前,需先在硬盤中創(chuàng)建相應(yīng)路徑的文件夾(如創(chuàng)建d盤中的focexpdp文件夾)。
Createdirectoryfocexpdpas‘d:\focexpdp':
(2)賦權(quán):使用戶scalfoc有對目錄focexpdp讀寫權(quán)限。Grantread,writeondirectoryfocexpdptoscalfoc:
(3)導(dǎo)出用戶:使用ExPDP命令導(dǎo)出scalfoc用戶。expdpsystem/***directory=focexpdpschemas=scalfocdumpfile=focfull.dmplogfile=focfull.log
2.2導(dǎo)入操作步驟(IMPDP)
(1)在備份機中創(chuàng)建scalfoc表空間 。Createtablespacescalfocdatafile‘D:\oracle\product\l0.M.0\oradata\ora8l7\scalfoc.dbf'sizeM0480mautoextendon:
(2)在備份機中創(chuàng)建用戶scalfoc并賦權(quán)。
Grantconnect,resource,dbatoscalfoc:
(3)使用1YPDP命令在備份機中導(dǎo)入數(shù)據(jù)。impdpsystem/******directory=focexpdpschemas=scalfocdumpfile=focfull.dmplogfile=focfullimp.log
2.3測試
2.3.1測試過程
正常打開F0C系統(tǒng),數(shù)據(jù)導(dǎo)入成功,如圖1所示。
2.3.2 測試結(jié)果對比
通過對比測試結(jié)果(表1)可以發(fā)現(xiàn):使用DataPump工具所用總時間為78min(導(dǎo)出時間為73min,通過FTP工具獲取 到本地需5min)。而采用傳統(tǒng)Exp/1mp方式需時為108min。當(dāng) 進行數(shù)據(jù)庫恢復(fù)時,傳統(tǒng)的Exp/1mp方式需時為lMs min ,而使用Data Pump方式需時僅為13 min。
3 結(jié)語
在實際測試中可以發(fā)現(xiàn),相較傳統(tǒng)的Exp/1mp方式,選擇DataPump方式恢復(fù)數(shù)據(jù)庫的時間僅為傳統(tǒng)方式的1!10,一旦FoC數(shù)據(jù)庫發(fā)生故障,可以在15min內(nèi)完成最近一次備份的數(shù)據(jù)恢復(fù),大幅度提高核心系統(tǒng)數(shù)據(jù)庫的恢復(fù)效率。目前,我公司已將該技術(shù)進行推廣,所有基于orac1e10g以上版本的數(shù)據(jù)庫均采用DataPump技術(shù)進行數(shù)據(jù)庫的備份與恢復(fù)。