第8章 備份和恢復(fù)課件_第1頁(yè)
第8章 備份和恢復(fù)課件_第2頁(yè)
第8章 備份和恢復(fù)課件_第3頁(yè)
第8章 備份和恢復(fù)課件_第4頁(yè)
第8章 備份和恢復(fù)課件_第5頁(yè)
已閱讀5頁(yè),還剩92頁(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)介

清華大學(xué)出版社Oracle10g

數(shù)據(jù)庫(kù)技術(shù)普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材孟德欣主編黃偉文謝二蓮?fù)跸然ǜ敝骶幍?章備份和恢復(fù)第8章備份和恢復(fù)8.1備份和恢復(fù)概述8.2脫機(jī)備份和恢復(fù)8.3聯(lián)機(jī)備份和恢復(fù)8.4導(dǎo)出和導(dǎo)入8.5數(shù)據(jù)泵技術(shù)8.6在OEM中導(dǎo)入導(dǎo)出數(shù)據(jù)8.7恢復(fù)管理器8.8閃回技術(shù)8.9SQL*LOADER工具的使用第8章備份和恢復(fù)8.1備份和恢復(fù)概述由于計(jì)算機(jī)系統(tǒng)的故障,數(shù)據(jù)庫(kù)有時(shí)可能遭到破壞,這時(shí)如何盡快恢復(fù)數(shù)據(jù)就成為當(dāng)務(wù)之急。如果平時(shí)對(duì)數(shù)據(jù)庫(kù)做了備份,那么此時(shí)恢復(fù)數(shù)據(jù)就顯得很容易。Oracle數(shù)據(jù)庫(kù)系統(tǒng)的備份和恢復(fù)機(jī)制就是一項(xiàng)有利措施。備份和恢復(fù)指為保護(hù)數(shù)據(jù)庫(kù)免于數(shù)據(jù)破壞或在發(fā)生數(shù)據(jù)破壞后進(jìn)行數(shù)據(jù)重建的各種策略和步驟。所謂備份是指對(duì)重建數(shù)據(jù)庫(kù)的數(shù)據(jù)所建立的副本,恢復(fù)指利用備份的數(shù)據(jù)進(jìn)行重建數(shù)據(jù)庫(kù)的過(guò)程。Oracle系統(tǒng)提供了物理備份和邏輯備份兩種備份方式。物理備份指對(duì)構(gòu)成數(shù)據(jù)庫(kù)的各種物理文件建立副本,這里的物理文件指數(shù)據(jù)文件、控制文件及歸檔日志文件等,Oracle系統(tǒng)允許把這些物理文件的副本存放在備份設(shè)備上,所謂備份設(shè)備指用于放置數(shù)據(jù)庫(kù)備份的磁帶或磁盤等。邏輯備份指導(dǎo)出數(shù)據(jù)庫(kù)對(duì)象,如表、表空間、過(guò)程等數(shù)據(jù)庫(kù)對(duì)象。邏輯備份的結(jié)果以O(shè)racle提供的內(nèi)部格式寫入操作系統(tǒng)支持下的二進(jìn)制文件,重建數(shù)據(jù)庫(kù)時(shí)只需把這個(gè)二進(jìn)制文件導(dǎo)入數(shù)據(jù)庫(kù)中即可。

第8章備份和恢復(fù)8.1.1數(shù)據(jù)庫(kù)故障類型

