oracle系統(tǒng)備份與恢復(fù)指導(dǎo)手冊(cè)_第1頁(yè)
oracle系統(tǒng)備份與恢復(fù)指導(dǎo)手冊(cè)_第2頁(yè)
oracle系統(tǒng)備份與恢復(fù)指導(dǎo)手冊(cè)_第3頁(yè)
oracle系統(tǒng)備份與恢復(fù)指導(dǎo)手冊(cè)_第4頁(yè)
oracle系統(tǒng)備份與恢復(fù)指導(dǎo)手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ZLHIS產(chǎn)品數(shù)據(jù)庫(kù)備份與恢復(fù)指導(dǎo)手冊(cè)總頁(yè)數(shù)23正文21附錄日期:2013年07月22日編制:文仲?gòu)徍耍?修改: 目錄目錄21.導(dǎo)論32.常見(jiàn)備份方式32.1.邏輯備份32.2.物理備份42.3.常見(jiàn)備份比較43.數(shù)據(jù)泵工具53.1.什么是數(shù)據(jù)泵53.2.數(shù)據(jù)泵同EXP/IMP邏輯備份的比較53.3.常用參數(shù)介紹63.4.數(shù)據(jù)泵備份恢復(fù)案例84.RMAN工具104.1.什么是RMAN104.2.基本概念104.3.使用RMAN進(jìn)行備份114.4.Rman備份恢復(fù)案例155.總結(jié)221. 導(dǎo)論在ZLHIS產(chǎn)品應(yīng)用過(guò)程中,數(shù)據(jù)庫(kù)備份和恢復(fù)一直是非常重要的環(huán)節(jié),我們工作中需要備份情況主要有以下兩種

2、:Ø 日常數(shù)據(jù)備份:防止系統(tǒng)出現(xiàn)操作失誤或系統(tǒng)故障導(dǎo)致數(shù)據(jù)丟失。Ø 升級(jí)前備份:用作升級(jí)失敗后快速回退的基線。目前大部分渠道還在采用傳統(tǒng)的EXP/IMP邏輯方式進(jìn)行備份,這種備份方式操作簡(jiǎn)單,技術(shù)人員掌握起來(lái)比較容易,但是同時(shí)它也存在一些弊端,特別是在三甲用戶升級(jí)備份環(huán)境下,弊端尤其明顯,如下表列出升級(jí)備份采用EXP/IMP備份常見(jiàn)問(wèn)題:備份情況升級(jí)備份備份開(kāi)始時(shí)間只能升級(jí)前備份備份過(guò)程時(shí)間時(shí)間比較長(zhǎng),一般在按小時(shí)計(jì)算備份過(guò)程業(yè)務(wù)影響業(yè)務(wù)無(wú)法使用升級(jí)失敗后恢復(fù)恢復(fù)時(shí)間長(zhǎng),一般為備份時(shí)長(zhǎng)的2倍以上通過(guò)上表可以看到,傳統(tǒng)的EXP/IMP邏輯備份方式已不能滿足現(xiàn)在的業(yè)務(wù)需要,我們

3、有必要對(duì)常用的備份方式進(jìn)行比較,選取更為適合的備份方式推薦給渠道技術(shù)人員進(jìn)行使用和掌握。2. 常見(jiàn)備份方式2.1. 邏輯備份邏輯備份是指使用大家通常使用的傳統(tǒng)數(shù)據(jù)導(dǎo)出工具EXP/IMP,或者Oracle10g開(kāi)始出現(xiàn)的數(shù)據(jù)泵工具EXPDP/IMPDP,將數(shù)據(jù)導(dǎo)出成DMP格式的操作系統(tǒng)文件保存的備份方式。數(shù)據(jù)泵工具EXPDP/IMPDP雖然在導(dǎo)出數(shù)據(jù)的速度方面有不小的提升,但面對(duì)數(shù)百GB的數(shù)據(jù)量這兩種導(dǎo)出數(shù)據(jù)的備份方式還是達(dá)不到速度的要求,顯得力不從心。邏輯備份通常作為物理備份的補(bǔ)充,在諸如快速恢復(fù)單張變化不大的字典表時(shí)就有一定的意義,比如恢復(fù)ZLHIS中的“部門(mén)表”。2.2. 物理備份物理備份

4、就是轉(zhuǎn)儲(chǔ)Oracle數(shù)據(jù)庫(kù)的物理文件(如數(shù)據(jù)文件、控制文件、歸檔日志文件等)的備份。一旦數(shù)據(jù)庫(kù)發(fā)生故障,再利用這些文件進(jìn)行還原。其中如我們通常使用的在安全關(guān)閉數(shù)據(jù)庫(kù)的情況下復(fù)制Oracle數(shù)據(jù)庫(kù)物理文件到備份磁盤(pán)的方式稱(chēng)作冷備份。在Oracle數(shù)據(jù)庫(kù)處于打開(kāi)狀態(tài),但通過(guò)Oracle數(shù)據(jù)庫(kù)命令將表空間或數(shù)據(jù)庫(kù)置于備份(backup)狀態(tài),然后再?gòu)?fù)制Oracle數(shù)據(jù)庫(kù)物理文件到備份磁盤(pán)的方式稱(chēng)作熱備份。熱備份要求Oracle數(shù)據(jù)庫(kù)運(yùn)行在歸檔模式下。同時(shí)RMAN備份也是一種物理備份,不是對(duì)象級(jí)的邏輯備份,可以用RMAN來(lái)備份數(shù)據(jù)文件、控制文件、參數(shù)文件、歸檔日志文件。在數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題的時(shí)候可以通過(guò)R

