




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第十一章Oracle8.0RMAN11.1RMAN的基本概念
在Oracle8.0以后的數(shù)據(jù)庫版本中,增加了一個數(shù)據(jù)庫備份工具,叫RMAN。RMAN通過啟動操作系統(tǒng)進程將數(shù)據(jù)備份到磁盤或磁帶上.在操作系統(tǒng)符下輸入“rman”,則進入了RMAN中。例如:
C:\>rman
第十一章Oracle8.0RMAN11.1RMAN的1與常用的物理數(shù)據(jù)庫備份、邏輯數(shù)據(jù)庫備份不同,RMAN使用數(shù)據(jù)庫對數(shù)據(jù)庫進行備份的原理。在RMAN中,可以使用COPY命令將數(shù)據(jù)庫文件復(fù)制到磁盤或磁帶上,也可以使用BACKUP命令對于整個數(shù)據(jù)庫、一個指定的表空間、控制文件,或日志文件進行備份。BACKUP命令可以將數(shù)據(jù)庫備份成為多個數(shù)據(jù)包,每一個包稱為一個備份子集(BACKUPSET),一個備份集又可以分成多個數(shù)據(jù)片(BACKUPPIECE)。備份集是一個邏輯結(jié)構(gòu),包含一組的物理文件。這些物理文件就是對應(yīng)的備份片。注意:一個數(shù)據(jù)文件不能跨越一個備份集,但是能跨越備份片。數(shù)據(jù)文件,控制文件能保存在同樣的備份集上,但是不能與歸檔日志保存在同樣的備份集上。
RMAN可以在不同的操作系統(tǒng)上進行備份。例如,運行在WindowsNT上的RMAN,可以對遠程的UNIX服務(wù)器上的數(shù)據(jù)庫進行備份。
與常用的物理數(shù)據(jù)庫備份、邏輯數(shù)據(jù)庫備份不同,RMAN2最簡單的RMAN運行環(huán)境只包括兩個組件:RMAN命令執(zhí)行器與目標數(shù)據(jù)庫。在RMAN命令執(zhí)行器中執(zhí)行用于進行備份或恢復(fù)操作的RMAN命令,然后由RMAN命令執(zhí)行器對目標數(shù)據(jù)庫進行相應(yīng)的操作。但在比較復(fù)雜的RMAN環(huán)境中會涉及更多的組件,不僅包括RMAN命令執(zhí)行器與目標數(shù)據(jù)庫,還會包括RMAN恢復(fù)目錄、備用數(shù)據(jù)庫等組件。目標數(shù)據(jù)庫:利用RMAN進行備份與恢復(fù)操作的數(shù)據(jù)庫。RMAN將使用目標數(shù)據(jù)庫的控制文件來收集關(guān)于數(shù)據(jù)庫文件的相關(guān)信息,并且使用控制文件來存儲相關(guān)的RMAN操作信息。此外,實際的備份、修復(fù)以及恢復(fù)操作也是由目標數(shù)據(jù)庫中的服務(wù)進程來執(zhí)行的。
最簡單的RMAN運行環(huán)境只包括兩個組件:RMAN命令3RMAN命令執(zhí)行器:可以看做是目標數(shù)據(jù)庫的一個客戶端應(yīng)用程序。你在RMAN命令執(zhí)行器中執(zhí)行RMAN命令,RMAN命令執(zhí)行器對命令進行解釋,然后利用Oracle網(wǎng)絡(luò)服務(wù)來建立到目標數(shù)據(jù)庫的連接,并且調(diào)用服務(wù)進程來完成實際的備份與恢復(fù)操作。
RMAN資料檔案庫:RMAN在進行備份、恢復(fù)以及修復(fù)操作時需要使用到的管理信息和數(shù)據(jù)稱為RMAN的資料檔案庫。RMAN的資料檔案庫可以完全保存在目標數(shù)據(jù)庫的控制文件中,也可以保存在一個可選的恢復(fù)目錄數(shù)據(jù)庫中。
RMAN恢復(fù)目錄:如果使用一個獨立的數(shù)據(jù)庫來保存RMAN的資料檔案庫,那么RMAN的功能可以得到很大的擴展,這時稱RMAN資料檔案庫的擴展形式為RMAN恢復(fù)目錄。RMAN命令執(zhí)行器:可以看做是目標數(shù)據(jù)庫4不建議恢復(fù)目錄創(chuàng)建在目標數(shù)據(jù)庫上,利用恢復(fù)目錄可以同時管理多個目標數(shù)據(jù)庫,存儲更多的備份信息,可以存儲備份腳本。如果不采用恢復(fù)目錄,可以采用控制文件來代替恢復(fù)目錄,oracle9i因為控制文件自動備份的功能,利用控制文件很大程度上可以取代恢復(fù)目錄。
RMAN恢復(fù)目錄模式:在RMAN恢復(fù)目錄數(shù)據(jù)庫中擁有RMAN資料檔案庫的用戶模式。RMAN通過這個用戶模式來使用和維護它自己的恢復(fù)目錄。
RMAN恢復(fù)目錄數(shù)據(jù)庫:用來保存RMAN恢復(fù)目錄的數(shù)據(jù)庫。它是一個獨立于目標數(shù)據(jù)庫的Oracle數(shù)據(jù)庫。需要注意的是,在以上組件中,只有目標數(shù)據(jù)庫和RMAN命令執(zhí)行器是必需的,其他組件都是可選的。
不建議恢復(fù)目錄創(chuàng)建在目標數(shù)據(jù)庫上,利用恢復(fù)目錄可以同511.2RMAN工具的使用
11.2.1創(chuàng)建恢復(fù)目錄
步驟1:創(chuàng)建恢復(fù)目錄數(shù)據(jù)庫。
在創(chuàng)建恢復(fù)目錄之前,必須先為RMAN創(chuàng)建一個數(shù)據(jù)庫。為了數(shù)據(jù)庫安全,最好將恢復(fù)目錄數(shù)據(jù)庫建在與目標數(shù)據(jù)庫獨立的兩個服務(wù)器上。假設(shè)數(shù)據(jù)庫創(chuàng)建如下:
系統(tǒng)表空間SYSTEM:90MB。回退表空間:5MB。臨時表空間TEMP:5MB。日志文件設(shè)置:3個日志文件組,每組兩個日志成員,大小為1MB。RECOVERYCATALOG表空間:表空間名為CATTBS,大小為15MB。
11.2RMAN工具的使用6步驟2:創(chuàng)建RMAN用戶,并為用戶授權(quán)。這里假設(shè)用戶名為RMAN,密碼為RMAN。創(chuàng)建完用戶還必須把CONNECT、RESOURCE、RECOVERY_CATALOG_OWNER的權(quán)限授予該用戶,以便該用戶有恢復(fù)目錄管理的權(quán)限。SQL>createuserrmanidentifiedbyrmandefaulttablespacecattbs
temporarytablespacetemp;SQL>grantconnect,resourcetorman;SQL>grantrecovery_catalog_ownertorman;
步驟2:創(chuàng)建RMAN用戶,并為用戶授權(quán)。7步驟3:創(chuàng)建恢復(fù)目錄。創(chuàng)建恢復(fù)目錄時,需要先進入RMAN。
C:\>rman
進入RMAN后,以RMAN用戶登錄,創(chuàng)建恢復(fù)目錄,語法如下:
RMAN>connectcatalogrman/rman
RMAN>createcatalog;
上述命令使用RMAN用戶的默認表空間創(chuàng)建恢復(fù)目錄,如果不使用默認表空間創(chuàng)建恢復(fù)目錄,則可以輸入下列命令:RMAN>createcatalogtablespacecattbs;另外,如果恢復(fù)目錄與目標數(shù)據(jù)庫不在同一服務(wù)器上,則應(yīng)通過“@網(wǎng)絡(luò)連接串”來登錄,如:
RMAN>connectcatalogrman/rman@網(wǎng)絡(luò)連接串
RMAN>dropcatalog;//刪除恢復(fù)目錄
步驟3:創(chuàng)建恢復(fù)目錄。811.2.2連接RMAN使用RMAN時,首先需要為它建立到目標數(shù)據(jù)庫的連接。RMAN可以在無恢復(fù)目錄及有恢復(fù)目錄兩種方式下連接到目標數(shù)據(jù)庫。
無恢復(fù)目錄
C:\>rmantarget/C:\>rmantarget/nocatalogC:\>rmantargetsys/change_on_installnocatalogC:\>rmannocatalog注意:如果目標數(shù)據(jù)庫與RMAN數(shù)據(jù)庫不在同一臺服務(wù)器上時,必須使用"@網(wǎng)絡(luò)連接串"的連接方法。
11.2.2連接RMAN92.有恢復(fù)目錄
步驟1:連接到目標數(shù)據(jù)庫,如:
C:\>rmantargetsys/change_on_installcatalogrman/rman
如果目標數(shù)據(jù)庫與RMAN數(shù)據(jù)庫不在同一臺服務(wù)器上時,必須使用網(wǎng)絡(luò)連接串進行連接。如:
C:\>rmantargetsys/change_on_installcatalogrman/rman@網(wǎng)絡(luò)連接串
步驟2:注冊數(shù)據(jù)庫
注冊數(shù)據(jù)庫是將目標數(shù)據(jù)庫控制文件轉(zhuǎn)到恢復(fù)目錄中。同一個恢復(fù)目錄中只能注冊一個目標數(shù)據(jù)庫。
RMAN>registerdatabase;
2.有恢復(fù)目錄10步驟3:將目標數(shù)據(jù)庫與恢復(fù)目錄進行同步化
為了維持恢復(fù)目錄與目標數(shù)據(jù)庫控制文件的同步化,在RMAN連接到目標數(shù)據(jù)庫之后,必須運行RESYNCCATALOG命令,目標數(shù)據(jù)庫的同步信息輸入到恢復(fù)目錄。
RMAN>resynccatalog;
如果目標數(shù)據(jù)庫中的表空間、數(shù)據(jù)文件發(fā)生改變,則必須進行一次同步化過程。除手工進行同步外,還可以在參數(shù)文件中增加參數(shù)CONTROL_FILE_RECORD_KEEP_TIME,設(shè)置同步時間,該參數(shù)默認值為7,即每7天系統(tǒng)自動同步一次。
步驟3:將目標數(shù)據(jù)庫與恢復(fù)目錄進行同步化1111.2.3RMAN命令簡介
RMAN命令可分為兩種類型:獨立命令和作業(yè)命令。
獨立命令是指只能直接在RMAN提示符下輸入并執(zhí)行的命令,獨立命令主要包括以下一些命令:
CHANGECONNECTCREATECATALOG與RESYNCCATALOGCREATESCRIPT、DELETESCRIPT與REPLACESCRIPT11.2.3RMAN命令簡介12作業(yè)命令是指以RUN命令開頭并包含在一對大括號中的一系列RMAN命令。這些命令將作為一個完整的命令塊一起執(zhí)行。如果作業(yè)命令中的任何一條命令執(zhí)行失敗,則整個作業(yè)命令停止執(zhí)行,即執(zhí)行失敗的命令之后的其他命令都不會再繼續(xù)執(zhí)行。下面是一個作業(yè)命令的示例。
RMAN>RUN{2>allocatechanneld1devicetypedisk;3>backup4>format='e:\oracle\backup\%u'5>database;}大部分的RMAN命令都是既可以在RUN命令塊中使用,也可以在RMAN提示符下直接使用。下面把RMAN的常用命令進行簡單的介紹。作業(yè)命令是指以RUN命令開頭并包含在一對大括號中的一131.啟動與關(guān)閉目標數(shù)據(jù)庫命令:
RMAN>shutdownimmediateRMAN>startupRMAN>startupforceRMAN>startupmountRMAN>alterdatabaseopen1.啟動與關(guān)閉目標數(shù)據(jù)庫命令:14除了在RMAN中可以執(zhí)行上述命令來啟動或關(guān)閉數(shù)據(jù)庫外,還可以在RMAN中執(zhí)行SQL語句或PL/SQL過程。在RMAN提示符后輸入SQL命令,然后在一對單引號(雙引號也可)中輸入需要執(zhí)行的SQL語句,即可在RMAN中執(zhí)行這條語句。RMAN>SQL‘ALTERSYSTEMARCHIVELOGALL’;
需要在RMAN中執(zhí)行PL/SQL過程,也可以使用類似的方法來實現(xiàn)。比如:RMAN>RUN2>{3>SQL‘BEGINscott.update_log;END;’;4>}注意:如果要在SQL語句或PL/SQL過程中包含單引號,必須在SQL語句或PL/SQL過程中的每個單引號前面再添加一個單引號;另外在RMAN中不能執(zhí)行SELECT語句。除了在RMAN中可以執(zhí)行上述命令來啟動或關(guān)閉數(shù)據(jù)庫外152.數(shù)據(jù)庫備份與恢復(fù)命令:
COPY命令:COPY命令是數(shù)據(jù)庫文件的復(fù)制,可以復(fù)制單個的數(shù)據(jù)文件、歸檔日志、控制文件等。其語法為:
RMAN>copy<Inputfile>to<Location><Option>
其中,<InputFile>是被備份的文件;<Location>是使用COPY命令復(fù)制文件的目的路徑及文件名;<Option>是可選項。使用COPY命令可以一次備份多個文件,備份多個文件時,用逗號隔開。COPY命令結(jié)束時,自動將所分配的通道釋放。
2.數(shù)據(jù)庫備份與恢復(fù)命令:16BACKUP命令:BACKUP命令語法為:RMAN>BACKUP<Level>(<BackupType><Option>)
其中,<Level>是備份增量級,可以取的值為Full或Incremental,F(xiàn)ull表示全備份,Incremental表示增量備份,共有4級增量(1、2、3、4);<BackupType>是備份對象;<Option>為可選項,主要參數(shù)如表所示:
BACKUP命令:17參數(shù)名含義說明Tag表示標記Format表示文件存儲格式IncludeCurrentControlfile表示備份控制文件Filesperset表示每個備份集所包含的文件Channel用于指定BACKUP命令所用的通道Delete[A11]Input表示備份結(jié)束時是否刪除歸檔日志Maxsetsize表示備份集的最大尺寸Skip[OFFLINE、READONLY、INACCESSIBLE]表示在備份集中排除某些數(shù)據(jù)文件或歸檔重做日志文件參數(shù)名18RESTORE命令
RESTORE命令將COPY及BACKUP命令備份的文件復(fù)制到目標數(shù)據(jù)庫。其語法為:
RMAN>RESTORE<Object><Option>
其中,<Object>是備份文件對象,可使用的對象及含義如表所示:備份文件對象
含義說明Datafile表示恢復(fù)數(shù)據(jù)文件Tablespace表示恢復(fù)一個表空間Database表示恢復(fù)整個數(shù)據(jù)庫Controlfile表示將控制文件的備份結(jié)果恢復(fù)到指定目錄ArchivelogAll表示將全部的歸檔日志復(fù)制到指定的目錄,用于后續(xù)的RECOVER命令對數(shù)據(jù)庫實施恢復(fù)。RESTORE命令19而<Option>是選項,其含義如表所示:
參數(shù)名含義說明CHANNEL表示恢復(fù)終止控制條件PARMS表示設(shè)置磁帶參數(shù),磁盤通道不使用此參數(shù)untilClause表示恢復(fù)終止條件VALIDATE表示是否對文件進行檢查CHECKLOGICAL表示是否對文件進行檢查CHECKREADONLY表示是否對文件進行檢查DEVICETYPE用于指定通道設(shè)備類型FROMTAG用于在備份時設(shè)置有標記的備份文件,可以使用此參數(shù)指出要恢復(fù)的文件的標記FROMBACKUPSET|DATAFILECOPY表示是從BACKUP的文件還是從COPY的文件中進行恢復(fù)而<Option>是選項,其含義如表所示:20RECOVER命令
RECOVER命令將RESTORE命令恢復(fù)到目標數(shù)據(jù)庫中的文件實施數(shù)據(jù)庫同步恢復(fù)。RECOVER命令的語法如下:RMAN>RECOVER<DEVICETYPE><Object><Option>
其中,<Object>是要恢復(fù)的對象類型,有數(shù)據(jù)文件、表空間,以及數(shù)據(jù)庫。其中,表空間只能在數(shù)據(jù)庫正常運行狀態(tài)下實施恢復(fù),如果數(shù)據(jù)庫因為某些原因?qū)е聼o法啟動,則只能恢復(fù)數(shù)據(jù)文件或數(shù)據(jù)庫。數(shù)據(jù)文件恢復(fù)后,該數(shù)據(jù)文件所對應(yīng)的表空間隨之恢復(fù)正常。而<Option>是選項,其含義如表所示:
RECOVER命令21參數(shù)名含義說明NOREDO用于非歸檔方式下的數(shù)據(jù)庫恢復(fù)FROMTAG備份文件的標記ARCHIVELOGTAG日志文件的標記DELETEARCHIVELOG表示數(shù)據(jù)庫恢復(fù)后是否要刪除歸檔日志CHECKREADONLY表示在數(shù)據(jù)庫恢復(fù)時是否對只讀表空間進行檢查參數(shù)名223.恢復(fù)目錄維護命令:
顯示完全備份時的數(shù)據(jù)庫結(jié)構(gòu)
RMAN>reportschema
顯示備份列表
RMAN>listbackup
如果要顯示某個表空間的備份情況:RMAN>listbackupoftablespaceusers
顯示預(yù)定義的默認配置參數(shù)RMAN>showall
修改默認的配置參數(shù)
RMAN>configure;如利用configurechannel來指定默認的自動分配通道配置:RMAN>configurechanneldevicetypediskformat'e:\oracle\backup\rman\%u'
3.恢復(fù)目錄維護命令:23最后需說明的是,在RMAN中還可以將命令作為腳本存儲起來,需要時在直接在RMAN中執(zhí)行,具體使用如下:RMAN>createscriptusr_bak{2>allocatechanneldefaultchanneltypedisk;3>backuptablespaceusers;4>}
創(chuàng)建完腳本后,直接在RMAN工具中輸入如下命令即可執(zhí)行該腳本:RMAN>run{2>executescriptusr_bak;3>}
最后需說明的是,在RMAN中還可以將命令作為腳本存儲2411.3RMAN的配置
11.3.1通道概述
通道是RMAN中最基本的概念,一個RMAN通道表示了一個到存儲設(shè)備的數(shù)據(jù)流,它對應(yīng)于目標數(shù)據(jù)庫中的一個服務(wù)進程。凡是在執(zhí)行需要與目標數(shù)據(jù)庫或操作系統(tǒng)進行交互操作的命令之前,都必須首先為這個命令分配一個通道。在Oracle9i中,通道包括自動通道分配(AutomaticChannelAllocation)與RUN命令手動通道分配。
11.3RMAN的配置2511.3.2自動分配通道
在RMAN中,在RUN外部使用BACKUP、RESTORE、DELETE命令,或在RUN中使用這些命令時,如果沒有用手工方式為RMAN命令分配通道,RMAN將利用預(yù)定義的設(shè)置來為命令自動分配通道。
定義自動通道語法如下:
CONFIGUREDEVICETYPEsbt/diskPARALLELISMnCONFIGUREDEFAULTDEVICETYPETODISK(sbt)CONFIGURECHANNELDEVICETYPECONFIGURECHANNELnDEVICETYPE11.3.2自動分配通道26例如,分配兩個磁帶通道,3個磁盤通道:RMAN>CONFIGUREDEVICETYPEsbtPARALLELISM2;RMAN>CONFIGUREDEVICETYPEdiskPARALLELISM3;
同時,可以重新設(shè)置RMAN配置的通道個數(shù)。例如,將磁盤通道數(shù)改為兩個:
RMAN>CONFIGUREDEVICETYPEdiskPARALLELISM2;例如,分配兩個磁帶通道,3個磁盤通道:27指定自動通道的默認設(shè)備
命令CONFIGUREDEFAULTDEVICETYPEtoDISK(sbt)用于指定自動通道的默認設(shè)備。如果大部分數(shù)據(jù)庫備份使用磁帶備份時,可以設(shè)置:RMAN>CONFIGUREDEFAULTDEVICETYPETOsbt;
則RMAN僅使用SBT設(shè)備進行數(shù)據(jù)備份。自動通道參數(shù)配置命令CONFIGURECHANNELDEVICETYPE用于定義無通道號的設(shè)備,則所有通道的配置參數(shù)相同;命令CONFIGURECHANNELnDEVICETYPE用于定義指定的一個通道參數(shù)。例如:CONFIGURECHANNELDEVICETYPEdiskMAXPIECESIZE=2MCONFIGURECHANNEL5DEVICETYPEdiskMAXPIECESIZE=1M
指定自動通道的默認設(shè)備28清除自動分配的通道的設(shè)置
清除自動分配通道設(shè)置,可以將通道清除為默認狀態(tài)。清除命令格式如下:
CONFIGUREDEVICETYPEdiskCLEAR;CONFIGUREDEFAULTDEVICETYPECLEAR;CONFIGURECHANNELDEVICETYPEsbtCLEAR;CONFIGURECHANNEL5DEVICETYPEdiskCLEAR;清除完成后,可以使用RMAN>showall顯示系統(tǒng)默認值。
清除自動分配的通道的設(shè)置2911.3.3手動分配通道
如果不使用自動通道方式時,則可以使用RUN命令定義手動通道(ManuallyAllocatedChannels)。定義手動通道的語法如下:RUN{ALLOCATECHANNEL通道名稱DEVICETYPE設(shè)備類型;BACKUP…;…}如:RUN{ALLOCATECHANNELc1DEVICETYPEsbt;BACKUPtablespacesystem;}
11.3.3手動分配通道30手動分配多個通道
可以定義多個通道,使用多個并行的通道進行備份。在下面的例子中,BACKUP命令使用3個通道同時備份3個數(shù)據(jù)文件,3個通道同時被激活,一個通道備份一個數(shù)據(jù)文件。RUN{ALLOCATECHANNELc1DEVICETYPEdisk;ALLOCATECHANNELc2DEVICETYPEdisk;ALLOCATECHANNELc3DEVICETYPEdisk;BACKUPDATAFILE1,2,3}
手動分配多個通道31在以下的程序中,雖然定義了多個通道,但分別使用了3個BACKUP命令備份3個數(shù)據(jù)文件,同一時間只有一個文件進行備份,只激活一個通道,所以只使用一個通道。RUN{ALLOCATECHANNELc1DEVICETYPEsbt;ALLOCATECHANNELc2DEVICETYPEsbt;ALLOCATECHANNELc3DEVICETYPEsbt;BACKUPDATAFILE1;BACKUPDATAFILE2;BACKUPDATAFILE3;}
在以下的程序中,雖然定義了多個通道,但分別使用了3個B3211.3.4設(shè)置通道控制參數(shù)
無論是自動通道還是手動通道,每一個通道都可以設(shè)置一些參數(shù),以控制通道備份數(shù)據(jù)時備份集大小。通道控制參數(shù)如下。
設(shè)置參數(shù)FILESPERSET參數(shù)FILESPERSET用于限制BACKUP時備份集(BackupSet)的文件個數(shù)。例如,分配一個自動通道,并限制該通道每兩個文件備份成為一個備份集。
ALLOCATECHANNELch1DEVICETYPEsbtFILESPERSET=2;11.3.4設(shè)置通道控制參數(shù)33設(shè)置參數(shù)MAXPIECESIZE參數(shù)MAXPIECESIZE用于設(shè)置備份集中每一個備份片(BackupPieces)文件的大小。定義該參數(shù)時可以指定通道名稱,為指定通道設(shè)置參數(shù)。例如,設(shè)置通道2及chl的備份片大小為20MB:
CONFIGURECHANNEL2DEVICETYPEdiskMAXPIECESIZE=20M;ALLOCATECHANNELch1DEVICETYPEsbtMAXPIECESIZE=20M;
設(shè)置參數(shù)MAXPIECESIZE34設(shè)置參數(shù)FORMAT參數(shù)FORMAT用于設(shè)置備份文件的存儲目錄及存儲格式。設(shè)置方法如下:CONFIGURECHANNELDEVICETYPEdiskFORMAT='/u01/oracle/backup/%U'
設(shè)置參數(shù)MAXSETSIZE參數(shù)MAXSETSIZE用在BACKUP、CONFIGURE命令中設(shè)置備份片的大小。例如,設(shè)置使用BACKUP命令備份數(shù)據(jù)庫時,每個備份集大小不超過100MB。CONFIGURECHANNEL1DEVICETYPEsbt
MAXSETSIZE=100M;
設(shè)置參數(shù)RATE參數(shù)RATE用于設(shè)置通道的I/0限制。自動分配通道時,可以按下述方法設(shè)置:CONFIGURECHANNEL1DEVICETYPEsbtRATE=200K;
設(shè)置參數(shù)FORMAT35設(shè)置參數(shù)CONNECT參數(shù)CONNECT是設(shè)置數(shù)據(jù)庫實例的參數(shù)。RMAN允許同時連接到多個不同的數(shù)據(jù)庫實例上。例如,定義3個磁帶通道,分別連接到3個數(shù)據(jù)庫實例prodl、prod2、prod3上。其中,prodl、prod2、prod3是主機字符串。CONFIGURECHANNEL1DEVICETYPEsbtCONNECT='sys/manager@prod1';CONFIGURECHANNEL2DEVICETYPEsbtCONNECT='sys/manager@prod2';CONFIGURECHANNEL3DEVICETYPEsbtCONNECT='sys/manager@prod3';設(shè)置參數(shù)CONNECT3611.4基于RAMN的數(shù)據(jù)庫備份
11.4.1數(shù)據(jù)庫完全備份如果允許暫時關(guān)閉目標數(shù)據(jù)庫,那么可以在關(guān)閉狀態(tài)下對整個數(shù)據(jù)庫進行一致備份。但如果不允許關(guān)閉目標數(shù)據(jù)庫,那么只能在打開狀態(tài)下對整個數(shù)據(jù)庫進行不一致備份,此時數(shù)據(jù)庫應(yīng)該運行在歸檔模式下。下面是一個數(shù)據(jù)庫完全備份的實例:RMAN>run{
2>allocatechanneldev1typedisk;
3>backup
4>
full
5>
tagfull_db_backup
6>
format‘c:\oracle\db_t%t_s%s_p%p'
7>
(database);
8>releasechanneldev1;
9>}
通過下面的命令顯示恢復(fù)目錄中記載的備份集信息:RMAN>listbackupsetofdatabase;
11.4基于RAMN的數(shù)據(jù)庫備份3711.4.2表空間備份無論數(shù)據(jù)庫處于打開狀態(tài)還是不打開狀態(tài),你都可以在RMAN中對單獨的表空間進行備份。另外聯(lián)機備份表空間時,不需要在備份前執(zhí)行ALTERTABLESPACE…BEGINBACKUP命令將表空間設(shè)置為備份模式。下面是一個表空間備份的實例:
RMAN>run{
2>allocatechanneldev1typedisk;
3>backup
4>
tagtbs_users
5>
format‘c:\oracle\tbs_users_t%t_s%s’6>(tablespaceusers);
7>releasechanneldev1;
}
使用下列命令來顯示恢復(fù)目錄中該表的備份信息:
RMAN>listbackupsetoftablespaceusers;11.4.2表空間備份3811.4.3數(shù)據(jù)文件備份
在RMAN中利用BACKUPDATAFILE命令可以對單獨的數(shù)據(jù)文件進行備份,你可以利用數(shù)據(jù)文件的名稱或編號來指定要備份的數(shù)據(jù)文件。下面是一個單獨的數(shù)據(jù)文件備份的實例:
RMAN>run{
2>allocatechanneldev1typedisk;
3>backup
4>
format‘%d_%u’
5>
(datafile‘c:\oracle\dbs\sysbigdb.dbf’);
6>releasechanneldev1;
7>}使用下面的命令顯示恢復(fù)目錄中備份的數(shù)據(jù)文件:
RMAN>listbackupsetofdatafile1;
11.4.3數(shù)據(jù)文件備份39上面的例子是對數(shù)據(jù)文件進行備份,還可以使用COPY命令對數(shù)據(jù)文件進行拷貝,如下列命令:
RMAN>run{
2>allocatechanneldev1typedisk;
3>
copydatafile‘c:\oracle\dbs\temp.dbf’to‘c:\oracle\backups\temp.dbf’;4>releasechanneldev1;5>}使用下面的命令顯示恢復(fù)目錄中的文件拷貝:
RMAN>listcopyofdatafile‘c:\oracle\backups\temp.dbf’;拷貝數(shù)據(jù)文件和備份數(shù)據(jù)文件是不一樣的,數(shù)據(jù)文件拷貝是一個該文件的鏡像。文件的備份產(chǎn)生一個備份集。
上面的例子是對數(shù)據(jù)文件進行備份,還可以使用COPY命4011.4.4控制文件備份
無論數(shù)據(jù)庫處于打開狀態(tài)還是不打開狀態(tài),你都可以在RMAN中對當前的控制文件進行備份。在RMAN中對控制文件進行備份的方法很多。最簡單的就是利用CONFIGURE命令將CONTROLFILEAUTOBACKUP設(shè)置為ON,啟動RMAN的控制文件自動備份功能。下面是一個利用手工方式進行控制文件備份的實例:
RMAN>run{
2>allocatechanneldev1typedisk;
3>backup
4>
format‘cf_t%t_s%s_p%p’
5>
tagcf_monday_night
6>
(currentcontrolfile);
7>releasechanneldev1;
8>}11.4.4控制文件備份41
11.4.5歸檔日志文件備份
歸檔重做日志文件是成功進行介質(zhì)恢復(fù)的關(guān)鍵,因此你必須經(jīng)常對歸檔重做日志文件進行備份。在RMAN中備份歸檔重做日志文件用BACKUPARCHIVELOG命令。下面是一個歸檔日志文件備份的實例:RMAN>run{2>allocatechanneldev1typedisk;3>backup4>format‘d:\oracle\backup\log_%t_s%s_p%p’5>(archivelogall);6>releasechanneldev1;7>}
11.4.5歸檔日志文件備份42如果想備份序列號從60~70的歸檔日志,則可以使用以下腳本:RMAN>run{2)allocatechanneldevltypedisk;3>backup4>format‘d:\oracle\backup\log_t%t_s%s_p%p’5>(archivelogfromlogseq=60untillogseq=70threadl);6>releasechanneldevl;7>}
如果想備份序列號從60~70的歸檔日志,則可以使用以下腳本:43下面的腳本備份在24小時內(nèi)產(chǎn)生的歸檔日志,在備份完成后會自動刪除歸檔日志。如果備份失敗,歸檔日志不會被刪除。
RMAN>run{
2>allocatechanneldev1typedisk;
3>backup
4>
format‘c:\oracle/backups/log_t%t_s%s_p%p’
5>
(archivelogfromtime‘sysdate-1’alldeleteinput);
6>releasechanneldev1;
7>}使用下面的命令顯示恢復(fù)目錄中的歸檔日志:RMAN>listbackupsetofarchivelogall;
下面的腳本備份在24小時內(nèi)產(chǎn)生的歸檔日志,在備份完成后會4411.4.6備份聯(lián)機日志文件聯(lián)機日志不能用RMAN來備份,必須先將其歸檔。為了實現(xiàn)這點,必須在RMAN中執(zhí)行如下SQL語句:
RMAN>run{
2>allocatechanneldev1typedisk;
3>sql"altersystemarchivelogcurrent";
4>backup
5>
format‘c:\oracle/backups/log_t%t_s%s_p%p’
6>
(archivelogfromtime‘sysdate-1’alldeleteinput);
7>releasechanneldev1;
8>}11.4.6備份聯(lián)機日志文件4511.4.7RMAN的增量備份
在RMAN中還可以通過增量備份的方式對整個數(shù)據(jù)庫、單獨的表空間或單獨的數(shù)據(jù)文件進行備份。如果數(shù)據(jù)庫運行在不歸檔模式下,那么只能在數(shù)據(jù)庫干凈關(guān)閉的狀態(tài)下進行一致性的增量備份,而如果數(shù)據(jù)庫運行在歸檔模式下,那么既可以在數(shù)據(jù)庫關(guān)閉狀態(tài)下進行增量備份,也可以在數(shù)據(jù)庫打開狀態(tài)下進行增量備份。
數(shù)據(jù)庫一級增量、不積累備份run{a11ocatechanneldev1
typedisk;backupformat‘c:\oracle\backup\b_%u_%S_%p‘incrementallevel1(databaseincludecurrentcontrolfile);releasechanneldev1;
}
11.4.7RMAN的增量備份46數(shù)據(jù)庫積累備份
run{allocatechanneldeve1
typediskformat'E:\ORACLE\backup\b_%u_%s_%p‘;backupincrementallevel1cumulative(databaseincludecurrentcontro1file);backup(archivelogalldeleteinput);}
數(shù)據(jù)庫積累備份47表空間增量、不積累備份,含所有日志
run{allocatechanneldeve1
typediskformat'E:\ORACLE\backup\b_%u_%s_%p';backupincrementallevel2(tablespace'CFW_DAT','TEMP'includecurrentcontrolfile);backup(archivelogalldeleteinput);}表空間增量、不積累備份,含所有日志48數(shù)據(jù)文件增量備份,包含日志文件
run{allocatechanneldeve1
typediskformat'E:\ORACLE\backup\b_%u_%s_%p';backupincrementallevel2(datafile'D:\DATA\CFW_IDX2.ORA','E:\ORAClE\DATABASE\CFW_IDXl.ORA'includecurrentcontrolfile);backup(archivelogalldeleteinput);}注意:對日志文件不能進行增量備份。
數(shù)據(jù)文件增量備份,包含日志文件4911.5基于RMAN的數(shù)據(jù)庫恢復(fù)
使用RMAN備份的數(shù)據(jù)庫只能使用RMAN提供的恢復(fù)命令進行恢復(fù)。與用戶自定義方式類似,RMAN的數(shù)據(jù)庫恢復(fù)操作也分為兩個步驟:首先修復(fù)數(shù)據(jù)庫,然后再進行恢復(fù)操作。在RMAN中使用RESTORE命令進行數(shù)據(jù)庫修復(fù),RESTORE命令利用硬盤中的備份集或鏡像復(fù)制來修復(fù)數(shù)據(jù)文件、控制文件以及歸檔重做日志文件;使用RECOVER命令進行數(shù)據(jù)庫恢復(fù),RECOVER命令對修復(fù)后的數(shù)據(jù)文件應(yīng)用聯(lián)機或歸檔重做日志,從而將它們更新到當前時刻或指定時刻下的狀態(tài)。
11.5基于RMAN的數(shù)據(jù)庫恢復(fù)5011.5.1完全數(shù)據(jù)庫恢復(fù)如果數(shù)據(jù)庫所有的數(shù)據(jù)文件都被損壞,那么必須利用RMAN修復(fù)所有的數(shù)據(jù)文件,然后再對數(shù)據(jù)庫進行一次完全介質(zhì)恢復(fù)。要對數(shù)據(jù)庫進行完全恢復(fù),則目標數(shù)據(jù)庫必須運行在歸方式下。進行恢復(fù)之前,需要把數(shù)據(jù)庫設(shè)置為加載但不打開狀態(tài)。
RMAN>run{2>allocatechanneldeve13>typedisk;4>restoredatabase;5>recoverdatabase;6>}恢復(fù)完后用ALTERDATABASEOPEN語句來打開數(shù)據(jù)庫。
11.5.1完全數(shù)據(jù)庫恢復(fù)5111.5.2表空間恢復(fù)
在恢復(fù)表空間之前,先將要恢復(fù)的表空間離線,然后實施表空間恢復(fù),恢復(fù)之后再將表空間聯(lián)機。
RMAN>run{
2>allocatechanneldev1typedisk;
3>sql“altertablespaceusersofflineimmediate”;
4>restoretablespaceusers;
5>recovertablespaceusers;
6>sql“altertablespaceusersonline”;
7>releasechanneldev1;
8>}
注意:如果還原系統(tǒng)表空間文件,數(shù)據(jù)庫必須關(guān)閉,因為系統(tǒng)表空間不可以脫機。
11.5.2表空間恢復(fù)5211.5.3數(shù)據(jù)文件恢復(fù)數(shù)據(jù)文件的恢復(fù)與表空間的恢復(fù)比較類似,數(shù)據(jù)庫必須處于歸檔日志模式,而且數(shù)據(jù)庫必須打開。
RMAN>run{
2>allocatechanneldev1typedisk;
3>sql"altertablespaceusersofflineimmediate";
4>restoredatafile4;
5>recoverdatafile4;
6>sql"altertablespaceusersonline";
7>releasechanneldev1;
8>}
11.5.3數(shù)據(jù)文件恢復(fù)5311.5.4控制文件恢復(fù)
控制文件破壞時,數(shù)據(jù)庫只能啟動到NOMOUNT狀態(tài)下,即只啟動數(shù)據(jù)庫實例。在實例啟動后,將控制文件復(fù)制回相應(yīng)目錄,實施恢復(fù)即可。恢復(fù)控制文件的過程如下。RMAN>run{2>startupnomount;3>allocatechanneldeve14>typedisk;5>restorecontrolfile;6>alterdatabasemount;7>restoredatabase;8>recoverdatabase;9>alterdatabaseopenresetlogs;10>}
11.5.4控制文件恢復(fù)5411.5.5不完全介質(zhì)恢復(fù)
不完全數(shù)據(jù)庫恢復(fù)的結(jié)果使數(shù)據(jù)庫恢復(fù)到過去的某一個時間點。在實施不完全恢復(fù)時,可以使用參數(shù)SETUNTIL命令設(shè)置恢復(fù)終止標記,然后再分別使用RESTORE和RECOVER命令進行數(shù)據(jù)庫修復(fù)和恢復(fù)。其中,終止標記可以是時間,SCN或者是日志順序號。下面是使用不完全數(shù)據(jù)庫恢復(fù)方法,將數(shù)據(jù)庫恢復(fù)到2002年10月15日09:00:00的例子。恢復(fù)結(jié)束時,使用RESETLOGS打開數(shù)據(jù)庫,則日志全部清零。
11.5.5不完全介質(zhì)恢復(fù)55RMAN>run{2>setuntiltime'2002-10-1509:00:00';3>restoredatabase;4>recoverdatabase;5>alterdatabaseopenresetlogs;6>}RMAN>run{56若以SCN或日志順序號為恢復(fù)終止標記,則示例如下:
RMAN>run{2>setuntilscn1000;3>restoredatabase;4>recoverdatabase;5>alterdatabaseopenresetlogs;6>}
或
RMAN>run{2>setuntilsequence121;3>restoredatabase;4>recoverdatabase;5>alterdatabaseopenresetlogs;6>}若以SCN或日志順序號為恢復(fù)終止標記,則示例如下:57第十一章Oracle8.0RMAN11.1RMAN的基本概念
在Oracle8.0以后的數(shù)據(jù)庫版本中,增加了一個數(shù)據(jù)庫備份工具,叫RMAN。RMAN通過啟動操作系統(tǒng)進程將數(shù)據(jù)備份到磁盤或磁帶上.在操作系統(tǒng)符下輸入“rman”,則進入了RMAN中。例如:
C:\>rman
第十一章Oracle8.0RMAN11.1RMAN的58與常用的物理數(shù)據(jù)庫備份、邏輯數(shù)據(jù)庫備份不同,RMAN使用數(shù)據(jù)庫對數(shù)據(jù)庫進行備份的原理。在RMAN中,可以使用COPY命令將數(shù)據(jù)庫文件復(fù)制到磁盤或磁帶上,也可以使用BACKUP命令對于整個數(shù)據(jù)庫、一個指定的表空間、控制文件,或日志文件進行備份。BACKUP命令可以將數(shù)據(jù)庫備份成為多個數(shù)據(jù)包,每一個包稱為一個備份子集(BACKUPSET),一個備份集又可以分成多個數(shù)據(jù)片(BACKUPPIECE)。備份集是一個邏輯結(jié)構(gòu),包含一組的物理文件。這些物理文件就是對應(yīng)的備份片。注意:一個數(shù)據(jù)文件不能跨越一個備份集,但是能跨越備份片。數(shù)據(jù)文件,控制文件能保存在同樣的備份集上,但是不能與歸檔日志保存在同樣的備份集上。
RMAN可以在不同的操作系統(tǒng)上進行備份。例如,運行在WindowsNT上的RMAN,可以對遠程的UNIX服務(wù)器上的數(shù)據(jù)庫進行備份。
與常用的物理數(shù)據(jù)庫備份、邏輯數(shù)據(jù)庫備份不同,RMAN59最簡單的RMAN運行環(huán)境只包括兩個組件:RMAN命令執(zhí)行器與目標數(shù)據(jù)庫。在RMAN命令執(zhí)行器中執(zhí)行用于進行備份或恢復(fù)操作的RMAN命令,然后由RMAN命令執(zhí)行器對目標數(shù)據(jù)庫進行相應(yīng)的操作。但在比較復(fù)雜的RMAN環(huán)境中會涉及更多的組件,不僅包括RMAN命令執(zhí)行器與目標數(shù)據(jù)庫,還會包括RMAN恢復(fù)目錄、備用數(shù)據(jù)庫等組件。目標數(shù)據(jù)庫:利用RMAN進行備份與恢復(fù)操作的數(shù)據(jù)庫。RMAN將使用目標數(shù)據(jù)庫的控制文件來收集關(guān)于數(shù)據(jù)庫文件的相關(guān)信息,并且使用控制文件來存儲相關(guān)的RMAN操作信息。此外,實際的備份、修復(fù)以及恢復(fù)操作也是由目標數(shù)據(jù)庫中的服務(wù)進程來執(zhí)行的。
最簡單的RMAN運行環(huán)境只包括兩個組件:RMAN命令60RMAN命令執(zhí)行器:可以看做是目標數(shù)據(jù)庫的一個客戶端應(yīng)用程序。你在RMAN命令執(zhí)行器中執(zhí)行RMAN命令,RMAN命令執(zhí)行器對命令進行解釋,然后利用Oracle網(wǎng)絡(luò)服務(wù)來建立到目標數(shù)據(jù)庫的連接,并且調(diào)用服務(wù)進程來完成實際的備份與恢復(fù)操作。
RMAN資料檔案庫:RMAN在進行備份、恢復(fù)以及修復(fù)操作時需要使用到的管理信息和數(shù)據(jù)稱為RMAN的資料檔案庫。RMAN的資料檔案庫可以完全保存在目標數(shù)據(jù)庫的控制文件中,也可以保存在一個可選的恢復(fù)目錄數(shù)據(jù)庫中。
RMAN恢復(fù)目錄:如果使用一個獨立的數(shù)據(jù)庫來保存RMAN的資料檔案庫,那么RMAN的功能可以得到很大的擴展,這時稱RMAN資料檔案庫的擴展形式為RMAN恢復(fù)目錄。RMAN命令執(zhí)行器:可以看做是目標數(shù)據(jù)庫61不建議恢復(fù)目錄創(chuàng)建在目標數(shù)據(jù)庫上,利用恢復(fù)目錄可以同時管理多個目標數(shù)據(jù)庫,存儲更多的備份信息,可以存儲備份腳本。如果不采用恢復(fù)目錄,可以采用控制文件來代替恢復(fù)目錄,oracle9i因為控制文件自動備份的功能,利用控制文件很大程度上可以取代恢復(fù)目錄。
RMAN恢復(fù)目錄模式:在RMAN恢復(fù)目錄數(shù)據(jù)庫中擁有RMAN資料檔案庫的用戶模式。RMAN通過這個用戶模式來使用和維護它自己的恢復(fù)目錄。
RMAN恢復(fù)目錄數(shù)據(jù)庫:用來保存RMAN恢復(fù)目錄的數(shù)據(jù)庫。它是一個獨立于目標數(shù)據(jù)庫的Oracle數(shù)據(jù)庫。需要注意的是,在以上組件中,只有目標數(shù)據(jù)庫和RMAN命令執(zhí)行器是必需的,其他組件都是可選的。
不建議恢復(fù)目錄創(chuàng)建在目標數(shù)據(jù)庫上,利用恢復(fù)目錄可以同6211.2RMAN工具的使用
11.2.1創(chuàng)建恢復(fù)目錄
步驟1:創(chuàng)建恢復(fù)目錄數(shù)據(jù)庫。
在創(chuàng)建恢復(fù)目錄之前,必須先為RMAN創(chuàng)建一個數(shù)據(jù)庫。為了數(shù)據(jù)庫安全,最好將恢復(fù)目錄數(shù)據(jù)庫建在與目標數(shù)據(jù)庫獨立的兩個服務(wù)器上。假設(shè)數(shù)據(jù)庫創(chuàng)建如下:
系統(tǒng)表空間SYSTEM:90MB?;赝吮砜臻g:5MB。臨時表空間TEMP:5MB。日志文件設(shè)置:3個日志文件組,每組兩個日志成員,大小為1MB。RECOVERYCATALOG表空間:表空間名為CATTBS,大小為15MB。
11.2RMAN工具的使用63步驟2:創(chuàng)建RMAN用戶,并為用戶授權(quán)。這里假設(shè)用戶名為RMAN,密碼為RMAN。創(chuàng)建完用戶還必須把CONNECT、RESOURCE、RECOVERY_CATALOG_OWNER的權(quán)限授予該用戶,以便該用戶有恢復(fù)目錄管理的權(quán)限。SQL>createuserrmanidentifiedbyrmandefaulttablespacecattbs
temporarytablespacetemp;SQL>grantconnect,resourcetorman;SQL>grantrecovery_catalog_ownertorman;
步驟2:創(chuàng)建RMAN用戶,并為用戶授權(quán)。64步驟3:創(chuàng)建恢復(fù)目錄。創(chuàng)建恢復(fù)目錄時,需要先進入RMAN。
C:\>rman
進入RMAN后,以RMAN用戶登錄,創(chuàng)建恢復(fù)目錄,語法如下:
RMAN>connectcatalogrman/rman
RMAN>createcatalog;
上述命令使用RMAN用戶的默認表空間創(chuàng)建恢復(fù)目錄,如果不使用默認表空間創(chuàng)建恢復(fù)目錄,則可以輸入下列命令:RMAN>createcatalogtablespacecattbs;另外,如果恢復(fù)目錄與目標數(shù)據(jù)庫不在同一服務(wù)器上,則應(yīng)通過“@網(wǎng)絡(luò)連接串”來登錄,如:
RMAN>connectcatalogrman/rman@網(wǎng)絡(luò)連接串
RMAN>dropcatalog;//刪除恢復(fù)目錄
步驟3:創(chuàng)建恢復(fù)目錄。6511.2.2連接RMAN使用RMAN時,首先需要為它建立到目標數(shù)據(jù)庫的連接。RMAN可以在無恢復(fù)目錄及有恢復(fù)目錄兩種方式下連接到目標數(shù)據(jù)庫。
無恢復(fù)目錄
C:\>rmantarget/C:\>rmantarget/nocatalogC:\>rmantargetsys/change_on_installnocatalogC:\>rmannocatalog注意:如果目標數(shù)據(jù)庫與RMAN數(shù)據(jù)庫不在同一臺服務(wù)器上時,必須使用"@網(wǎng)絡(luò)連接串"的連接方法。
11.2.2連接RMAN662.有恢復(fù)目錄
步驟1:連接到目標數(shù)據(jù)庫,如:
C:\>rmantargetsys/change_on_installcatalogrman/rman
如果目標數(shù)據(jù)庫與RMAN數(shù)據(jù)庫不在同一臺服務(wù)器上時,必須使用網(wǎng)絡(luò)連接串進行連接。如:
C:\>rmantargetsys/change_on_installcatalogrman/rman@網(wǎng)絡(luò)連接串
步驟2:注冊數(shù)據(jù)庫
注冊數(shù)據(jù)庫是將目標數(shù)據(jù)庫控制文件轉(zhuǎn)到恢復(fù)目錄中。同一個恢復(fù)目錄中只能注冊一個目標數(shù)據(jù)庫。
RMAN>registerdatabase;
2.有恢復(fù)目錄67步驟3:將目標數(shù)據(jù)庫與恢復(fù)目錄進行同步化
為了維持恢復(fù)目錄與目標數(shù)據(jù)庫控制文件的同步化,在RMAN連接到目標數(shù)據(jù)庫之后,必須運行RESYNCCATALOG命令,目標數(shù)據(jù)庫的同步信息輸入到恢復(fù)目錄。
RMAN>resynccatalog;
如果目標數(shù)據(jù)庫中的表空間、數(shù)據(jù)文件發(fā)生改變,則必須進行一次同步化過程。除手工進行同步外,還可以在參數(shù)文件中增加參數(shù)CONTROL_FILE_RECORD_KEEP_TIME,設(shè)置同步時間,該參數(shù)默認值為7,即每7天系統(tǒng)自動同步一次。
步驟3:將目標數(shù)據(jù)庫與恢復(fù)目錄進行同步化6811.2.3RMAN命令簡介
RMAN命令可分為兩種類型:獨立命令和作業(yè)命令。
獨立命令是指只能直接在RMAN提示符下輸入并執(zhí)行的命令,獨立命令主要包括以下一些命令:
CHANGECONNECTCREATECATALOG與RESYNCCATALOGCREATESCRIPT、DELETESCRIPT與REPLACESCRIPT11.2.3RMAN命令簡介69作業(yè)命令是指以RUN命令開頭并包含在一對大括號中的一系列RMAN命令。這些命令將作為一個完整的命令塊一起執(zhí)行。如果作業(yè)命令中的任何一條命令執(zhí)行失敗,則整個作業(yè)命令停止執(zhí)行,即執(zhí)行失敗的命令之后的其他命令都不會再繼續(xù)執(zhí)行。下面是一個作業(yè)命令的示例。
RMAN>RUN{2>allocatechanneld1devicetypedisk;3>backup4>format='e:\oracle\backup\%u'5>database;}大部分的RMAN命令都是既可以在RUN命令塊中使用,也可以在RMAN提示符下直接使用。下面把RMAN的常用命令進行簡單的介紹。作業(yè)命令是指以RUN命令開頭并包含在一對大括號中的一701.啟動與關(guān)閉目標數(shù)據(jù)庫命令:
RMAN>shutdownimmediateRMAN>startupRMAN>startupforceRMAN>startupmountRMAN>alterdatabaseopen1.啟動與關(guān)閉目標數(shù)據(jù)庫命令:71除了在RMAN中可以執(zhí)行上述命令來啟動或關(guān)閉數(shù)據(jù)庫外,還可以在RMAN中執(zhí)行SQL語句或PL/SQL過程。在RMAN提示符后輸入SQL命令,然后在一對單引號(雙引號也可)中輸入需要執(zhí)行的SQL語句,即可在RMAN中執(zhí)行這條語句。RMAN>SQL‘ALTERSYSTEMARCHIVELOGALL’;
需要在RMAN中執(zhí)行PL/SQL過程,也可以使用類似的方法來實現(xiàn)。比如:RMAN>RUN2>{3>SQL‘BEGINscott.update_log;END;’;4>}注意:如果要在SQL語句或PL/SQL過程中包含單引號,必須在SQL語句或PL/SQL過程中的每個單引號前面再添加一個單引號;另外在RMAN中不能執(zhí)行SELECT語句。除了在RMAN中可以執(zhí)行上述命令來啟動或關(guān)閉數(shù)據(jù)庫外722.數(shù)據(jù)庫備份與恢復(fù)命令:
COPY命令:COPY命令是數(shù)據(jù)庫文件的復(fù)制,可以復(fù)制單個的數(shù)據(jù)文件、歸檔日志、控制文件等。其語法為:
RMAN>copy<Inputfile>to<Location><Option>
其中,<InputFile>是被備份的文件;<Location>是使用COPY命令復(fù)制文件的目的路徑及文件名;<Option>是可選項。使用COPY命令可以一次備份多個文件,備份多個文件時,用逗號隔開。COPY命令結(jié)束時,自動將所分配的通道釋放。
2.數(shù)據(jù)庫備份與恢復(fù)命令:73BACKUP命令:BACKUP命令語法為:RMAN>BACKUP<Level>(<BackupType><Option>)
其中,<Level>是備份增量級,可以取的值為Full或Incremental,F(xiàn)ull表示全備份,Incremental表示增量備份,共有4級增量(1、2、3、4);<BackupType>是備份對象;<Option>為可選項,主要參數(shù)如表所示:
BACKUP命令:74參數(shù)名含義說明Tag表示標記Format表示文件存儲格式IncludeCurrentControlfile表示備份控制文件Filesperset表示每個備份集所包含的文件Channel用于指定BACKUP命令所用的通道Delete[A11]Input表示備份結(jié)束時是否刪除歸檔日志Maxsetsize表示備份集的最大尺寸Skip[OFFLINE、READONLY、INACCESSIBLE]表示在備份集中排除某些數(shù)據(jù)文件或歸檔重做日志文件參數(shù)名75RESTORE命令
RESTORE命令將COPY及BACKUP命令備份的文件復(fù)制到目標數(shù)據(jù)庫。其語法為:
RMAN>RESTORE<Object><Option>
其中,<Object>是備份文件對象,可使用的對象及含義如表所示:備份文件對象
含義說明Datafile表示恢復(fù)數(shù)據(jù)文件Tablespace表示恢復(fù)一個表空間Database表示恢復(fù)整個數(shù)據(jù)庫Controlfile表示將控制文件的備份結(jié)果恢復(fù)到指定目錄ArchivelogAll表示將全部的歸檔日志復(fù)制到指定的目錄,用于后續(xù)的RECOVER命令對數(shù)據(jù)庫實施恢復(fù)。RESTORE命令76而<Option>是選項,其含義如表所示:
參數(shù)名含義說明CHANNEL表示恢復(fù)終止控制條件PARMS表示設(shè)置磁帶參數(shù),磁盤通道不使用此參數(shù)untilClause表示恢復(fù)終止條件VALIDATE表示是否對文件進行檢查CHECKLOGICAL表示是否對文件進行檢查CHECKREADONLY表示是否對文件進行檢查DEVICETYPE用于指定通道設(shè)備類型FROMTAG用于在備份時設(shè)置有標記的備份文件,可以使用此參數(shù)指出要恢復(fù)的文件的標記FROMBACKUPSET|DATAFILECOPY表示是從BACKUP的文件還是從COPY的文件中進行恢復(fù)而<Option>是選項,其含義如表所示:77RECOVER命令
RECOVER命令將RESTORE命令恢復(fù)到目標數(shù)據(jù)庫中的文件實施數(shù)據(jù)庫同步恢復(fù)。RECOVER命令的語法如下:RMAN>RECOVER<DEVICETYPE><Object><Option>
其中,<Object>是要恢復(fù)的對象類型,有數(shù)據(jù)文件、表空間,以及數(shù)據(jù)庫。其中,表空間只能在數(shù)據(jù)庫正常運行狀態(tài)下實施恢復(fù),如果數(shù)據(jù)庫因為某些原因?qū)е聼o法啟動,則只能恢復(fù)數(shù)據(jù)文件或數(shù)據(jù)庫。數(shù)據(jù)文件恢復(fù)后,該數(shù)據(jù)文件所對應(yīng)的表空間隨之恢復(fù)正常。而<Option>是選項,其含義如表所示:
RECOVER命令78參數(shù)名含義說明NOREDO用于非歸檔方式下的數(shù)據(jù)庫恢復(fù)FROMTAG備份文件的標記ARCHIVELOGTAG日志文件的標記DELETEARCHIVELOG表示數(shù)據(jù)庫恢復(fù)后是否要刪除歸檔日志CHECKREADONLY表示在數(shù)據(jù)庫恢復(fù)時是否對只讀表空間進行檢查參數(shù)名793.恢復(fù)目錄維護命令:
顯示完全備份時的數(shù)據(jù)庫結(jié)構(gòu)
RMAN>reportschema
顯示備份列表
RMAN>listbackup
如果要顯示某個表空間的備份情況:RMAN>listbackupoftablespaceusers
顯示預(yù)定義的默認配置參數(shù)RMAN>showall
修改默認的配置參數(shù)
RMAN>configure;如利用configurechannel來指定默認的自動分配通道配置:RMAN>configurechanneldevicetypediskformat'e:\oracle\backup\rman\%u'
3.恢復(fù)目錄維護命令:80最后需說明的是,在RMAN中還可以將命令作為腳本存儲起來,需要時在直接在RMAN中執(zhí)行,具體使用如下:RMAN>createscriptusr_bak{2>allocatechanneldefaultchanneltypedisk;3>backuptablespaceusers;4>}
創(chuàng)建完腳本后,直接在RMAN工具中輸入如下命令即可執(zhí)行該腳本:RMAN>run{2>executescriptusr_bak;3>}
最后需說明的是,在RMAN中還可以將命令作為腳本存儲8111.3RMAN的配置
11.3.1通道概述
通道是RMAN中最基本的概念,一個RMAN通道表示了一個到存儲設(shè)備的數(shù)據(jù)流,它對應(yīng)于目標數(shù)據(jù)庫中的一個服務(wù)進程。凡是在執(zhí)行需要與目標數(shù)據(jù)庫或操作系統(tǒng)進行交互操作的命令之前,都必須首先為這個命令分配一個通道。在Oracle9i中,通道包括自動通道分配(AutomaticChannelAllocation)與RUN命令手動通道分配。
11.3RMAN的配置8211.3.2自動分配通道
在RMAN中,在RUN外部使用BACKUP、RESTORE、DELETE命令,或在RUN中使用這些命令時,如果沒有用手
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級口算題集100道20以內(nèi)
- 2025陜西省建筑安全員《C證》考試題庫及答案
- 2025年山東省建筑安全員-A證考試題庫附答案
- 勞動合同外加培養(yǎng)合同范本
- 廠區(qū)物業(yè)托管合同范本
- 個人之間聘用合同范本
- 別墅小院托管合同范本
- 2025年貴州省安全員-A證考試題庫及答案
- 公司租用場地合同范本
- 修訂合同范本必要性
- PySide學(xué)習教程
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter1 Introduction
- 人教三年級數(shù)學(xué)下冊表格式全冊
- 事業(yè)單位綜合基礎(chǔ)知識考試題庫 綜合基礎(chǔ)知識考試題庫.doc
- 優(yōu)秀教研組評比制度及實施細則
- 譯林初中英語教材目錄
- 物業(yè)交付后工程維修工作機制
- 農(nóng)作物病蟲害專業(yè)化統(tǒng)防統(tǒng)治管理辦法
- JJF 1752-2019全自動封閉型發(fā)光免疫分析儀校準規(guī)范(高清版)
- GB 1886.300-2018 食品安全國家標準 食品添加劑 離子交換樹脂(高清版)
- 食品經(jīng)營單位經(jīng)營場所和設(shè)備布局、操作流程示意圖模板
評論
0/150
提交評論