1.系統(tǒng)故障:系統(tǒng)故障指系統(tǒng)在運(yùn)行過(guò)程中,發(fā)生操作系統(tǒng)錯(cuò)誤、突然停電等意外情況,造成所有正在運(yùn)行的事務(wù)都以非正常方式終止,內(nèi)存緩沖區(qū)中的數(shù)據(jù)全部丟失,但磁盤、磁帶等外設(shè)上的數(shù)據(jù)未受損失。通常情況下,在數(shù)據(jù)庫(kù)重新啟動(dòng)時(shí),恢復(fù)程序按照日志文件的記錄項(xiàng)自動(dòng)完成恢復(fù)操作。因此系統(tǒng)故障的恢復(fù)一般不需用戶進(jìn)行干預(yù)。2.介質(zhì)故障:介質(zhì)故障指系統(tǒng)在運(yùn)行過(guò)程中,由于硬件設(shè)施發(fā)生損壞,造成數(shù)據(jù)庫(kù)中的數(shù)據(jù)全部或部分丟失。介質(zhì)故障的危害性最大,但發(fā)生的可能性較小。介質(zhì)故障的恢復(fù),需要由數(shù)據(jù)庫(kù)管理員手工裝入最新的數(shù)據(jù)庫(kù)備份和日志文件備份,并執(zhí)行恢復(fù)命令。3.用戶故障:用戶故障指系統(tǒng)在運(yùn)行過(guò)程中,可能由于應(yīng)用程序的錯(cuò)誤或手工誤操作,造成數(shù)據(jù)庫(kù)中的數(shù)據(jù)被刪除或損壞。例如刪除數(shù)據(jù)庫(kù)中的重要的表,或者誤修改了表中的數(shù)據(jù)。用戶故障的恢復(fù)可以設(shè)置合理的恢復(fù)策略,由系統(tǒng)按照日志文件記錄的內(nèi)容進(jìn)行恢復(fù),或者使用閃回功能,這都需要管理員手工進(jìn)行干預(yù)。第8章備份和恢復(fù)8.1.2備份與恢復(fù)的內(nèi)容一般說(shuō)來(lái),在Oracle數(shù)據(jù)庫(kù)系統(tǒng)中,需要備份和恢復(fù)下面4種文件。1.?dāng)?shù)據(jù)文件2.控制文件3.各種參數(shù)文件4.日志文件第8章備份和恢復(fù)8.1.3數(shù)據(jù)庫(kù)備份的分類數(shù)據(jù)庫(kù)備份按照備份方式,分為物理備份和邏輯備份。其中,物理備份又分為脫機(jī)備份(冷備份)和聯(lián)機(jī)備份(熱備份)。脫機(jī)備份最簡(jiǎn)單,必須在關(guān)閉數(shù)據(jù)庫(kù)的情況下備份,用戶不能訪問(wèn)數(shù)據(jù)庫(kù)。聯(lián)機(jī)備份指在數(shù)據(jù)庫(kù)運(yùn)行開(kāi)期間就可以備份,用戶仍可以訪問(wèn)數(shù)據(jù)庫(kù)。聯(lián)機(jī)備份的實(shí)現(xiàn)比較復(fù)雜,數(shù)據(jù)庫(kù)必須運(yùn)行在歸檔模式下。聯(lián)機(jī)備份可以使用腳本或在RMAN中利用備份向?qū)?lái)實(shí)現(xiàn)。邏輯備份指將數(shù)據(jù)庫(kù)對(duì)象以O(shè)racle提供的內(nèi)部格式寫入操作系統(tǒng)支持下的二進(jìn)制文件。邏輯備份比較靈活,可以指定對(duì)特定對(duì)象的備份,通常用于轉(zhuǎn)儲(chǔ)數(shù)據(jù)。邏輯備份用EXP命令,邏輯恢復(fù)命令為IMP。此外,Oracle10g還提供功能更完善的數(shù)據(jù)泵技術(shù),即使用EXPDP和IMPDP命令實(shí)現(xiàn)。按照備份工具分類,數(shù)據(jù)庫(kù)備份可以分為OS(操作系統(tǒng))拷貝、EXP/IMP、EXPDP/IMPDP、RMAN及第三方工具備份。按備份的增量分類,數(shù)據(jù)庫(kù)備份可以分為全庫(kù)備份、增量備份和累計(jì)增量備份。第8章備份和恢復(fù)8.1.4備份與恢復(fù)策略在設(shè)計(jì)Oracle系統(tǒng)的備份與恢復(fù)策略時(shí),應(yīng)該從以下三個(gè)方面來(lái)維護(hù)數(shù)據(jù)庫(kù)的可恢復(fù)性。1)使數(shù)據(jù)庫(kù)的損壞次數(shù)減到最少,從而使數(shù)據(jù)庫(kù)保持最大的可用性。2)當(dāng)數(shù)據(jù)庫(kù)不可避免地?fù)p壞后,要使恢復(fù)時(shí)間減到最少,從而使恢復(fù)的效率達(dá)到最高。3)當(dāng)數(shù)據(jù)庫(kù)損壞后,要確保盡量少的數(shù)據(jù)丟失或根本不丟失,從而使數(shù)據(jù)具有最大的可恢復(fù)性。在具體實(shí)施過(guò)程中,制定一個(gè)切實(shí)可行的備份和恢復(fù)策略,應(yīng)把握以下幾點(diǎn)。1)在數(shù)據(jù)庫(kù)結(jié)構(gòu)發(fā)生改變時(shí),應(yīng)該進(jìn)行一次數(shù)據(jù)庫(kù)備份。2)周期性、有計(jì)劃地進(jìn)行數(shù)據(jù)庫(kù)備份。備份過(guò)程應(yīng)該保證數(shù)據(jù)庫(kù)系統(tǒng)的可恢復(fù)性和可用性。如果數(shù)據(jù)庫(kù)有較長(zhǎng)的關(guān)機(jī)時(shí)間,則可以每周進(jìn)行一次冷備份,并歸檔重做日志,對(duì)于關(guān)鍵行業(yè)的24*7的數(shù)據(jù)庫(kù)系統(tǒng)考慮熱備份。如果每天都能備份當(dāng)然會(huì)很理想,但要考慮其現(xiàn)實(shí)性。第8章備份和恢復(fù)8.1.4備份與恢復(fù)策略3)對(duì)于關(guān)鍵行業(yè)數(shù)據(jù)庫(kù),選擇運(yùn)行模式為歸檔模式,對(duì)于一般的數(shù)據(jù)庫(kù)系統(tǒng)或正處于開(kāi)發(fā)和調(diào)試的數(shù)據(jù)庫(kù)可以采用非歸檔模式。歸檔模式可以在數(shù)據(jù)庫(kù)發(fā)生故障時(shí)最大限度恢復(fù)數(shù)據(jù)庫(kù),保證不丟失任何已提交的數(shù)據(jù),而非歸檔模式只能恢復(fù)數(shù)據(jù)庫(kù)到最近的檢查點(diǎn)。4)絕對(duì)保證備份設(shè)備的安全性。無(wú)論采用哪種備份方式,備份設(shè)備都應(yīng)該與當(dāng)前正在運(yùn)行的數(shù)據(jù)庫(kù)系統(tǒng)所在的磁盤分離,這樣就可以保證當(dāng)數(shù)據(jù)庫(kù)發(fā)生介質(zhì)故障時(shí),也不會(huì)對(duì)備份在備份設(shè)備上的數(shù)據(jù)庫(kù)備份產(chǎn)生影響。第8章備份和恢復(fù)8.2脫機(jī)備份和恢復(fù)如果數(shù)據(jù)庫(kù)運(yùn)行在非歸檔模式下,則只能進(jìn)行脫機(jī)備份。脫機(jī)備份是一種完全備份,即對(duì)整個(gè)數(shù)據(jù)庫(kù)文件的備份。執(zhí)行脫機(jī)備份的過(guò)程是首先關(guān)閉數(shù)據(jù)庫(kù),然后將數(shù)據(jù)文件、控制文件和參數(shù)文件等拷貝到備份設(shè)備上,接著重新啟動(dòng)數(shù)據(jù)庫(kù)即可。可以把脫機(jī)備份的過(guò)程寫入一個(gè)腳本文件中,自動(dòng)執(zhí)行這一過(guò)程,或者在RMAN(RecoveryManager,恢復(fù)管理器)中來(lái)實(shí)現(xiàn)。第8章備份和恢復(fù)8.2.1脫機(jī)備份1.確定要備份的文件名稱和路徑在進(jìn)行脫機(jī)備份之前,首先確認(rèn)要備份的數(shù)據(jù)文件、控制文件等的名稱和路徑。SQL>SELECTFROMDBA_DATA_FILES;SQL>SELECTNAMEFROMV$CONTROLFILE;SQL>SELECTMEMBERFROMV$LOGFILE;2.關(guān)閉數(shù)據(jù)庫(kù)關(guān)閉數(shù)據(jù)庫(kù)包括關(guān)閉運(yùn)行在Oracle數(shù)據(jù)庫(kù)上的應(yīng)用程序和所有第三方軟件。在Oracle企業(yè)管理器中關(guān)閉數(shù)據(jù)庫(kù)例程,或在SQL*Plus中使用以下命令以正常方式關(guān)閉數(shù)據(jù)庫(kù)。SQL>CONNSYSTEM/ORCLASSYSDBASQL>SHUTDOWNNORMAL第8章備份和恢復(fù)8.2.1脫機(jī)備份3.復(fù)制數(shù)據(jù)庫(kù)文件復(fù)制整個(gè)數(shù)據(jù)庫(kù)文件到存儲(chǔ)介質(zhì)上,要保證存儲(chǔ)介質(zhì)的安全及與當(dāng)前數(shù)據(jù)庫(kù)所在磁盤的分離。使用操作系統(tǒng)命令復(fù)制數(shù)據(jù)庫(kù)的全部數(shù)據(jù)文件、控制文件,將所有這些文件存放到指定的磁盤目錄下。假定備份文件暫存在F:\Backup目錄下,如使用下面的語(yǔ)句完成復(fù)制。SQL>$COPYC:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBFF:\Backup\。。。。。。。。。。。。。。4.重啟數(shù)據(jù)庫(kù)SQL>STARTUP經(jīng)過(guò)上面的三步,完成數(shù)據(jù)庫(kù)的脫機(jī)備份。脫機(jī)備份的優(yōu)點(diǎn)在于過(guò)程簡(jiǎn)單。但其缺點(diǎn)也是顯而易見(jiàn)的,許多關(guān)鍵行業(yè)的數(shù)據(jù)庫(kù)運(yùn)行在7*24模式下,數(shù)據(jù)庫(kù)不允許停止服務(wù),此時(shí)并不適合于做脫機(jī)備份,這就需要聯(lián)機(jī)備份。第8章備份和恢復(fù)8.2.2脫機(jī)恢復(fù)脫機(jī)恢復(fù)的步驟比較簡(jiǎn)單,可以分為以下三個(gè)步驟。1)關(guān)閉數(shù)據(jù)庫(kù)。采用前面所述的方法。2)將復(fù)制到F:\BACKUP目錄下的文件重新復(fù)制到原來(lái)的位置。3)重新啟動(dòng)數(shù)據(jù)庫(kù)。第8章備份和恢復(fù)8.3聯(lián)機(jī)備份和恢復(fù)8.3.1切換到歸檔模式正如前面所講的一樣,數(shù)據(jù)庫(kù)實(shí)現(xiàn)聯(lián)機(jī)備份和恢復(fù)必須運(yùn)行在歸檔模式下,如果當(dāng)前數(shù)據(jù)沒(méi)有運(yùn)行在歸檔模式下,可以通過(guò)下面的步驟切換到歸檔模式下。首先,關(guān)閉數(shù)據(jù)庫(kù),使用下面的命令。SQL>CONNECTSYSTEM/ORCLASSYSDBASQL>SHUTDOWNIMMEDIATE注意,這里登錄方式一定是SYSDBA。接著啟動(dòng)例程,裝載數(shù)據(jù)庫(kù)。使用STARTUPMOUNT命令,此時(shí)數(shù)據(jù)庫(kù)還沒(méi)有打開(kāi)。切換數(shù)據(jù)庫(kù)的運(yùn)行模式時(shí),必須裝載數(shù)據(jù)庫(kù)但不打開(kāi)數(shù)據(jù)庫(kù)。SQL>STARTUPMOUNT最后切換到歸檔模式,并打開(kāi)數(shù)據(jù)庫(kù)。使用下面的命令切換到歸檔模式并打開(kāi)數(shù)據(jù)庫(kù)。SQL>ALTERDATABASEARCHIVELOG;SQL>ALTERDATABASEOPEN;第8章備份和恢復(fù)8.3聯(lián)機(jī)備份和恢復(fù)在將數(shù)據(jù)庫(kù)切換到歸檔模式后,可以使用下面的語(yǔ)句進(jìn)行確認(rèn)。SQL>ARCHIVELOGLIST;在Oracle10g中,歸檔日志文件默認(rèn)的存儲(chǔ)路徑放在快速閃回區(qū)中,也就是“use_db_recovery_”,通過(guò)修改初始化參數(shù)log_archive_dest_n,這里的n從1到10,可以為歸檔日志文件最多指定10個(gè)不同的路徑,從而生成10個(gè)副本。第8章備份和恢復(fù)8.3.2用命令方式實(shí)現(xiàn)聯(lián)機(jī)備份在SQL*Plus中使用SQL命令可以實(shí)現(xiàn)聯(lián)機(jī)備份。聯(lián)機(jī)備份包括對(duì)表空間、控制文件、歸檔日志文件以及參數(shù)文件和密碼文件等。由于參數(shù)文件和密碼文件的備份只需直接復(fù)制到備份設(shè)備即可,下面重點(diǎn)介紹對(duì)表空間、控制文件的備份。1.為部分或全部表空間備份聯(lián)機(jī)備份中對(duì)于表空間的基本操作步驟如下:1)在為表空間復(fù)制文件之前,需要設(shè)定要備份的表空間為熱備份模式,通過(guò)下面的命令來(lái)實(shí)現(xiàn)。SQL>ALTERDATABASE表空間名稱BEGINBACKUP2)復(fù)制處于熱備份模式下的表空間所對(duì)應(yīng)的所有數(shù)據(jù)文件SQL>$COPY數(shù)據(jù)文件名稱備份目錄3)復(fù)制完成后,再將該表空間設(shè)置為非熱備份模式,執(zhí)行下面的命令。SQL>ALTERDATABASE表空間名稱ENDBACKUP第8章備份和恢復(fù)8.3.2用命令方式實(shí)現(xiàn)聯(lián)機(jī)備份4)對(duì)每個(gè)表空間,依次執(zhí)行上面的三步。5)強(qiáng)制進(jìn)行一次日志切換,歸檔當(dāng)前聯(lián)機(jī)日志文件。SQL>ALTERSYSTEMSWITCHLOGFILE;6)備份所有的歸檔日志文件。下面的操作過(guò)程對(duì)SYSTEM和USER兩個(gè)表空間進(jìn)行備份。首先備份SYSTEM表空間。SQL>ALTERDATABASESYSTEMBEGINBACKUP;SQL>$COPYC:\ORACLE\PRODUCT\10.2.0\ORADATA\SYSTEM01.DBFF:\Backup\SQL>ALTERDATABASESYSTEMENDBACKUP;接著備份USER表空間。SQL>ALTERDATABASEUSERBEGINBACKUP;SQL>$COPYC:\ORACLE\PRODUCT\10.2.0\ORADATA\USERS01.DBFF:\Backup\SQL>ALTERDATABASEUSERENDBACKUP;第8章備份和恢復(fù)8.3.2用命令方式實(shí)現(xiàn)聯(lián)機(jī)備份2.備份控制文件備份控制文件要以SYSDBA的身份登錄數(shù)據(jù)庫(kù)。Oracle對(duì)控制文件的備份可以采用下面兩種形式。一種是直接復(fù)制控制文件,另一種是通過(guò)生成一個(gè)跟蹤文件的方式復(fù)制控制文件。1)直接復(fù)制控制文件SQL>ALTERDATABASEBACKUPCONTROLFILETO‘F:\Backup\CONTROL_BAK.CTL’REUSE;如果備份的文件已經(jīng)存在,必須指定REUSE選項(xiàng)。2)生成跟蹤文件的方式復(fù)制控制文件SQL>ALTERDATABASEBACKUPCONTROLTRACE;此時(shí),Oracle系統(tǒng)會(huì)在USER_DUMP_DEST所指定的目錄下生成一個(gè)跟蹤文件。該文件中就記錄了重建控制文件的SQL語(yǔ)句。SQL>showparameteruser_dump_dest;第8章備份和恢復(fù)8.3.2用命令方式實(shí)現(xiàn)聯(lián)機(jī)備份SQL>selectspidfromv$processwhereaddr=(selectpaddrfromv$sessionwheresid=(selectsidfromv$mystatwhererownum=1));在確定了SPID后,就可以在USER_DUMP_DEST所指定的目錄下查找以<SID>_ORD_<SPID>.TRC命名的跟蹤文件。如筆者的數(shù)據(jù)庫(kù)環(huán)境下,此文件命名為ORCL_ORA_1400.TRC。使用文本編輯器,打開(kāi)此跟蹤文件,查找到下面一段:CREATECONTROLDATABASE"ORCL"NORESETLOGSARCHIVELOGMAXLOGFILES16MAXLOGMEMBERS3MAXDATAFILES100MAXINSTANCES8MAXLOGHISTORY292LOGFILEGROUP1第8章備份和恢復(fù)8.3.2用命令方式實(shí)現(xiàn)聯(lián)機(jī)備份'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'SIZE50M,GROUP2'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'SIZE50M,GROUP3'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG'SIZE50M--STANDBYLOGFILEDATAFILE'C:\ORACLE\PRODUCT\10.2.0\ORADATA\SYSTEM01.DBF',。。。。。。CHARACTERSETZHS16GBK;這就是重建控制文件的SQL語(yǔ)句。如果控制文件丟失,則將數(shù)據(jù)庫(kù)啟動(dòng)到MOUNT階段,然后執(zhí)行此SQL語(yǔ)句即可重建控制文件。第8章備份和恢復(fù)8.3.2用命令方式實(shí)現(xiàn)聯(lián)機(jī)備份3.備份歸檔日志文件備份完所有數(shù)據(jù)庫(kù)文件后,還要?dú)w檔當(dāng)前的聯(lián)機(jī)日志文件,使用下面命令完成強(qiáng)制日志轉(zhuǎn)換和日志的歸檔工作。SQL>ALTERSYSTEMARCHIVELOGCURRENT;一旦歸檔了當(dāng)前聯(lián)機(jī)的日志文件,最后一步就是備份所有歸檔日志文件。使用操作系統(tǒng)的COPY命令可以完成本操作。SQL>$COPYC:\oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\2009_02_08\O1_MF_1_54_5Y9FM18S_.ARCF:\Backup\……可以看出,用命令的方式實(shí)現(xiàn)聯(lián)機(jī)備份比較復(fù)雜。為了盡可能避免錯(cuò)誤,可以把上述命令寫入一個(gè)腳本文件,備份時(shí)只需執(zhí)行這個(gè)文件讓系統(tǒng)自動(dòng)進(jìn)行備份。第8章備份和恢復(fù)8.3.3聯(lián)機(jī)恢復(fù)概述脫機(jī)備份的恢復(fù)實(shí)質(zhì)上就是一種復(fù)制技術(shù),而聯(lián)機(jī)備份的恢復(fù)則比較復(fù)雜。聯(lián)機(jī)恢復(fù)一般分為兩種情況,分別是實(shí)例崩潰恢復(fù)和介質(zhì)恢復(fù),其中介質(zhì)恢復(fù)按照恢復(fù)的內(nèi)容又分為完全介質(zhì)恢復(fù)和不完全介質(zhì)恢復(fù)。實(shí)例崩潰恢復(fù)用于將數(shù)據(jù)庫(kù)從突然斷電、應(yīng)用程序錯(cuò)誤等導(dǎo)致的數(shù)據(jù)庫(kù)實(shí)例、操作系統(tǒng)崩潰等情況下的恢復(fù)。這時(shí)的Oracle實(shí)例不能正常關(guān)閉。而且當(dāng)崩潰發(fā)生時(shí),服務(wù)器可能正在進(jìn)行許多修改數(shù)據(jù)庫(kù)信息的事務(wù)處理,數(shù)據(jù)庫(kù)來(lái)不及執(zhí)行一個(gè)檢查點(diǎn),以確保服務(wù)器緩沖區(qū)內(nèi)的所有被修改的數(shù)據(jù)塊被安全寫回?cái)?shù)據(jù)庫(kù)的數(shù)據(jù)文件。這樣,數(shù)據(jù)庫(kù)數(shù)據(jù)文件中的數(shù)據(jù)就處于不一致?tīng)顟B(tài)。實(shí)例崩潰恢復(fù)只需要當(dāng)前聯(lián)機(jī)重做日志文件,無(wú)需歸檔日志文件。實(shí)例和崩潰恢復(fù)無(wú)需用戶參與,在重新啟動(dòng)數(shù)據(jù)庫(kù)時(shí),Oracle系統(tǒng)自動(dòng)利用聯(lián)機(jī)日志文件所記載的重做記錄進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù)。第8章備份和恢復(fù)8.3.3聯(lián)機(jī)恢復(fù)概述介質(zhì)恢復(fù)用于介質(zhì)損壞時(shí)的恢復(fù)。介質(zhì)恢復(fù)只有數(shù)據(jù)庫(kù)運(yùn)行在歸檔模式下才可以進(jìn)行。如果介質(zhì)恢復(fù)過(guò)程中既使用聯(lián)機(jī)重做日志文件又使用歸檔日志文件,就需要用戶的干預(yù)。Oracle系統(tǒng)不會(huì)自動(dòng)檢測(cè)是否有介質(zhì)損壞,如果有介質(zhì)損壞,則恢復(fù)時(shí)間由用戶指定的恢復(fù)策略決定,而不是Oracle內(nèi)部機(jī)制決定。介質(zhì)損壞的數(shù)據(jù)文件在進(jìn)行介質(zhì)恢復(fù)之前是不能聯(lián)機(jī)的。只要有一個(gè)介質(zhì)損壞的數(shù)據(jù)庫(kù)文件存在,則數(shù)據(jù)庫(kù)就不能正常打開(kāi)。完全介質(zhì)恢復(fù)指恢復(fù)所有已提交事務(wù)工作的操作,將數(shù)據(jù)庫(kù)、表空間或數(shù)據(jù)文件的備份更新到最近的時(shí)間點(diǎn)上,應(yīng)用完全介質(zhì)恢復(fù)的典型情況是當(dāng)數(shù)據(jù)文件或控制文件遭受了介質(zhì)損壞。完全介質(zhì)恢復(fù)分為數(shù)據(jù)庫(kù)恢復(fù)、表空間恢復(fù)和數(shù)據(jù)文件恢復(fù)幾種類型。第8章備份和恢復(fù)8.3.3聯(lián)機(jī)恢復(fù)概述1)對(duì)數(shù)據(jù)庫(kù)進(jìn)行完全介質(zhì)恢復(fù)可以進(jìn)行下面的操作。