5、MAN物理備份來(lái)恢復(fù)數(shù)據(jù)庫(kù)。2.3. 常見(jiàn)備份比較目前我們渠道技術(shù)人員比較熟悉的備份方式主要有邏輯備份(EXP/IMP),冷備份和RMAN備份,結(jié)合10g推出的EXPDP/IMPDP,我們對(duì)這些主流備份方式在HIS升級(jí)前的操作進(jìn)行下對(duì)比(以數(shù)據(jù)文件總大小為100GB為例),看下他們各自的特點(diǎn):冷備份EXP/IMPEXPDP/IMPDPRMAN操作難度非常簡(jiǎn)單簡(jiǎn)單,命令略微復(fù)雜比較復(fù)雜歸檔模式無(wú)要求無(wú)要求無(wú)要求必須歸檔模式備份開(kāi)始時(shí)間升級(jí)前升級(jí)前升級(jí)前提前備份備份過(guò)程時(shí)間(估算)物理拷貝時(shí)間1.5小時(shí)左右1小時(shí)左右半小時(shí)左右業(yè)務(wù)影響業(yè)務(wù)停歇,無(wú)法使用業(yè)務(wù)停歇,無(wú)法使用業(yè)務(wù)停歇,無(wú)法使用提前備份,

6、不影響使用恢復(fù)方式備份集覆蓋IMP導(dǎo)入IMPDP導(dǎo)入備份集+日志恢復(fù)恢復(fù)時(shí)間(估算)物理拷貝時(shí)間3小時(shí)左右2小時(shí)左右1小時(shí)左右通過(guò)對(duì)比可以看出,面對(duì)大數(shù)據(jù),對(duì)停機(jī)時(shí)間有嚴(yán)格要求的環(huán)境的時(shí)候,采用RMAN備份方式是最佳的選擇,其次選擇EXPDP/IMPDP數(shù)據(jù)泵方式,不建議用冷備份和EXP/IMP邏輯備份方式,如果是小用戶,備份方式就根據(jù)實(shí)際情況以上四種都可以,接下來(lái)針對(duì)EXPDP/IMPDP數(shù)據(jù)泵和RMAN作簡(jiǎn)單的介紹。3. 數(shù)據(jù)泵工具3.1. 什么是數(shù)據(jù)泵Oracle 10g中開(kāi)始推出了一種新的備份方式數(shù)據(jù)泵(Data Dump)技術(shù),使DBA或開(kāi)發(fā)人員可以將數(shù)據(jù)庫(kù)元數(shù)據(jù)(對(duì)象定義)和數(shù)據(jù)快

7、速移動(dòng)到另一個(gè)oracle數(shù)據(jù)庫(kù)中,數(shù)據(jù)泵功能非常強(qiáng)大,可以實(shí)現(xiàn)如下作用。1、實(shí)現(xiàn)邏輯備份和邏輯恢復(fù);2、在數(shù)據(jù)庫(kù)用戶之間移動(dòng)對(duì)象;3、在數(shù)據(jù)庫(kù)之間移動(dòng)對(duì)象;4、實(shí)現(xiàn)表空間搬移;數(shù)據(jù)泵的工作原理和體系結(jié)構(gòu)如下圖所示:Data Pump生成的文件具有三種形式l SQL文件文件,描述指定作業(yè)所包含對(duì)象的若干DDL語(yǔ)句語(yǔ)句;l 轉(zhuǎn)儲(chǔ)文件轉(zhuǎn)儲(chǔ)文件,包含導(dǎo)出的數(shù)據(jù);l 日志文件,作業(yè)運(yùn)行的歷史記錄;3.2. 數(shù)據(jù)泵同EXP/IMP邏輯備份的比較Oracle的邏輯導(dǎo)入導(dǎo)出工具EXP/IMP由來(lái)已久,大部分人對(duì)于使用這工具也都不陌生。數(shù)據(jù)泵作為Oracle10g開(kāi)始推出新特性,同樣提供了導(dǎo)入導(dǎo)出的性能,而且

8、增加了導(dǎo)入導(dǎo)出的功能,他們的共同點(diǎn)都是邏輯備份工具,提取數(shù)據(jù)庫(kù)中對(duì)象的定義和數(shù)據(jù),將提取的結(jié)果保存到二進(jìn)制文件,但是他們存在比較大的差異,下面通過(guò)表格簡(jiǎn)單對(duì)比一下EXP/IMP和EXPDP/IMPDP。項(xiàng)目傳統(tǒng)EXP/IMP工具數(shù)據(jù)泵EXPDP/IMPDP兼容性實(shí)現(xiàn)了向下兼容必須10g數(shù)據(jù)庫(kù)以上客戶端可以在客戶端進(jìn)行所有的導(dǎo)入、導(dǎo)出都在SERVER端完成功能不支持并行、過(guò)濾、轉(zhuǎn)換、壓縮、交互支持并行、過(guò)濾、轉(zhuǎn)換、壓縮、交互等性能效率比較低,對(duì)于GB級(jí)別的導(dǎo)入性能比較差相對(duì)傳統(tǒng)EXP/IMP工具性能提高很大這里特別提下性能,數(shù)據(jù)泵EXPDP/IMPDP最大的優(yōu)點(diǎn)之一就是效率。雖然測(cè)試沒(méi)有達(dá)到Or

