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