登錄數(shù)據(jù)庫(kù);

確保要恢復(fù)的所有文件都聯(lián)機(jī);

將整個(gè)數(shù)據(jù)庫(kù)或要恢復(fù)的文件復(fù)原;

施加聯(lián)機(jī)重做日志文件和歸檔日志文件。2)對(duì)于表空間或數(shù)據(jù)文件進(jìn)行完全介質(zhì)恢復(fù)可以進(jìn)行下面的操作:

如果數(shù)據(jù)庫(kù)已打開(kāi),可將要恢復(fù)的表空間或數(shù)據(jù)文件置于脫機(jī)狀態(tài);

將要恢復(fù)的數(shù)據(jù)文件復(fù)原;

施加聯(lián)機(jī)重做日志文件和歸檔日志文件。第8章備份和恢復(fù)8.3.3聯(lián)機(jī)恢復(fù)概述不完全介質(zhì)恢復(fù)指利用數(shù)據(jù)庫(kù)的備份產(chǎn)生一個(gè)數(shù)據(jù)庫(kù)的非當(dāng)前版本,之所以稱為不完全,是因?yàn)椴煌耆橘|(zhì)恢復(fù)過(guò)程中并非所有的聯(lián)機(jī)重做日志都使用,而是由用戶指定何時(shí)中止恢復(fù)過(guò)程。不完全介質(zhì)恢復(fù)只能在整個(gè)數(shù)據(jù)庫(kù)上實(shí)施。不完全介質(zhì)恢復(fù)分為基于時(shí)間的恢復(fù)、基于變化的恢復(fù)和基于中止的恢復(fù)三種類型。

基于時(shí)間的恢復(fù)即將數(shù)據(jù)庫(kù)恢復(fù)到某個(gè)時(shí)間點(diǎn)為止。

基于變化的恢復(fù)即將數(shù)據(jù)庫(kù)恢復(fù)到指定的SCN(系統(tǒng)修改號(hào))為止。

基于中止的恢復(fù)即將數(shù)據(jù)庫(kù)恢復(fù)到某個(gè)日志組為止,當(dāng)Oracle系統(tǒng)提示給出建議的歸檔日志文件名時(shí),輸入“Cancel”,中止恢復(fù)操作。第8章備份和恢復(fù)8.3.4用命令方式實(shí)現(xiàn)聯(lián)機(jī)恢復(fù)用命令方式實(shí)現(xiàn)介質(zhì)恢復(fù)的命令如下:RECOVER[AUTOMATIC]{DATABASE|TABLESPACE表空間名稱|DATAFILE數(shù)據(jù)文件名}[{UNTIL{CANCEL|TIME時(shí)間|CHANGE變化號(hào)}USINGBACKUPCONTROLFILE}];其中,如果使用UNTIL子句,進(jìn)行的是不完全介質(zhì)恢復(fù);如果不使用UNTIL子句,則進(jìn)行的是完全介質(zhì)恢復(fù)。下面介紹完全介質(zhì)恢復(fù)的步驟。1)關(guān)閉例程在Oracle企業(yè)管理器中關(guān)閉數(shù)據(jù)庫(kù)例程,或在SQL*Plus中執(zhí)行下面的語(yǔ)句。SQL>CONNSYSTEM/ORCLAS