9、acle宣傳的導(dǎo)出導(dǎo)入速度,但是確實(shí)比EXP/IMP有了一個(gè)量級(jí)的提升。效率的提升主要由于幾個(gè)原因:第一、充分利用直接路徑方式,使得導(dǎo)入導(dǎo)出的效率大幅提高;第二、導(dǎo)入導(dǎo)出在服務(wù)器端完成,避免了網(wǎng)絡(luò)傳輸對(duì)導(dǎo)出、導(dǎo)入速度的影響;第三、可以通過(guò)并行來(lái)充分利用系統(tǒng)的CPU和IO資源;第四、優(yōu)化了默認(rèn)參數(shù),避免由于用戶沒(méi)有指定最佳的BUFFER參數(shù)而影響導(dǎo)入導(dǎo)出性能另外這里得提下數(shù)據(jù)泵同傳統(tǒng)的邏輯備份工具的備份文件雖然都是二進(jìn)制文件但是不能通用的,也就是說(shuō)用數(shù)據(jù)泵備份的文件必須用數(shù)據(jù)泵進(jìn)行恢復(fù)。3.3. 常用參數(shù)介紹數(shù)據(jù)泵在使用過(guò)程中有很多參數(shù)可以設(shè)置,它的性能提升很大程度上也是通過(guò)這些參數(shù)實(shí)現(xiàn),具體可

10、以通過(guò)輸入-help了解,這里我們把一些常用的參數(shù)簡(jiǎn)單的說(shuō)明下。l DIRECTORY數(shù)據(jù)泵由于需要將導(dǎo)出文件寫(xiě)入到服務(wù)器端,處于安全性的考慮,不能讓用戶隨意指定路徑和文件名,否則會(huì)造成很大的安全遺患,因此Oracle需要用戶指定DIRECTORY,并檢查用戶是否擁有這個(gè)DIRECTORY的讀寫(xiě)權(quán)限,然后將文件寫(xiě)入到指定的這個(gè)目錄中。事實(shí)上EXPDP也可以不帶DIRECTORY參數(shù),對(duì)于擁有DBA角色的用戶,可以使用Oracle默認(rèn)的DIRECTORY參數(shù)為DATA_DUMP_DIR,如果沒(méi)有指定DIRECTORY參數(shù),Oracle會(huì)首先檢查操作系統(tǒng)環(huán)境變量DATA_PUMP_DIR的值,如果

11、這個(gè)值沒(méi)有設(shè)置,那么DBA用戶會(huì)使用數(shù)據(jù)庫(kù)中DATA_PUMP_DIR,而普通用戶則直接報(bào)錯(cuò)。l PARALLEL并行度,這是數(shù)據(jù)泵性能提高的一個(gè)主要因素,傳統(tǒng)的EXP/IMP是到線程備份,而數(shù)據(jù)泵可以通過(guò)設(shè)置并行度,達(dá)到多線程同時(shí)備份的目的,從而大大提高備份和恢復(fù)的效率。l DUMPFILE導(dǎo)出的轉(zhuǎn)儲(chǔ)文件名,可以使用%u變量指定導(dǎo)出到多個(gè)文件,%u變量需與PARALLEL參數(shù)聯(lián)合使用,%u可以使導(dǎo)出的文件從0199編號(hào)。l LOGFILELOGFILE為日志記錄文件,也是可以指定DIRECTORY和名稱(chēng),如果不指定名稱(chēng),Oracle會(huì)在DIRECTORY參數(shù)指定的默認(rèn)路徑下創(chuàng)建一個(gè)名為exp

12、ort.log的文件。如果要避免LOGFILE的產(chǎn)生,可以設(shè)置NOLOGFILE=Y。LOGFILE參數(shù)中不但會(huì)記錄導(dǎo)入、導(dǎo)出過(guò)程中的輸出信息,而且包含錯(cuò)誤信息,以及導(dǎo)入、導(dǎo)出的命令。這對(duì)于了解一個(gè)DUMPFILE包含了何種內(nèi)容,十分有幫助,建議應(yīng)該明確指定名稱(chēng),且和DUMPFILE有很高的關(guān)聯(lián)性,最好可以一眼就看出DUMPFILE和LOGFILE直接的對(duì)應(yīng)關(guān)系。l INCLUDE和EXCLUDE數(shù)據(jù)泵的INCLUDE和EXCLUDE參數(shù)為包含和排除的意思,正式由于這2個(gè)參數(shù)的存在,使得數(shù)據(jù)泵的導(dǎo)出導(dǎo)入功能變得十分的強(qiáng)大,這2個(gè)參數(shù)可以完全替代替代IMP/EXP中的INDEXES、GRANDS

13、、TRIGGERS、CONSTRAINTS和STATISTICS參數(shù)。而且INCLUDE和EXCLUDE可以支持?jǐn)?shù)據(jù)庫(kù)中任意類(lèi)型的源數(shù)據(jù)的導(dǎo)出和導(dǎo)入,使得數(shù)據(jù)泵成為邏輯備份的合格工具。需要注意一點(diǎn),INCLUDE和EXCLUDE不能同時(shí)使用,否則會(huì)報(bào)錯(cuò)。l COMPRESSION壓縮參數(shù),設(shè)定了此參數(shù)會(huì)把轉(zhuǎn)儲(chǔ)文件進(jìn)行壓縮,從而大大節(jié)約備份空間,當(dāng)然這勢(shì)必增加備份和恢復(fù)的時(shí)間。以上只是數(shù)據(jù)泵一些常用的參數(shù),在實(shí)際使用過(guò)程中通過(guò)指定的參數(shù)值設(shè)置和靈活的組合,從而達(dá)到快速備份恢復(fù)的數(shù)據(jù)的目的。3.4. 數(shù)據(jù)泵備份恢復(fù)案例l 數(shù)據(jù)泵備份操作要想到達(dá)減少備份時(shí)間的目的,首先必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行必要的設(shè)置,然

14、后充分分析ZLHIS數(shù)據(jù)的特性,再利于數(shù)據(jù)泵的各種參數(shù)組合達(dá)到快速導(dǎo)出。Ø 創(chuàng)建DIRECTORY,保證路徑有效create directory expdp_dir as 'd:expdp_dir'Ø 加大undo表空間,避免由于undo過(guò)小在導(dǎo)出的時(shí)候出現(xiàn)快照過(guò)舊提示。Ø 執(zhí)行導(dǎo)出操作,采用全庫(kù)、并行、排除不必要的對(duì)象等方式在保障數(shù)據(jù)完整備份的同時(shí)加快導(dǎo)出速度(具體排除對(duì)象根據(jù)實(shí)際環(huán)境有所不同)。expdp system/his DUMPFILE=expdp_full_%U.dmp DIRECTORY=expdp_dir LOGFILE=expd

15、pfull.log FULL=y parallel=4 exclude=SCHEMA:" in "('SYS','SYSTEM','OUTLN','MGMT_VIEW','FLOWS_FILES','MDSYS','ORDSYS','EXFSYS','DBSNMP','WMSYS','WKSYS','WK_TEST','CTXSYS','ANONYMOUS

16、9;,'SYSMAN','XDB','WKPROXY','ORDPLUGINS','FLOWS_030000','OWBSYS','SI_INFORMTN_SCHEMA','OLAPSYS','SCOTT','ORACLE_OCM','TSMSYS','XS$NULL','MDDATA','DIP','APEX_PUBLIC_USER','SPATI

17、AL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR')""EXPDP導(dǎo)出案例如下,執(zhí)行命令后,在屏幕下出現(xiàn)如下執(zhí)行界面:連接到: Oracle Database 11g Enterprise Edition Release .0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options啟動(dòng) "SYSTEM"."SYS_EXPORT_FULL_0

18、1": system/* DUMPFILE=expdp_full_%U.dmp DIRECTORY=expdp_dir LOGFILE=expdpfull.log FULL=y parallel=4 exclude=SCHEMA:" in ('SYS','SYSTEM','OUTLN','MGMT_VIEW','FLOWS_FILES','MDSYS','ORDSYS','EXFSYS','DBSNMP','WMSYS

19、9;,'WKSYS','WK_TEST','CTXSYS','ANONYMOUS','SYSMAN','XDB','WKPROXY','ORDPLUGINS','FLOWS_030000','OWBSYS','SI_INFORMTN_SCHEMA','OLAPSYS','SCOTT','ORACLE_OCM','TSMSYS','XS$NULL

20、9;,'MDDATA','DIP','APEX_PUBLIC_USER','SPATIAL_CSW_ADMIN_USR','SPATIAL_WFS_ADMIN_USR')" -分配作業(yè)正在使用 BLOCKS 方法進(jìn)行估計(jì).處理對(duì)象類(lèi)型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA -expdp在估算導(dǎo)出文件的大小(這個(gè)操作會(huì)持續(xù)一段時(shí)間不動(dòng))使用 BLOCKS 方法的總估計(jì): 98.43 MB -expdp估算導(dǎo)出文件的大小. . 導(dǎo)出了 "SH".&

21、quot;CUSTOMERS" 9.853 MB 55500 行. . 導(dǎo)出了 "APEX_030200"."WWV_FLOW_STEP_ITEMS" 3.505 MB 9673 行. . 導(dǎo)出了 "PM"."ONLINE_MEDIA" 7.854 MB 9 行. . 導(dǎo)出了 "APEX_030200"."WWV_FLOW_STEP_PROCESSING" 2.188 MB 2239 行. . 導(dǎo)出了 "OE"."PRODUCT_DES

22、CRIPTIONS" 2.379 MB 8640 行. . 導(dǎo)出了 "APEX_030200"."WWV_FLOW_DICTIONARY$" 2.909 MB 70601 行*(略). . 導(dǎo)出了 "SH"."SALES":"SALES_Q4_2002" 0 KB 0 行. . 導(dǎo)出了 "SH"."SALES":"SALES_Q4_2003" 0 KB 0 行(完成表數(shù)據(jù)的導(dǎo)出)處理對(duì)象類(lèi)型 DATABASE_EXPORT/S

23、YSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM處理對(duì)象類(lèi)型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ*(略)處理對(duì)象類(lèi)型 DATABASE_EXPORT/AUDIT(導(dǎo)出各個(gè)用戶的對(duì)象,這個(gè)也會(huì)持續(xù)一段時(shí)間)已成功加載/卸載了主表 "SYSTEM"."SYS_EXPORT_FULL_01" SYSTEM.SYS_EXPORT_FULL_01 的轉(zhuǎn)儲(chǔ)文件集為: D:EXPDP_DIREXPDP_FULL_01.DMP D:EXPDP_DIREXPDP_FULL_

24、02.DMP D:EXPDP_DIREXPDP_FULL_03.DMP D:EXPDP_DIREXPDP_FULL_04.DMP作業(yè) "SYSTEM"."SYS_EXPORT_FULL_01" 已于 09:48:31 成功完成l 數(shù)據(jù)泵恢復(fù)操作數(shù)據(jù)泵的恢復(fù)過(guò)程也很簡(jiǎn)單,如果是異地恢復(fù),只需要注意異地?cái)?shù)據(jù)庫(kù)對(duì)應(yīng)表空間和DIRECTORY的位置,可以先手工創(chuàng)建,再執(zhí)行IMPDP導(dǎo)入。Ø 創(chuàng)建DIRECTORY,保證路徑有效create directory expdp_dir as 'd:expdp_dir'Ø 創(chuàng)建對(duì)應(yīng)表空