SYSDBA;SQL>SHUTDOWNIMMEDIATE2)在V$RECOVER_FILE中查找損壞的文件第8章備份和恢復(fù)8.3.4用命令方式實(shí)現(xiàn)聯(lián)機(jī)恢復(fù)查詢數(shù)據(jù)字典的動(dòng)態(tài)視圖V$RECOVER_FILE,確定要復(fù)原的文件。然后,使用操作系統(tǒng)的拷貝命令復(fù)原被損壞的文件。3)恢復(fù)數(shù)據(jù)庫(kù)恢復(fù)數(shù)據(jù)庫(kù)時(shí),要以MOUNT方式的啟動(dòng)數(shù)據(jù)庫(kù),但不打開(kāi)數(shù)據(jù)庫(kù)。執(zhí)行下面的命令。SQL>STARTUPMOUNT接著查詢V$DATAFILE動(dòng)態(tài)視圖,列出所有數(shù)據(jù)文件的狀態(tài),確保所有數(shù)據(jù)文件都處于聯(lián)機(jī)狀態(tài)。然后,根據(jù)恢復(fù)的需要,執(zhí)行不同的RECOVER恢復(fù)命令。如果恢復(fù)整個(gè)數(shù)據(jù)庫(kù),執(zhí)行命令:SQL>RECOVERDATABASE如果恢復(fù)某一個(gè)表空間,執(zhí)行命令:SQL>RECOVERTABLESPACE表空間名如果恢復(fù)某一個(gè)數(shù)據(jù)文件,執(zhí)行命令:SQL>RECOVERDATAFILE'數(shù)據(jù)文件名'第8章備份和恢復(fù)8.3.4用命令方式實(shí)現(xiàn)聯(lián)機(jī)恢復(fù)4)打開(kāi)數(shù)據(jù)庫(kù)當(dāng)系統(tǒng)提示完成完全介質(zhì)恢復(fù)后,執(zhí)行下面的命令打開(kāi)數(shù)據(jù)庫(kù)。SQL>ALTERDATABASEOPEN;值得注意的是這里的受損數(shù)據(jù)文件不能是SYSTEM表空間的數(shù)據(jù)文件,因?yàn)槿绻鸖YSTEM表空間受損的話,Oracle系統(tǒng)根本就不能啟動(dòng)。下面針對(duì)受損數(shù)據(jù)庫(kù)采取恢復(fù)的步驟如下:1)將包含受損數(shù)據(jù)文件的表空間脫機(jī)。在SQL*Plus中執(zhí)行下面的命令。SQL>ALTERTABLESPACE表空間名稱OFFLINE;2)復(fù)原受損的數(shù)據(jù)文件,找到受損數(shù)據(jù)文件的備份,利用操作系統(tǒng)的命令完成復(fù)原。3)恢復(fù)脫機(jī)的表空間。SQL>RECOVERTABLESPACE表空間名稱;4)將脫機(jī)的表空間聯(lián)機(jī)。SQL>ALTERTABLESPACE表空間名稱ONLINE;第8章備份和恢復(fù)8.3.4用命令方式實(shí)現(xiàn)聯(lián)機(jī)恢復(fù)不完全介質(zhì)恢復(fù)的過(guò)程與完全介質(zhì)恢復(fù)的過(guò)程基本相似,只不過(guò)加上UNTIL子句。此外還要注意的是,無(wú)論采用哪種類型的不完全介質(zhì)恢復(fù),在恢復(fù)操作成功結(jié)束之后,都要使用RESETLOGS選項(xiàng)打開(kāi)數(shù)據(jù)庫(kù),如下面的語(yǔ)句:SQL>ALTERDATABASEOPENRESETLOGS;第8章備份和恢復(fù)8.4導(dǎo)出和導(dǎo)入利用Oracle系統(tǒng)提供的EXP及IMP命令可以實(shí)現(xiàn)導(dǎo)出和導(dǎo)入。其中用EXP命令導(dǎo)出數(shù)據(jù)時(shí),將數(shù)據(jù)庫(kù)結(jié)構(gòu)連同數(shù)據(jù)一起按照邏輯結(jié)構(gòu)導(dǎo)出。由于只導(dǎo)出數(shù)據(jù)庫(kù)的內(nèi)容而不備份物理數(shù)據(jù)塊,所以導(dǎo)出稱為邏輯備份。用IMP命令實(shí)現(xiàn)導(dǎo)入,就是將由EXP導(dǎo)出的DMP文件按照邏輯關(guān)系載入數(shù)據(jù)庫(kù)。利用EXP和IMP進(jìn)行數(shù)據(jù)的導(dǎo)出和導(dǎo)入,可以將數(shù)據(jù)從一個(gè)版本移植到另外的版本,或者將數(shù)據(jù)在不同的硬件環(huán)境平臺(tái)之間進(jìn)行移動(dòng)。還可以對(duì)Oracle數(shù)據(jù)庫(kù)整體或部分進(jìn)行邏輯備份和恢復(fù),可以達(dá)到減少空間碎片的目的。第8章備份和恢復(fù)8.4.1用EXP命令實(shí)現(xiàn)導(dǎo)出用EXP命令實(shí)現(xiàn)導(dǎo)出非常方便靈活,在Oracle10g中EXP支持全庫(kù)、用戶、表三種導(dǎo)出方式。其中:1)全庫(kù)方式:導(dǎo)出整個(gè)Oracle數(shù)據(jù)庫(kù)。2)用戶方式:只導(dǎo)出Oracle數(shù)據(jù)庫(kù)中的一個(gè)或幾個(gè)用戶模式下的對(duì)象。3)表方式:只導(dǎo)出某用戶下的表及其索引約束條件。在命令行提示符下輸入EXP命令,輸入用戶名和密碼連接數(shù)據(jù)庫(kù)。設(shè)置EXP命令的各項(xiàng)參數(shù)。輸入數(shù)組提取緩沖區(qū)大小,默認(rèn)值是4096。如果選默認(rèn)值直接按回車鍵即可。設(shè)置導(dǎo)出文件名,默認(rèn)值是EXPORT.DMP,這里設(shè)置為D:\20090201EXP.DMP。DMP文件是一個(gè)二進(jìn)制文件。選擇導(dǎo)出數(shù)據(jù)庫(kù)的方式。這里選擇按U(用戶)方式導(dǎo)出。接著選擇導(dǎo)出權(quán)限、導(dǎo)出表數(shù)據(jù)及壓縮區(qū)選項(xiàng)。參數(shù)設(shè)置完畢后,就開(kāi)始執(zhí)行備份操作,最后系統(tǒng)提示成功終止導(dǎo)出。第8章備份和恢復(fù)8.4.1用EXP命令實(shí)現(xiàn)導(dǎo)出導(dǎo)出了整個(gè)數(shù)據(jù)庫(kù)C:>EXPSYSTEM/ORCLfull=yROWS=yfile=d:\20091125fulldb.dmplog=log20091125.log導(dǎo)出HR用戶模式下的所有對(duì)象。C:\>EXPSYSTEM/ORCLOWNER=HRROWS=yfile=d:\20091125hrdata.dmplog=log20091126.log導(dǎo)出SCOTT用戶的DEPT和EMP表。C:\>EXPSYSTEM/ORCLTABLES=(DEPT,EMP)ROWS=yfile=d:\20091125scottdata.dmpLOG=log3.logEXP命令支持以多個(gè)固定大小文件方式導(dǎo)出,這種做法通常用在表數(shù)據(jù)量較大,單個(gè)DUMP文件可能會(huì)超出文件系統(tǒng)的限制的情況。C:\>EXPSYSTEM/ORCLFULL=Y,2.DMP,3.DMP

LOG=log1001.log第8章備份和恢復(fù)8.4.2用IMP命令實(shí)現(xiàn)導(dǎo)入IMP命令的多數(shù)參數(shù)使用方法與EXP命令相同。在命令行提示符下輸入EXP命令,輸入用戶名和密碼連接數(shù)據(jù)庫(kù)。接著設(shè)置IMP命令的各項(xiàng)參數(shù)。導(dǎo)入文件:輸入剛才用EXP命令導(dǎo)出的文件D:\20090201EXP.DMP。輸入插入緩沖區(qū)大?。鹤钚?192,這里選擇默認(rèn)值30720。由于對(duì)象已經(jīng)存在,忽略創(chuàng)建錯(cuò)誤:選擇“yes”。按照導(dǎo)出文件時(shí)的設(shè)置情況選擇設(shè)置導(dǎo)入權(quán)限、導(dǎo)入表數(shù)據(jù)、導(dǎo)入整個(gè)文件等選項(xiàng)。參數(shù)設(shè)置完畢后,就開(kāi)始執(zhí)行恢復(fù)操作,最后系統(tǒng)提示成功終止導(dǎo)入。第8章備份和恢復(fù)8.4.2用IMP命令實(shí)現(xiàn)導(dǎo)入下面的一組語(yǔ)句實(shí)現(xiàn)了以全庫(kù)方式、用戶方式和表方式分別導(dǎo)入數(shù)據(jù)。C:\>IMPUSERID=SYSTEM/ORCLIGNORE=YFULL=YFILE=d:\20090201exp.dmpC:\>IMPUSERID=SYSTEM/ORCLIGNORE=YFROMUSER=HRTOUSER=HRFILE=d:\20091125hrdata.dmpC:\>IMPSYSTEM/ORCLIGNORE=YTABLES=(DEPT,EMP)FILE=d:\20091125scottdata.dmpIMP支持以多個(gè)固定大小文件方式導(dǎo)入:C:\>IMPSYSTEM/ORCLFROMUSER=hrTOUSER=mdx