25、間,避免由于表空間路徑不一致,導(dǎo)致IMPDP導(dǎo)入時(shí)創(chuàng)建失敗,一般采用SQL生成表空間創(chuàng)建語(yǔ)句,腳本如下,注意一個(gè)表空間多數(shù)據(jù)文件的情況。select 'create tablespace ' | b.NAME | ' DATAFILE ' | chr(39) | a.NAME | chr(39) | ' SIZE ' | a.BYTES / 1024 / 1024 | ' m autoextend on ;' from v$datafile a, v$tablespace b where a.ts# = b.TS# And b.I

26、NCLUDED_IN_DATABASE_BACKUP='YES'Union Allselect 'Create Temporary Tablespace ' | b.NAME | ' Tempfile ' | chr(39) | a.NAME | chr(39) | ' SIZE ' | a.BYTES / 1024 / 1024 | ' m autoextend on ;' from v$tempfile a, v$tablespace b where a.ts# = b.TS# And b.INCLUDED_I

27、N_DATABASE_BACKUP='NO' Ø 利用IMPDP工具進(jìn)行導(dǎo)入,為了提升導(dǎo)入數(shù)據(jù),同樣采用并行方式,命令如下,執(zhí)行過(guò)程比較簡(jiǎn)單,這里就不再展示。impdp system/his DUMPFILE=expdp_full_%U.dmp directory=expdp_dir full=y LOGFILE=impdpfull.log parallel=4數(shù)據(jù)泵導(dǎo)出導(dǎo)入方式備份恢復(fù)數(shù)據(jù)雖然相比較傳統(tǒng)的EXP/IMP邏輯備份恢復(fù)在性能上有一定的提升,但是在面對(duì)500GB以上的數(shù)據(jù)用戶,還是顯得力不從心,這時(shí)我們就應(yīng)該選取更快捷的備份恢復(fù)方式,RMAN工具就是一個(gè)不

28、錯(cuò)的選擇。4. RMAN工具4.1. 什么是RMANRMAN(Recovery Manager,恢復(fù)管理器)是ORACLE數(shù)據(jù)庫(kù)用來(lái)備份和還原數(shù)據(jù)庫(kù)文件、歸檔日志和控制文件的工具。它可以用來(lái)執(zhí)行完全或不完全的數(shù)據(jù)庫(kù)恢復(fù),其通過(guò)RMAN啟動(dòng)數(shù)據(jù)庫(kù)上的Oracle服務(wù)器進(jìn)程來(lái)進(jìn)行備份或還原。4.2. 基本概念l 管理方式RMAN有2種備份管理方式Nocatalog方式與Catalog方式:Ø nocatalog方式就是用控制文件作為catalog,每一次備份都要往控制文件里面寫(xiě)備份信息,備份的信息都保存在控制文件中,而恢復(fù)的時(shí)候必須讀取控制文件中的信息。因此,當(dāng)使用rman nocata

29、log方式備份時(shí),備份controlfile是非常重要的;如果沒(méi)有包含備份信息的控制文件,將無(wú)法使用常規(guī)的方法來(lái)使用備份。Ø catalog方式Catalog 則必須首先要?jiǎng)?chuàng)建目錄備份數(shù)據(jù)庫(kù),建立恢復(fù)目錄,用于記錄RMAN使用過(guò)程中的控制信息,這樣就不用擔(dān)心控制文件的丟失,一般情況下恢復(fù)目錄應(yīng)該建立在另外一個(gè)單獨(dú)的數(shù)據(jù)庫(kù)中,脫離備份和恢復(fù)的數(shù)據(jù)庫(kù),單獨(dú)維護(hù)。兩種方式各有優(yōu)勢(shì),Catalog方式適合管理多個(gè)目標(biāo)庫(kù)的備份信息,存儲(chǔ)信息量大,而Nocatalog方式相對(duì)簡(jiǎn)單,我們目前一般推薦還是采用Nocatalog方式;最重要的原因是因?yàn)獒t(yī)院內(nèi)部,使用的數(shù)據(jù)庫(kù)并不太多,使用nocatal

30、og可以簡(jiǎn)化管理。我們只需要在備份的同時(shí)備份控制文件。Oracle默認(rèn)以Nocatalog方式登錄RMAN:oraclerac1$ rman target sys/hisorcl1Recovery Manager: Release .0 - Production on Fri May 11 16:16:17 2012Copyright (c) 1982, 2005, Oracle. All rights reserved.connected to target database: ORCL (DBID=1310021810)RMAN>l 備份集顧名思義就是一次備份的集合,