FULL=YIGNORE=Y,2.DMP,3.DMPCOMMIT=Y第8章備份和恢復(fù)8.4.3傳輸表空間所謂傳輸表空間就是指表空間從一個(gè)Oracle數(shù)據(jù)庫(kù)導(dǎo)出,導(dǎo)入到另一個(gè)Oracle數(shù)據(jù)庫(kù)。當(dāng)進(jìn)行傳輸表空間時(shí)需指定以下參數(shù):1)TRANSPORT_TABLESPACE邏輯值,指定是否導(dǎo)入可傳輸表空間的元數(shù)據(jù)。Y導(dǎo)入,N不導(dǎo)入。2)TABLESPACES指定將要傳輸?shù)綌?shù)據(jù)庫(kù)的表空間。3)DATAFILES指定將要傳輸?shù)綌?shù)據(jù)庫(kù)的數(shù)據(jù)文件。4)TTS_OWNERS指定擁有可傳輸表空間數(shù)據(jù)的用戶。在兩個(gè)Oracle數(shù)據(jù)庫(kù)之間傳輸表空間的一般步驟如下:1)將設(shè)置源數(shù)據(jù)庫(kù)ORCL的準(zhǔn)備要傳輸?shù)腢SERS表空間為只讀狀態(tài)SQL>ALTERTABLESPACEUSERSREADONLY;2)從源數(shù)據(jù)庫(kù)ORCL中導(dǎo)出USERS表空間C:\>EXPUSERID=SYSTEM/ORCLTRANSPORT_TABLESPACE=YTABLESPACES=USERSFILE=D:\TTBS.DMP第8章備份和恢復(fù)8.4.3傳輸表空間3)將源數(shù)據(jù)庫(kù)ORCL的導(dǎo)出表空間所對(duì)應(yīng)的數(shù)據(jù)文件和導(dǎo)出文件移動(dòng)到目標(biāo)數(shù)據(jù)庫(kù)TEST的相應(yīng)目錄中,這里利用操作系統(tǒng)的COPY命令來(lái)完成。4)導(dǎo)入表空間C:\>IMPUSERID=SYSTEM/ORCLTRANSPORT_TABLESPACE=YTABLESPACES=USERSDATAFILES=’C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USER01.DBF’FILE=D:\TTBS.DMP5)設(shè)置目標(biāo)數(shù)據(jù)庫(kù)TEST中的USERS表空間為讀寫狀態(tài)SQL>ALTERTABLESPACEUSERSREADWRITE;第8章備份和恢復(fù)8.5數(shù)據(jù)泵DATADUMP技術(shù)Oracle10g中的數(shù)據(jù)泵技術(shù),即EXPDMP和IMPDP命令。數(shù)據(jù)泵的作用可以實(shí)現(xiàn)邏輯備份和恢復(fù),在不同數(shù)據(jù)庫(kù)或者方案之間傳輸數(shù)據(jù),或者將數(shù)據(jù)從低版本數(shù)據(jù)庫(kù)中導(dǎo)出,然后導(dǎo)入到高版本數(shù)據(jù)庫(kù)中。由于數(shù)據(jù)泵實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出和導(dǎo)入的速度要快于EXP和IMP,所以O(shè)racle建議使用EXPDP和IMPDP。但EXPDP和IMPDP都是服務(wù)器端程序,只能在Oracle服務(wù)器端使用,不能在客戶端使用。而EXP和IMP則是客戶端程序,既可以在服務(wù)器端使用,又可以在客戶端使用。EXPDP和IMPDP命令采用作業(yè)(JOB)的形式來(lái)實(shí)現(xiàn),如果執(zhí)行過(guò)程中中止了EXPDP或IMPDP命令進(jìn)程,以后還可以從斷點(diǎn)處重新開(kāi)始執(zhí)行,不必從頭開(kāi)始。這將為用戶節(jié)省大量時(shí)間。數(shù)據(jù)泵導(dǎo)出導(dǎo)入時(shí),其導(dǎo)出文件只能存放在目錄對(duì)象(DIRECTORY)指定的操作系統(tǒng)目錄下,而不能直接指定操作系統(tǒng)目錄。目錄對(duì)象是Oracle系統(tǒng)的一種對(duì)象,它不屬于某一個(gè)用戶,而是屬于整個(gè)數(shù)據(jù)庫(kù)。第8章備份和恢復(fù)8.5數(shù)據(jù)泵DATADUMP技術(shù)目錄對(duì)象使用CREATEDIRECTORY語(yǔ)句來(lái)創(chuàng)建,而不是操作系統(tǒng)某個(gè)目錄,但是它指向操作系統(tǒng)某個(gè)目錄。所以在導(dǎo)出導(dǎo)入數(shù)據(jù)時(shí),先要?jiǎng)?chuàng)建目錄對(duì)象。并將訪問(wèn)目錄對(duì)象的權(quán)限授權(quán)給使用EXPDP和IMPDP的用戶。在導(dǎo)入/出之前,先創(chuàng)建目錄對(duì)象,如下:SQL>CONNSYSTEM/ORCL@orclasSYSDBA;SQL>GRANTexp_full_database,imp_full_databaseTOHR;SQL>GRANTcreateanydirectorytoHR;SQL>CONNHR/HR@orcl;SQL>$MDd:\dump;SQL>CREATEORREPLACEDIRECTORYdir1as‘d:\dump’;SQL>CONNSYSTEM/ORCL@orclasSYSDBA;SQL>GRANTread,writeONDIRECTORYdir1TOHR;SQL>SELECT*FROMDBA_DIRECTORIES;第8章備份和恢復(fù)8.5數(shù)據(jù)泵DATADUMP技術(shù)上面首先在操作系統(tǒng)中創(chuàng)建目錄D:\DUMP,接著在Oracle數(shù)據(jù)庫(kù)系統(tǒng)中由DBA將CREATEANYDIRECTORY權(quán)限授予執(zhí)行EXPDP的用戶,并創(chuàng)建目錄對(duì)象DIR1指向D:\DUMP目錄。并將讀寫的訪問(wèn)權(quán)限授權(quán)給使用EXPDP和IMPDP的數(shù)據(jù)庫(kù)用戶,如HR。最后,還可以從DBA_DIRECTORIES數(shù)據(jù)字典中查詢目錄對(duì)象的信息。第8章備份和恢復(fù)8.5.1用EXPDP命令實(shí)現(xiàn)導(dǎo)出EXPDP命令的基本語(yǔ)法如下:EXPDP用戶名/口令參數(shù)1=設(shè)置值[,參數(shù)2=設(shè)置值,……]名稱說(shuō)明ATTACH連接到現(xiàn)有作業(yè),例如ATTACH[=作業(yè)名]COMPRESSION減小有效的轉(zhuǎn)儲(chǔ)文件內(nèi)容的大小,關(guān)鍵字值為:(METADATA_ONLY)和NONECONTENT指定要卸載的數(shù)據(jù),其中有效關(guān)鍵字為:(ALL),DATA_ONLY和METADATA_ONLYDIRECTORY供轉(zhuǎn)儲(chǔ)文件和日志文件使用的目錄對(duì)象DUMPFILE目標(biāo)轉(zhuǎn)儲(chǔ)文件列表第8章備份和恢復(fù)8.5.1用EXPDP命令實(shí)現(xiàn)導(dǎo)出ENCRYPTION_PASSWORD用于創(chuàng)建加密列數(shù)據(jù)的口令關(guān)鍵字ESTIMATE計(jì)算作業(yè)估計(jì)值,其中有效關(guān)鍵字為:(BLOCKS)和STATISTICSESTIMATE_ONLY在不執(zhí)行導(dǎo)出的情況下計(jì)算作業(yè)估計(jì)值EXCLUDE排除特定的對(duì)象類型,例如EXCLUDE=TABLE:EMP以字節(jié)為單位指定每個(gè)轉(zhuǎn)儲(chǔ)文件的大小FLASHBACK_SCN用于將會(huì)話快照設(shè)置回以前狀態(tài)的SCNFLASHBACK_TIME用于獲取最接近指定時(shí)間的SCN的時(shí)間FULL導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)HELP顯示幫助消息INCLUDE包括特定的對(duì)象類型JOB_NAME要?jiǎng)?chuàng)建的導(dǎo)出作業(yè)的名稱LOGFILE日志文件名第8章備份和恢復(fù)8.5.1用EXPDP命令實(shí)現(xiàn)導(dǎo)出NETWORK_LINK鏈接到源系統(tǒng)的遠(yuǎn)程數(shù)據(jù)庫(kù)的名稱NOLOGFILE不寫入日志文件PARALLEL更改當(dāng)前作業(yè)的活動(dòng)數(shù)目PARTFILE指定參數(shù)文件QUERY用于導(dǎo)出表的子集的謂詞子句SCHEMAS要導(dǎo)出的方案的列表STATUS在默認(rèn)值為0時(shí),將顯示可用時(shí)的新?tīng)顟B(tài)的情況下,要監(jiān)視的頻率(以秒計(jì))作業(yè)狀態(tài)TABLES在只導(dǎo)出一個(gè)方案的情況下,要導(dǎo)出的表的列表TABLESPACES標(biāo)識(shí)要導(dǎo)出的表空間的列表TRANSPORT_FULL_CHECK驗(yàn)證所有表的存儲(chǔ)段TRANSPORT_TABLESPACES要從中卸載元數(shù)據(jù)的表空間的列表VERSION要導(dǎo)出的對(duì)象的版本,其中有效關(guān)鍵字為:(COMPATIBLE),LATEST或任何有效的數(shù)據(jù)庫(kù)版本第8章備份和恢復(fù)8.5.1用EXPDP命令實(shí)現(xiàn)導(dǎo)出EXPDP命令還允許交互式執(zhí)行,下列的命令在EXPDP交互模式下有效。名稱說(shuō)明ADD_FILE向轉(zhuǎn)儲(chǔ)文件集中添加轉(zhuǎn)儲(chǔ)文件CONTINUE_CLIENT返回到記錄模式。如果處于空閑狀態(tài),將重新啟動(dòng)作業(yè)EXIT_CLIENT退出客戶機(jī)會(huì)話并使作業(yè)處于運(yùn)行狀態(tài)后續(xù)ADD_FILE命令的默認(rèn)文件大小(字節(jié))HELP總結(jié)交互命令KILL_JOB分離和刪除作業(yè)PARALLEL更改當(dāng)前作業(yè)的活動(dòng)worker的數(shù)目,PARALLEL=<worker的數(shù)目>START_JOB啟動(dòng)/恢復(fù)當(dāng)前作業(yè)STATUS在默認(rèn)值為0時(shí),將顯示可用時(shí)的新?tīng)顟B(tài)的情況下,要監(jiān)視的頻率(以秒計(jì))作業(yè)狀態(tài)。STATUS[=interval]STOP_JOB順序關(guān)閉執(zhí)行的作業(yè)并退出客戶機(jī),為IMMEDIATE時(shí)將立即關(guān)閉作業(yè)第8章備份和恢復(fù)8.5.1用EXPDP命令實(shí)現(xiàn)導(dǎo)出在創(chuàng)建了目錄對(duì)象以后,就可以使用EXPDP命令來(lái)導(dǎo)出數(shù)據(jù)。下面的語(yǔ)句分別導(dǎo)出某個(gè)用戶的表、某個(gè)用戶的所有對(duì)象和整個(gè)數(shù)據(jù)庫(kù)。1)使用EXPDP導(dǎo)出SCOTT用戶的EMP表C:\>EXPDPHR/HRDUMPDIRECTORY=DIR1tables=SCOTT.empJOB_NAME=JOB12)使用EXPDP導(dǎo)出SCOTT用戶的所有對(duì)象C:\>EXPDPHR/HRDUMPDIRECTORY=DIR1SCHEMAS=SCOTTJOB_NAME=JOB23)使用EXPDP導(dǎo)出整個(gè)ORACLE數(shù)據(jù)庫(kù)C:\>EXPDPHR/HRDUMPDIRECTORY=DIR1FULL=YJOB_NAME=JOB3第8章備份和恢復(fù)8.5.2用IMPDP命令實(shí)現(xiàn)導(dǎo)入IMPDP命令的基本語(yǔ)法如下:IMPDP用戶名/口令參數(shù)1=設(shè)置值[,參數(shù)2=設(shè)置值,……]名稱說(shuō)明ATTACH連接到現(xiàn)有作業(yè),例如ATTACH[=作業(yè)名]CONTENT指定要加載的數(shù)據(jù),其中有效關(guān)鍵字為:(ALL),DATA_ONLY和METADATA_ONLYDIRECTORY供轉(zhuǎn)儲(chǔ)文件,日志文件和SQL文件使用的目錄對(duì)象DUMPFILE要從(expdat.dmp)中導(dǎo)入的轉(zhuǎn)儲(chǔ)文件的列表ESTIMATE計(jì)算作業(yè)估計(jì)值,其中有效關(guān)鍵字為:(BLOCKS)和STATISTICS第8章備份和恢復(fù)8.5.2用IMPDP命令實(shí)現(xiàn)導(dǎo)入ENCRYPTION_PASSWORD用于訪問(wèn)加密列數(shù)據(jù)的口令關(guān)鍵字EXCLUDE排除特定的對(duì)象類型,例如EXCLUDE=TABLE:EMPFLASHBACK_SCN用于將會(huì)話快照設(shè)置回以前狀態(tài)的SCNFLASHBACK_TIME用于獲取最接近指定時(shí)間的SCN的時(shí)間FULL從源導(dǎo)入全部對(duì)象HELP顯示幫助消息INCLUDE包括特定的對(duì)象類型JOB_NAME要?jiǎng)?chuàng)建的導(dǎo)入作業(yè)的名稱第8章備份和恢復(fù)8.5.2用IMPDP命令實(shí)現(xiàn)導(dǎo)入LOGFILE日志文件名NETWORK_LINK鏈接到源系統(tǒng)的遠(yuǎn)程數(shù)據(jù)庫(kù)的名稱NOLOGFILE不寫入日志文件PARALLEL更改當(dāng)前作業(yè)的活動(dòng)worker的數(shù)目PARTFILE指定參數(shù)文件QUERY用于導(dǎo)入表的子集的謂詞子句REMAP_DATAFILE在所有DDL語(yǔ)句中重新定義數(shù)據(jù)文件引用REMAP_SCHEMA將一個(gè)方案中的對(duì)象加載到另一個(gè)方案。REMAP_TABLESPACE將表空間對(duì)象重新映射到另一個(gè)表空間。REUSE_DATAFILES如果表空間已存在,則將其初始化SCHEMAS要導(dǎo)入的方案的列表SKIP_UNUSABLE_INDEXES跳過(guò)設(shè)置為無(wú)用索引狀態(tài)的索引第8章備份和恢復(fù)8.5.2用IMPDP命令實(shí)現(xiàn)導(dǎo)入SQLFILE將所有的SQLDDL寫入指定的文件STATUS在默認(rèn)值(0)將顯示可用時(shí)的新?tīng)顟B(tài)的情況下,要監(jiān)視的頻率(以秒計(jì))作業(yè)狀態(tài)TABLE_EXISTS_ACTION導(dǎo)入對(duì)象已存在時(shí)執(zhí)行的操作,有效關(guān)鍵字:(SKIP),APPEND,REPLACE和TRUNCATETABLES標(biāo)識(shí)要導(dǎo)入的表的列表TABLESPACES標(biāo)識(shí)要導(dǎo)入的表空間的列表TRANSFORM要應(yīng)用于適用對(duì)象的元數(shù)據(jù)轉(zhuǎn)換,有效的轉(zhuǎn)換關(guān)鍵字:SEGMENT_ATTRIBUTES,STORAGEOID和PCTSPACETRANSPORT_DATAFILES按可傳輸模式導(dǎo)入的數(shù)據(jù)文件的列表TRANSPORT_FULL_CHECK驗(yàn)證所有表的存儲(chǔ)段TRANSPORT_TABLESPACES要從中加載元數(shù)據(jù)的表空間的列表,僅在NETWORK_LINK模式導(dǎo)入操作中有效VERSION要導(dǎo)出的對(duì)象的版本,其中有效關(guān)鍵字為:(COMPATIBLE),LATEST或任何有效的數(shù)據(jù)庫(kù)版本.僅對(duì)NETWORK_LINK和SQLFILE有效第8章備份和恢復(fù)8.5.2用IMPDP命令實(shí)現(xiàn)導(dǎo)入在正確執(zhí)行了EXPDP命令后,就可以使用IMPDP命令來(lái)導(dǎo)入數(shù)據(jù)。下面的語(yǔ)句分別導(dǎo)入某個(gè)用戶的表、某個(gè)用戶的所有對(duì)象和整個(gè)數(shù)據(jù)庫(kù)。1)使用IMPDP導(dǎo)入SCOTT用戶的EMP表C:\>IMPDPHR/HRDUMPDIRECTORY=DIR1tables=SCOTT.empJOB_NAME=JOB12)使用IMPDP導(dǎo)入SCOTT用戶的所有對(duì)象C:\>IMPDPHR/HRDUMPDIRECTORY=DIR1SCHEMAS=SCOTTJOB_NAME=JOB23)使用IMPDP導(dǎo)入整個(gè)ORACLE數(shù)據(jù)庫(kù)C:\>IMPDPHR/HRDUMPDIRECTORY=DIR1FULL=YJOB_NAME=JOB3第8章備份和恢復(fù)8.6在OEM中導(dǎo)入導(dǎo)出數(shù)據(jù)在OracleEnterpriseManager平臺(tái)上執(zhí)行導(dǎo)入導(dǎo)出數(shù)據(jù)比較簡(jiǎn)單,Oracle提供了非常方便的導(dǎo)出導(dǎo)入向?qū)?,只需按照步驟做下去即可。第8章備份和恢復(fù)8.6.1用導(dǎo)出向?qū)?shí)現(xiàn)邏輯備份在OracleEnterpriseManager平臺(tái)上執(zhí)行導(dǎo)出數(shù)據(jù),需在IE瀏覽器中打開(kāi)OEM的DatabaseControl界面,在“維護(hù)”選項(xiàng)卡的“數(shù)據(jù)移動(dòng)”項(xiàng)中單擊“數(shù)據(jù)行移動(dòng)”下的“導(dǎo)出到導(dǎo)出文件”超鏈接。在“導(dǎo)出:導(dǎo)出類型”界面中,選擇“表”選項(xiàng),在下面的主機(jī)身份證明中輸入操作系統(tǒng)中具有管理員權(quán)限的合法用戶。這里,如果出現(xiàn)用戶名和密碼的錯(cuò)誤,通常是由于輸入的用戶名不具備“以批量任務(wù)登錄”的權(quán)限而造成的。此時(shí)需要進(jìn)行簡(jiǎn)單的配置:1)從開(kāi)始菜單進(jìn)入設(shè)置——控制面板——管理工具打開(kāi)本地安全策略。2)在本地安全策略中,找到本地策略。3)打開(kāi)其中的用戶權(quán)限分配。4)在右邊的列表中選擇“以批量任務(wù)登錄”,添加數(shù)據(jù)庫(kù)安裝的所在操作系統(tǒng)用戶。第8章備份和恢復(fù)8.6.1用導(dǎo)出向?qū)?shí)現(xiàn)邏輯備份單擊繼續(xù)按鈕,進(jìn)入“導(dǎo)出:表”界面。單擊添加按鈕,出現(xiàn)“導(dǎo)出:添加表”界面。單擊選擇按鈕,返回“導(dǎo)出:表”界面,單擊下一步按鈕。單擊下一步按鈕,出現(xiàn)“導(dǎo)出:選項(xiàng)”界面,此時(shí)可以在導(dǎo)出之前估計(jì)所需磁盤空間的大小,還可以選擇是否生成日志文件以及所需存儲(chǔ)的目錄對(duì)象。這里選擇輸入目錄對(duì)象“DIR1”。如果選擇了“立即估計(jì)磁盤空間”,則會(huì)出現(xiàn)“導(dǎo)出:處理:估計(jì)磁盤空間”界面。單擊確定按鈕,返回“導(dǎo)出:選項(xiàng)”界面,此時(shí)單擊下一步按鈕,進(jìn)入“導(dǎo)出:文件”界面。單擊下一步按鈕,進(jìn)入“導(dǎo)出:調(diào)度”界面。前文說(shuō)過(guò)EXPDP導(dǎo)出時(shí)使用作業(yè)這種機(jī)制。單擊下一步按鈕,進(jìn)入“導(dǎo)出:復(fù)查”界面。第8章備份和恢復(fù)8.6.2用導(dǎo)入向?qū)?shí)現(xiàn)邏輯恢復(fù)在OEM中將導(dǎo)出文件導(dǎo)入的過(guò)程如下。首先需在IE瀏覽器中打開(kāi)OEM的DatabaseControl界面,在“維護(hù)”選項(xiàng)卡的“數(shù)據(jù)移動(dòng)”項(xiàng)中單擊“數(shù)據(jù)行移動(dòng)”下的“從導(dǎo)出文件導(dǎo)入”超鏈接。在“導(dǎo)入:文件”界面中,在選擇目錄對(duì)象中選擇“DIR1”目錄對(duì)象,輸入文件名導(dǎo)出文件名,如PDAT1.DMP,這里導(dǎo)入類型處選擇“表”單選鈕,在主機(jī)身份證明中輸入操作系統(tǒng)中具有管理員權(quán)限的合法用戶,如“HR”。單擊繼續(xù)按鈕,出現(xiàn)“導(dǎo)入:表”界面單擊添加按鈕,在選擇SCOTT用戶的EMP表。單擊下一步按鈕,出現(xiàn)“導(dǎo)入:重新映射”界面。單擊下一步按鈕,出現(xiàn)“導(dǎo)入:調(diào)度”界面,在作業(yè)名稱處輸入JOB_IMP,選擇“立即”啟動(dòng)作業(yè)調(diào)度。確認(rèn)后單擊提交作業(yè)按鈕,出現(xiàn)“導(dǎo)入:正在進(jìn)行中”界面。稍候片刻,出現(xiàn)“作業(yè)活動(dòng)”界面,此時(shí)已經(jīng)成功創(chuàng)建作業(yè)。第8章備份和恢復(fù)8.7恢復(fù)管理器8.7.1恢復(fù)管理器簡(jiǎn)介8.7.2恢復(fù)管理器的相關(guān)術(shù)語(yǔ)8.7.3使用恢復(fù)管理器進(jìn)行備份8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)第8章備份和恢復(fù)8.7.1恢復(fù)管理器簡(jiǎn)介恢復(fù)管理器(RMAN,RecoveryManager)用來(lái)備份和還原數(shù)據(jù)庫(kù)文件、SPFILE參數(shù)文件、歸檔日志和控制文件等。也可執(zhí)行完全或不完全的數(shù)據(jù)庫(kù)恢復(fù)。RMAN啟動(dòng)數(shù)據(jù)庫(kù)上的Oracle服務(wù)器進(jìn)程來(lái)進(jìn)行備份或恢復(fù)。RMAN有三種不同的用戶接口:命令行方式、圖形界面方式(集成在OEM中的備份管理器)和API方式(集成到第三方的備份軟件中)。RMAN的功能類似物理備份,但比物理備份強(qiáng)大許多,從下面的列出一些特性可以看出。1)備份以數(shù)據(jù)塊為單位,只備份使用過(guò)的數(shù)據(jù)庫(kù),節(jié)省備份介質(zhì)的空間占用2)可以在數(shù)據(jù)塊水平上實(shí)現(xiàn)增量備份3)可以把備份的輸出打包成備份集,也可以按固定大小分割備份集4)自動(dòng)管理備份與恢復(fù)相關(guān)的元數(shù)據(jù)5)自動(dòng)檢測(cè)是否出現(xiàn)損壞的數(shù)據(jù)塊第8章備份和恢復(fù)8.7.2恢復(fù)管理器的相關(guān)術(shù)語(yǔ)1)目標(biāo)數(shù)據(jù)庫(kù)(TARGETDATABASE)在RMAN中,目標(biāo)數(shù)據(jù)庫(kù)指需要備份或恢復(fù)的數(shù)據(jù)庫(kù)。2)備份集(BACKUPSETS)備份集就是一次備份的集合,它包含本次備份的所有備份片,以O(shè)racle專有的格式保存。一個(gè)備份集根據(jù)備份的類型不同,可能構(gòu)成一個(gè)完全備份或增量備份。3)備份片(BACKUPPIECES)一個(gè)備份集由若干個(gè)備份片組成。每個(gè)備份片是一個(gè)單獨(dú)輸出文件。一個(gè)備份片的大小是有限制的;如果沒(méi)有大小的限制,備份集就只由一個(gè)備份片構(gòu)成。備份片的大小不能大于你的文件系統(tǒng)所支持的文件長(zhǎng)度的最大值。4)映像備份(IMAGECOPIES)不壓縮、不打包、直接COPY物理文件,類似操作系統(tǒng)級(jí)的文件備份。而且只能COPY到磁盤,不能到磁帶。5)全備份(FULLBACKUP)指對(duì)數(shù)據(jù)文件中使用過(guò)的數(shù)據(jù)塊進(jìn)行備份,沒(méi)有使用過(guò)的數(shù)據(jù)塊是不做備份的。也就是說(shuō)RMAN壓縮備份。第8章備份和恢復(fù)8.7.2恢復(fù)管理器的相關(guān)術(shù)語(yǔ)6)增量備份(INCREMENTALBACKUP)增量備份是指?jìng)浞輸?shù)據(jù)文件中自從上一次同一級(jí)別的或更低級(jí)別的備份以來(lái)被修改過(guò)的數(shù)據(jù)塊。與完全備份相同,增量備份也進(jìn)行壓縮。增量備份雖然概念很好,備份也很簡(jiǎn)單,但恢復(fù)起來(lái)卻是另外一回事,不僅麻煩而且容易出錯(cuò),所以實(shí)際中越來(lái)越少使用,到了Oracle9i已經(jīng)建議不再使用,以后版本會(huì)逐漸取消對(duì)增量備份的支持。7)恢復(fù)目錄(RECOVERYCATALOG)恢復(fù)目錄用于存儲(chǔ)RMAN使用過(guò)程中的控制信息,恢復(fù)目錄有多個(gè)表和存儲(chǔ)過(guò)程組成,這些對(duì)象位于同一個(gè)模式(SCHEMA)下。如果RMAN使用恢復(fù)目錄,則不僅需建立到目標(biāo)數(shù)據(jù)庫(kù)的連接,還需建立到恢復(fù)目錄所在數(shù)據(jù)庫(kù)的連接。如果RMAN使用NOCATALOG方式,則控制信息將記錄在目標(biāo)數(shù)據(jù)庫(kù)的控制文件中,但這樣不安全,因?yàn)橐坏┠繕?biāo)數(shù)據(jù)庫(kù)的控制文件損壞就意味著所有的RMAN備份失效。第8章備份和恢復(fù)8.7.2恢復(fù)管理器的相關(guān)術(shù)語(yǔ)8)通道(CHANNEL)RMAN在將數(shù)據(jù)備份到備份介質(zhì)上時(shí),需要建立這些備份介質(zhì)的通道。一旦建立通道,數(shù)據(jù)就會(huì)從該通道備份到指定備份介質(zhì)上。每次備份或恢復(fù)時(shí),可以建立多個(gè)通道以加快處理速度。通道的類型決定了要將數(shù)據(jù)備份到那種介質(zhì)上,有兩種類型的通道:磁盤和磁帶。如果分配的通道為磁盤類型,則說(shuō)明要將數(shù)據(jù)備份到磁盤上;如分配的通道為磁帶類型,則說(shuō)明要將數(shù)據(jù)備份到磁帶上。在RMAN中,可以使用SHOWALL命令顯示通道的配置參數(shù)。通道可以自動(dòng)分配,也可以使用RUN命令手動(dòng)分配通道。第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份RMAN可以使用的備份命令有COPY和BACKUP命令,COPY命令用于數(shù)據(jù)文件的備份,可以將指定的數(shù)據(jù)文件備份到備份介質(zhì)上,BACKUP命令是數(shù)據(jù)的備份,可以復(fù)制一個(gè)或多個(gè)表空間或者整個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。1、RMAN備份前的準(zhǔn)備工作1)將目標(biāo)數(shù)據(jù)庫(kù)設(shè)置為歸檔模式RMAN進(jìn)行備份和恢復(fù)時(shí),數(shù)據(jù)庫(kù)需運(yùn)行在歸檔模式。如果數(shù)據(jù)庫(kù)沒(méi)有運(yùn)行在歸檔模式需設(shè)置為歸檔模式。2)創(chuàng)建RMAN用戶和表空間首先,創(chuàng)建恢復(fù)目錄所用的表空間。SQL>createtablespacermantsdatafile'C:\oracle\product\10.2.0\oradata\orcl\rmants.ora'size20M;創(chuàng)建RMAN用戶并授權(quán)recovery_catalog_owner。SQL>createuserrmanidentifiedbyrmandefaulttablespacermantstemporarytablespacetempquotaunlimitedonrmants;SQL>grantrecovery_catalog_ownertorman;第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份3)創(chuàng)建恢復(fù)目錄在目錄數(shù)據(jù)庫(kù)中創(chuàng)建恢復(fù)目錄,下面語(yǔ)句中的rman/rman為剛才創(chuàng)建的用戶名和密碼。C:\>rmancatalogrman/rmanRMAN>createcatalog;上面使用RMAN用戶的默認(rèn)表空間創(chuàng)建恢復(fù)目錄,如果想要使用另外的表空間創(chuàng)建恢復(fù)目錄,則可以使用語(yǔ)句“CREATECATALOGTABLESPACE表空間名”。4)連接到目標(biāo)數(shù)據(jù)庫(kù)并注冊(cè)數(shù)據(jù)庫(kù)C:\>rmantargetsys/orcl@orclRMAN>connectcatalogrman/rmanRMAN>registerdatabase;上面registerdatabae,完成將目標(biāo)數(shù)據(jù)庫(kù)中的控制文件轉(zhuǎn)到恢復(fù)目錄中。如果RMAN使用NOCATALOG(無(wú)恢復(fù)目錄)方式,則可以使用下面的語(yǔ)句:C:\>rmantargetsys/orclnocatalog或者:C:\>rmantarget\第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份2、使用RMAN開(kāi)始備份1)備份整個(gè)數(shù)據(jù)庫(kù)在RMAN中備份數(shù)據(jù)庫(kù),使用帶有FORMAT參數(shù)的BACKUPDATABASE命令。其中,F(xiàn)ORMAT參數(shù)指定一個(gè)存儲(chǔ)備份文件的目的路徑。FORMAT命令由兩部分組成,即路徑和文件名稱存儲(chǔ)格式。RMAN>backupdatabaseformat'D:\DUMP\ORCL%U.dmp';BACKUPDATABASE命令也可以用在RUN語(yǔ)句中,如下面的語(yǔ)句:RMAN>run{allocatechannelc1typedisk;backupdatabaseformat'D:\DUMP\ORCL%U.dmp'; }第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份2)使用RMAN備份表空間RMAN使用BACKUPTABLESPACE命令來(lái)備份一個(gè)或多個(gè)表空間。如下面的語(yǔ)句:RMAN>BACKUPTABLESPACEUSERSformat'D:\DUMP\USERS%U.dmp';BACKUPTABLESPACE命令也可以用在RUN語(yǔ)句中,如下面的語(yǔ)句:RMAN>RUN{allocatechannelc1typedisk;BACKUPTABLESPACEUSERSformat'D:\DUMP\USERS%U.dmp';}第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份3)使用RMAN備份數(shù)據(jù)文件RMAN在備份數(shù)據(jù)文件時(shí)由許多選項(xiàng),如可以使用標(biāo)記(TAG),標(biāo)記指定備份集或鏡像副本文件所取的名稱,可以用一個(gè)有含義的名稱來(lái)應(yīng)用某個(gè)備份文件。如下面的語(yǔ)句:RMAN>BACKUPDATABASETAG='WEEK_BACKUP'; 在默認(rèn)情況下,RMAN在備份時(shí)總是會(huì)檢查數(shù)據(jù)塊是否損壞,如果希望加快備份速度而不檢查壞塊,可以使用帶有NOCHECKSUM選項(xiàng)的語(yǔ)句,如下面的語(yǔ)句:RMAN>BACKUPNOCHECKSUMDATABASE;RMAN通過(guò)指定MAXPIECESIZE選項(xiàng)來(lái)限定單個(gè)備份片的最大尺寸,MAXSETSIZE選項(xiàng)來(lái)限定單個(gè)備份集的最大尺寸。如果要指定備份集的最大尺寸,則要確保該值大于最大的數(shù)據(jù)文件的大小,如下面的語(yǔ)句:RMAN>BACKUPDATABASEMAXSETSIZE=1024M;第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份備份時(shí)可以選擇跳過(guò)一些不能訪問(wèn)、只讀或脫機(jī)狀態(tài)的數(shù)據(jù)文件;如下面的語(yǔ)句:RMAN>BACKUPDATABASESKIPINACCESSIBLE;RMAN>BACKUPDATABASESKIPOFFLINE;RMAN>BACKUPDATABASESKIPREADONLY;RMAN>BACKUPDATABASESKIPINACCESSIBLESKIPOFFLINESKIPREADONLY;RMAN還可以使用COPY命令生成數(shù)據(jù)文件的映像備份,如下面的語(yǔ)句:RMAN>RUN{ALLOCATECHANNELC1TYPEDISK;COPYDATAFILE'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF'TO'D:\DUMP\USER01.DBF';}第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份4)使用RMAN備份控制文件RMAN備份控制文件的語(yǔ)句如下:RMAN>BACKUPCURRENTCONTROLFILE;在備份表空間時(shí),RMAN也支持同時(shí)備份控制文件,如下面的語(yǔ)句:RMAN>BACKUPTABLESPACESYSTEMINCLUDECURRENTCONTROLFILE;在備份數(shù)據(jù)庫(kù)時(shí),RMAN也支持可以同時(shí)備份控制文件,如下面的語(yǔ)句:RMAN>BACKUPDATABASEINCLUDECURRENTCONTROLFILE;5)使用RMAN備份歸檔日志文件RMAN備份所有歸檔日志文件的語(yǔ)句如下:RMAN>BACKUPARCHIVELOGALL;下面的語(yǔ)句只備份最近一周的所有歸檔日志文件:RMAN>BACKUPARCHIVELOGFROMTIME'SYSDATE-7';第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份下面只備份日志序列號(hào)大于53100的所有歸檔日志文件:RMAN>BACKUPARCHIVELOGFROMSEQUENCE53100;下面在備份數(shù)據(jù)文件時(shí),同時(shí)備份所有的歸檔日志文件:RMAN>BACKUPDATABASEPLUSARCHIVELOG;下面在備份表空間時(shí),同時(shí)備份所有的歸檔日志文件:RMAN>BACKUPTABLESPACEUSERSPLUSARCHIVELOG;注意在備份歸檔日志文件,RMAN會(huì)根據(jù)目標(biāo)數(shù)據(jù)庫(kù)的控制文件中所記錄的歸檔日志文件列表查查找所有的歸檔日志文件,如果某個(gè)歸檔日志文件被刪除就會(huì)出現(xiàn)RMAN備份失敗的情況。為了避免這種情況,可以使用帶有SKIPINACCESSABLE選項(xiàng)的備份語(yǔ)句,跳過(guò)那些不能訪問(wèn)的歸檔日志文件,只備份那些能夠訪問(wèn)的歸檔日志文件,如下:RMAN>BACKUPDATABASEPLUSARCHIVELOGSKIPINACCESSABLE;第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份3、查看RMAN備份信息RMAN中使用SHOW命令顯示配置參數(shù),如下面的語(yǔ)句:1)顯示RMAN通道的配置參數(shù)RMAN>showall;2)顯示RMAN的當(dāng)前配置參數(shù)RMAN>showdevicetype;RMAN使用LIST命令列出有關(guān)備份集的信息,其命令選項(xiàng)很多,如下面的語(yǔ)句:1)列出當(dāng)前數(shù)據(jù)庫(kù)中所有備份詳細(xì)信息RMAN>listbackup;2)列出當(dāng)前數(shù)據(jù)庫(kù)中的過(guò)期備份信息RMAN>listexpiredbackup;3)列出所有數(shù)據(jù)文件的備份集RMAN>listbackupofdatabase;4)列出特定表空間的所有數(shù)據(jù)文件備份集RMAN>listbackupoftablespaceuser;第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份5)列出控制文件備份集RMAN>listbackupofcontrolfile;6)列出歸檔日志備份集詳細(xì)信息RMAN>listbackupofarchivelogall;7)列出歸檔日志備份集簡(jiǎn)要信息RMAN>listarchivelogall;