31、它包含本次備份的所有備份片,以oracle專(zhuān)有的格式保存。一個(gè)備份集根據(jù)備份的類(lèi)型不同,可能構(gòu)成一個(gè)完全備份或增量備份。l 備份片一個(gè)備份集由若干個(gè)備份片組成。每個(gè)備份片是一個(gè)單獨(dú)的輸出文件。一個(gè)備份片的大小是有限制的;如果沒(méi)有大小的限制,備份集就只由一個(gè)備份片構(gòu)成。備份片的大小不能大于你的文件系統(tǒng)所支持的文件長(zhǎng)度的最大值。RMAN的備份文件可以是由許多備份片組成的一個(gè)備份集,也就是說(shuō)一次備份產(chǎn)生多個(gè)備份文件,不同于EXP只有一次備份只生成一個(gè)DMP備份文件。l 通道通道(Channel)可以看作是一個(gè)IO的進(jìn)程,所以多通道的方式一般是提供RMAN的backup的并行度,對(duì)于多IO支持的設(shè)備,

32、效果明顯。我們可以用allocate channel來(lái)給他們分配通道,默認(rèn)情況下RMAN只有一個(gè)通道,我們可以通過(guò)執(zhí)行多個(gè)allocate channel命令來(lái)分配多個(gè)通道。4.3. 使用RMAN進(jìn)行備份l 備份數(shù)據(jù)文件為了更好的區(qū)別備份片,我們?cè)趥浞輸?shù)據(jù)文件的時(shí)候,最好單獨(dú)指定備份片的格式,通過(guò)format方式指定備份集的路徑和備份格式,如下,我們把備份集放在/oradata/rman/backupset目錄下,我們這里指定的備份集的格式為dbfull_%d_%u_%p_%s.bak:RMAN>backup database tag 'dbfullbackup' for

33、mat '/oradata/rman/backupset/dbfull_%d_%u_%p_%s.bak' -備份整個(gè)數(shù)據(jù)庫(kù)Starting backup at 11-MAY-12allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=1621 instance=orcl1 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput dataf

34、ile fno=00006 name=+DATE/orcl/datafile/zl9indexcis.dbfinput datafile fno=00005 name=+DATE/orcl/datafile/undotbs2.300.782241163input datafile fno=00002 name=+DATE/orcl/datafile/undotbs1.301.782241003input datafile fno=00007 name=+DATE/orcl/datafile/zl9cisrec.dbfinput datafile fno=00001 name=+DATE/orc

35、l/datafile/system.260.782241001input datafile fno=00003 name=+DATE/orcl/datafile/sysaux.267.782241003input datafile fno=00004 name=+DATE/orcl/datafile/users.263.782241003channel ORA_DISK_1: starting piece 1 at 11-MAY-12在沒(méi)有分配通道的情況下,RMAN會(huì)自動(dòng)分配一個(gè)通道,如上面紅色部分就是在分配通道。上面?zhèn)浞菁袷街械?d_%u_%p_%s是RMAN定義的一些備份保存格式,具體的

36、解釋如下:Ø %c 備份片的拷貝數(shù)Ø %d 數(shù)據(jù)庫(kù)名稱(chēng)Ø %D 位于該月中的第幾天 (DD) Ø %M 位于該年中的第幾月 (MM) Ø %F 一個(gè)基于DBID唯一的名稱(chēng),這個(gè)格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII為該數(shù)據(jù)庫(kù)的DBID,YYYYMMDD為日期,QQ是一個(gè)1-256的序列Ø %n 數(shù)據(jù)庫(kù)名稱(chēng),向右填補(bǔ)到最大八個(gè)字符Ø %u 一個(gè)八個(gè)字符的名稱(chēng)代表備份集與創(chuàng)建時(shí)間Ø %p 該備份集中的備份片號(hào),從1開(kāi)始到創(chuàng)建的文件數(shù)Ø %U 一個(gè)唯一的文件名,代

37、表%u_%p_%c Ø %s 備份集的號(hào)Ø %t 備份集時(shí)間戳Ø %T 年月日格式(YYYYMMDD)l 備份歸檔日志為了防止歸檔日志被人為刪除,我們?cè)趥浞莸臅r(shí)候可以考慮把歸檔日志一起備份,但是這要求備份預(yù)留空間要足夠大,另外為了考慮DATAGUARD的需要,不建議備份完了就馬上刪除歸檔,而是保留一定的冗余,下面的語(yǔ)句為備份歸檔的命令。一般情況下,我們都要求不能直接刪除歸檔日志,刪除前進(jìn)行備份:RMAN>backup archivelog all format '/oradata/rman/backupset/arc_%U.bak'l 重命名

38、數(shù)據(jù)文件在很多時(shí)候,由于備份和恢復(fù)的數(shù)據(jù)文件路徑不一致,我們?cè)诨謴?fù)的時(shí)候需要通過(guò)RMAN重命名數(shù)據(jù)文件,方法如下set newname for datafile<舊名稱(chēng)> to <新名稱(chēng)>如我們想把RAC下ASM的數(shù)據(jù)文件恢復(fù)到單實(shí)例的文件系統(tǒng)中,我們就需要通過(guò)set newname for 對(duì)路徑進(jìn)行修改,如下:RMAN> run 2> set newname for datafile 6 to '/u01/oradata/orcl/ zl9indexcis.dbf'3> restore database;4> 這里的

39、datafile后的6是這個(gè)文件的編號(hào),我們可以通過(guò)前面的備份的log文件中查找,如下,也可以通過(guò)v$datafile視圖進(jìn)行查詢。l 過(guò)期備份對(duì)于RMAN備份集有EXPIRED和OBSOLETE兩個(gè)狀態(tài),他們分別代表不同的含義,下面分別介紹下。Ø EXPIRED狀態(tài)對(duì)于EXPIRED狀態(tài)的產(chǎn)生,與crosscheck命令是密切相關(guān)的,RMAN通過(guò)crosscheck命令檢查備份是否存在于備份介質(zhì)上,如果不存在,則狀態(tài)由AVAILABLE改為EXPIRED,也就是說(shuō)EXPIRED表示該備份集介質(zhì)不存在。其中狀態(tài)的更新是通過(guò)crosscheck進(jìn)行交叉校驗(yàn),并更新備份集合的狀態(tài),狀態(tài)的

40、查詢通過(guò)list命令進(jìn)行查詢,如下,我們手工刪除一個(gè)備份集,在沒(méi)有交叉校驗(yàn)時(shí),該備份集的狀態(tài)為AVAILABLE,如下例:RMAN> list backup of database;-列出備份集List of Backup Sets=BS Key Type LV Size Device Type Elapsed Time Completion Time- - - - - - -1 Full 3.74G DISK 00:30:54 11-MAY-12 BP Key: 1 Status:AVAILABLE Compressed: NO Tag: DBFULLBACKUP Piece Name

41、: /u01/dbfull_ORCL_01nanpe8_1_1.bak List of Datafiles in backup set 1 File LV Type Ckp SCN Ckp Time Name - - - - - - 1 Full 14997814 11-MAY-12 +DATE/orcl/datafile/system.260.782241001 2 Full 14997814 11-MAY-12 +DATE/orcl/datafile/undotbs1.301.782241003 3 Full 14997814 11-MAY-12 +DATE/orcl/datafile/s

42、ysaux.267.782241003 4 Full 14997814 11-MAY-12 +DATE/orcl/datafile/users.263.782241003 5 Full 14997814 11-MAY-12 +DATE/orcl/datafile/undotbs2.300.782241163 6 Full 14997814 11-MAY-12 +DATE/orcl/datafile/zl9indexcis.dbf 7 Full 14997814 11-MAY-12 +DATE/orcl/datafile/zl9cisrec.dbfRMAN> crosscheck back

43、up of database;-交叉校驗(yàn)備份集using channel ORA_DISK_1crosschecked backup piece: found to be 'EXPIRED'backup piece handle=/u01/dbfull_ORCL_01nanpe8_1_1.bak recid=1 stamp=783018922RMAN> list backup of database;-再次列出備份集List of Backup Sets=BS Key Type LV Size Device Type Elapsed Time Completion Tim

44、e- - - - - - -1 Full 3.74G DISK 00:30:54 11-MAY-12 BP Key: 1 Status: EXPIRED Compressed: NO Tag: DBFULLBACKUP Piece Name: /u01/dbfull_ORCL_01nanpe8_1_1.bak List of Datafiles in backup set 1 File LV Type Ckp SCN Ckp Time Name - - - - - - 1 Full 14997814 11-MAY-12 +DATE/orcl/datafile/system.260.782241

45、001 2 Full 14997814 11-MAY-12 +DATE/orcl/datafile/undotbs1.301.782241003 3 Full 14997814 11-MAY-12 +DATE/orcl/datafile/sysaux.267.782241003 4 Full 14997814 11-MAY-12 +DATE/orcl/datafile/users.263.782241003 5 Full 14997814 11-MAY-12 +DATE/orcl/datafile/undotbs2.300.782241163 6 Full 14997814 11-MAY-12

46、 +DATE/orcl/datafile/zl9indexcis.dbf 7 Full 14997814 11-MAY-12 +DATE/orcl/datafile/zl9cisrec.dbf因此,真實(shí)的反應(yīng)備份集介質(zhì)是否存在,必須先對(duì)備份集進(jìn)行校驗(yàn),才能得到真實(shí)的結(jié)果。Ø OBSOLETE狀態(tài)對(duì)于obsolete狀態(tài),是針對(duì)RMAN備份保留策略來(lái)說(shuō)的,超過(guò)了這個(gè)保留策略的備份,會(huì)被標(biāo)記為obsolete,但其狀態(tài)依舊為AVAILABLE,我們可以使用report obsolete來(lái)查看已廢棄的備份。例如如果保留策略冗余數(shù)為1,如果有2個(gè)完整的備份集,則較早的一個(gè)備份集,就會(huì)被標(biāo)記為

47、obsolete。l 備份腳本舉例前面對(duì)一些備份的關(guān)鍵點(diǎn)進(jìn)行了講解,接下來(lái)我們以一個(gè)實(shí)際環(huán)境中的備份腳本,給他們進(jìn)行直觀的講解,rman的備份腳本是通過(guò)run 腳本進(jìn)行定義,示例如下:run allocate channel c1 type disk; -分配通道c1 allocate channel c2 type disk; -分配通道c2 allocate channel c3 type disk; -分配通道c3 allocate channel c4 type disk; -分配通道c4 sql 'alter system archive log current' -

48、備份前強(qiáng)制歸檔,為了保持文件頭一致 backup database tag 'dbfullbackup' format '/oradata/rman/backupset/dbfull_%d_%u_%p_%s.bak' ; -全庫(kù)備份數(shù)據(jù)文件 backup current controlfile format '/oradata/rman/backupset/ctl_%d_%T_%s'-備份當(dāng)前控制文件backup archivelog all format '/oradata/rman/backupset/arc_%U.bak';