8)列出SPFILE文件備份集RMAN>listbackupofspfile;9)列出數(shù)據(jù)文件映像副本RMAN>listcopyofdatafile5;10)列出控制文件映像副本RMAN>LISTCOPYOFCONTROLFILE;第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份RMAN使用REPORT命令對(duì)備份進(jìn)行分析,如哪些數(shù)據(jù)文件需要進(jìn)行備份,哪些備份已經(jīng)過(guò)期等等,如下面的語(yǔ)句:1)報(bào)告目標(biāo)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)RMAN>REPORTSCHEMA;2)報(bào)告最近3天沒(méi)有備份的數(shù)據(jù)文件RMAN>REPORTNEEDBACKUPDAYS3;3)報(bào)告最近3天在USERS表空間上沒(méi)有備份的數(shù)據(jù)文件RMAN>REPORTNEEDBACKUPDAYS3TABLESPACEUSERS;4)報(bào)告恢復(fù)時(shí)需要的增量備份個(gè)數(shù)超過(guò)3次的數(shù)據(jù)文件RMAN>REPORTNEEDBACKUPINCREMENTAL3;第8章備份和恢復(fù)8.7.3使用恢復(fù)管理器進(jìn)行備份5)報(bào)告?zhèn)浞菸募陀?份的所有數(shù)據(jù)文件RMAN>REPORTNEEDBACKUPREDUNDANCY2DATABASE;RMAN>REPORTNEEDBACKUPREDUNDANCY=2;6)報(bào)告如果要恢復(fù)到7天前的狀態(tài),還需要備份哪些數(shù)據(jù)文件RMAN>REPORTNEEDBACKUPRECOVERYWINDOWOF7DAYS;7)報(bào)告數(shù)據(jù)庫(kù)所有不可恢復(fù)的數(shù)據(jù)文件RMAN>REPORTUNRECOVERABLE;8)報(bào)告?zhèn)浞荽螖?shù)超過(guò)2次的陳舊備份RMAN>REPORTOBSOLETEREDUNNDANCY2;9)報(bào)告已廢棄的備份RMAN>REPORTOBSOLETE;第8章備份和恢復(fù)8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)RMAN備份的數(shù)據(jù)庫(kù)只能使用RMAN恢復(fù)命令進(jìn)行恢復(fù)。RMAN在恢復(fù)目錄中存儲(chǔ)了目標(biāo)數(shù)據(jù)庫(kù)的備份信息,RMAN可以根據(jù)恢復(fù)目錄中的信息自動(dòng)恢復(fù)到某一個(gè)一致性狀態(tài)。RMAN恢復(fù)分為完全恢復(fù)和不完全恢復(fù)。RMAN用到的恢復(fù)命令有RESTORE和RECOVER。其中,RESTORE命令可以將由BACKUP和COPY命令備份的文件復(fù)制到目標(biāo)數(shù)據(jù)庫(kù),RECOVER命令可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行同步恢復(fù),通過(guò)日志文件對(duì)數(shù)據(jù)文件進(jìn)行更新。RESTORE命令的基本語(yǔ)法如下:RMAN>RESTORE對(duì)象名其中,對(duì)象名可以為DATAFILE、TABLESPACE、DATABASE、CONTROLFILE、ARCHIVELOG。分別表示對(duì)數(shù)據(jù)文件、表空間、數(shù)據(jù)庫(kù)、控制文件和歸檔日志文件進(jìn)行恢復(fù)。第8章備份和恢復(fù)8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)RECOVER命令進(jìn)行恢復(fù)時(shí),只可以對(duì)表空間、數(shù)據(jù)文件和整個(gè)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。其中,表空間只能在數(shù)據(jù)庫(kù)正常狀態(tài)下實(shí)施恢復(fù),如果數(shù)據(jù)庫(kù)無(wú)法正常啟動(dòng),只能先恢復(fù)數(shù)據(jù)文件和數(shù)據(jù)庫(kù)。1、恢復(fù)控制文件控制文件損壞后,RMAN可以對(duì)之進(jìn)行恢復(fù),如下面的語(yǔ)句:RMAN>RUN{ALLOCATECHANNELC1TYPEDISK;RESTORECONTROL'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL'FROMAUTOBACKUP;RESTOREDATABASE;SQL'ALTERDATABASEMOUNT';RECOVERDATABASE;SQL'ALTERDATABASEOPENRESETLOGS';RELEASECHANNELC1;}第8章備份和恢復(fù)8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)2、恢復(fù)表空間RMAN對(duì)表空間恢復(fù)之前,必須使該表空間處于脫機(jī)狀態(tài),在恢復(fù)完成后再將之處于聯(lián)機(jī)狀態(tài)。RMAN完成恢復(fù)表空間的過(guò)程如下面的語(yǔ)句:RMAN>RUN{ALLOCATECHANNELC1TYPEDISK;SQL'ALTERTABLESPACEUSERSOFFLINEIMMEDIATE';RESTORETABLESPACEUSERS;RECOVERTABLESPACEUSERS;SQL'ALTERTABLESPACEUSERSONLINE';}值得注意的是,在執(zhí)行本操作時(shí),數(shù)據(jù)庫(kù)必須運(yùn)行在ARCHIVELOG模式下,否側(cè)將不允許對(duì)表空間執(zhí)行立即脫機(jī)的操作。第8章備份和恢復(fù)8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)3、恢復(fù)數(shù)據(jù)文件如果表空間中的某一個(gè)或幾個(gè)數(shù)據(jù)文件損壞,RMAN可以使用SETNEWNAME命令,將數(shù)據(jù)文件還原到指定的新路徑下,然后再通過(guò)SWITCHDATA命令將新的路徑信息寫入到控制文件。RMAN>RUN{ALLOCATECHANNELC1TYPEDISK;SQL'ALTERTABLESPACEUSERSOFFLINEIMMEDIATE';SETNEWNAMEFORDATAFILE'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF'TO'C:\ORACLE\PRODUCT\10.2.0\ORADATA\USERS01.DBF';SETNEWNAMEFORDATAFILE'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'TO第8章備份和恢復(fù)8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)'C:\ORACLE\PRODUCT\10.2.0\ORADATA\USERS02.DBF';RESTORETABLESPACEUSERS;SWITCHDATA;RECOVERTABLESPACEUSERS;SQL'ALTERTABLESPACEUSERSONLINE';}上面的語(yǔ)句對(duì)USERS表空間中的USERS01.DBF和USERS02.DBF數(shù)據(jù)文件由原來(lái)的路徑還原到上一層目錄。第8章備份和恢復(fù)8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)4、恢復(fù)全部數(shù)據(jù)庫(kù)恢復(fù)數(shù)據(jù)庫(kù)可以分為兩種情況,一種是數(shù)據(jù)庫(kù)運(yùn)行在非歸檔模式的恢復(fù),另一種是數(shù)據(jù)庫(kù)運(yùn)行在歸檔模式下的恢復(fù)。1)對(duì)非歸檔模式的數(shù)據(jù)庫(kù)做全庫(kù)恢復(fù)RMAN>RUN{SHUTDOWNIMMEDIATE;STARTUPMOUNT;RESTOREDATABASE;RECOVERDATABASE;ALTERDATABASEOPENRESETLOGS;}2)對(duì)歸檔模式的數(shù)據(jù)庫(kù)做全庫(kù)恢復(fù)RMAN>RUN{RESTOREDATABASE;RECOVERDATABASE;ALTERDATABASEOPENRESETLOGS;}第8章備份和恢復(fù)8.7.4使用恢復(fù)管理器進(jìn)行恢復(fù)5、不完全恢復(fù)不完全恢復(fù)可以將數(shù)據(jù)庫(kù)恢復(fù)到某一個(gè)一致性的狀態(tài)。不完全恢復(fù)只能是基于數(shù)據(jù)庫(kù)的恢復(fù),也就是說(shuō)必須還原所有的數(shù)據(jù)庫(kù)文件。不完全恢復(fù)有三種方式:基于時(shí)間點(diǎn)、基于日志序列號(hào)和基于SCN號(hào)。1)基于時(shí)間點(diǎn)的不完全恢復(fù)在明確知道發(fā)生問(wèn)題的時(shí)間點(diǎn),可以采用基于時(shí)間點(diǎn)的不完全恢復(fù)。當(dāng)使用基于時(shí)間點(diǎn)的不完全恢復(fù)時(shí),需注意日期格式的問(wèn)題。如下面的語(yǔ)句將數(shù)據(jù)庫(kù)恢復(fù)到2009年10月12日上午8點(diǎn)整之前。RMAN>RUN{ALLOCATECHANNELC1TYPEDISK;SETUNTILTIME=''T

溫馨提示

  • 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)論