49、-備份歸檔日志 crosscheck archivelog all; -對(duì)當(dāng)前歸檔日志進(jìn)行檢查,交叉校驗(yàn),更新歸檔狀態(tài) crosscheck backup of database; -對(duì)已經(jīng)有的備份集進(jìn)行檢查,交叉校驗(yàn),更新備份集狀態(tài) delete expired backup; -刪除expired狀態(tài)的備份集 delete obsolete redundancy=1; -刪除冗余備份集 release channel c1;-關(guān)閉通道c1 release channel c2;-關(guān)閉通道c2 release channel c3;-關(guān)閉通道c3 release channel c4;-關(guān)閉

50、通道c44.4. Rman備份恢復(fù)案例RMAN作為升級(jí)備份的推薦工具,主要的原因就是將物理備份的時(shí)間提前到升級(jí)之前進(jìn)行(比如升級(jí)當(dāng)天的中午,或前一天晚上);在正式升級(jí)時(shí),應(yīng)用物理備份時(shí)至當(dāng)前時(shí)間的歸檔日志。這樣,升級(jí)過(guò)程中,真正需要等待的時(shí)間就是應(yīng)用不多的歸檔日志,一般在幾分鐘甚至更短的時(shí)間即可完成,下面我們就以一個(gè)案例對(duì)RMAN的備份恢復(fù)進(jìn)行講解。l RMAN備份操作Ø 在生產(chǎn)庫(kù)上使用RMAN進(jìn)行全庫(kù)備份,根據(jù)前面的介紹,在確保有足夠的備份空間后,編寫(xiě)合適的rman腳本執(zhí)行,我這里執(zhí)行的腳本如下:C:Users >rman target /Recovery Manager:

51、Release .0 - Production on Tue May 1514:53:472012Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: SOURCE (DBID=2877619169)RMAN> run2> 3> allocate channel c1 type disk;4> allocate channel c2 type disk;5> allocate channel c3 type disk;6> all

52、ocate channel c4 type disk;7> backup database format 'd:backupdbfull_%d_%s_%U.bak' ;8> release channel c1;9> release channel c2;10> release channel c3;11> release channel c4;12> released channel: ORA_DISK_1released channel: ORA_DISK_2allocated channel: c1channel c1: sid=142

53、 devtype=DISKallocated channel: c2channel c2: sid=141 devtype=DISKallocated channel: c3channel c3: sid=140 devtype=DISKallocated channel: c4channel c4: sid=139 devtype=DISKStarting backup at 15-MAY-12channel c1: starting full datafile backupsetchannel c1: specifying datafile(s) in backupsetinput dat

54、afile fno=00001 name=D:ORACLEPRODUCT10.2.0ORADATASOURCESYSTEM01.DBFchannel c1: starting piece 1 at 15-MAY-12channel c2: starting full datafile backupsetchannel c2: specifying datafile(s) in backupsetinput datafile fno=00002 省略部分內(nèi)容.channel c3: backup set complete, elapsed time: 00:00:02Finished backu

55、p at 15-MAY-12released channel: c1released channel: c2released channel: c3released channel: c4Ø 備份控制文件,也可以與第一步并到一起,但一定要在數(shù)據(jù)文件備份完成以后,因?yàn)槲覀兪褂玫氖强刂莆募?lái)代替catalog,控制文件只在數(shù)據(jù)文件備份完成后,才會(huì)包括數(shù)據(jù)文件的備份情況。RMAN> backup current controlfile format 'd:backupctl_%d_%U.bak'Starting backup at 15-MAY-12allocated

56、 channel: ORA_DISK_1channel ORA_DISK_1: sid=142 devtype=DISKallocated channel: ORA_DISK_2channel ORA_DISK_2: sid=141 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetincluding current control file in backupsetchannel ORA_DISK_1: s

57、tarting piece 1 at 15-MAY-12channel ORA_DISK_1: finished piece 1 at 15-MAY-12piece handle=D:BACKUPCTL_SOURCE_3MNB25JN_1_1.BAK tag=TAG20120515T151919 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01Finished backup at 15-MAY-12我們來(lái)查看一下生成的備份文件集:CTL_SOURCE_3MNB25JN_1_1.BAK為控制文件備份集文件,其他的為數(shù)據(jù)文件備份集文件,至此,RMAN的備份操作就完成了,是不是很簡(jiǎn)單。l RMAN恢復(fù)操作數(shù)據(jù)文件和控制文件備份傳輸?shù)揭謴?fù)的服務(wù)器上,如果都是windows服務(wù)器,可以直接使用操作系統(tǒng)的復(fù)制/粘貼,如果是Unix/Linux服務(wù)器,可以使用ftp/sftp工具進(jìn)行文件傳輸。注意備份的存儲(chǔ)目錄與生產(chǎn)環(huán)境保持一致。Ø 在恢復(fù)服務(wù)器還原數(shù)據(jù)庫(kù)應(yīng)急/備份服務(wù)器需要安裝與生產(chǎn)庫(kù)相同版本的Oracle數(shù)據(jù)庫(kù),且建立一個(gè)數(shù)據(jù)庫(kù)名稱(chēng)相同的空實(shí)例。建立空實(shí)例的最簡(jiǎn)的方法就是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論