Oracle Secure Backup管理員指南 第4章 結(jié)合使用RMAN與Oracle安全備份

作者: 不剪發(fā)的Tony老師
畢業(yè)于北京航空航天大學(xué),十多年數(shù)據(jù)庫(kù)管理與開(kāi)發(fā)經(jīng)驗(yàn),目前在一家全球性的金融公司從事數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)。CSDN學(xué)院簽約講師以及GitChat專欄作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net

本章介紹如何結(jié)合使用恢復(fù)管理器(RMAN)與Oracle安全備份。文章假設(shè)用戶已經(jīng)熟悉了RMAN概念與操作。
4.1、關(guān)于RMAN與Oracle安全備份

Oracle安全備份相當(dāng)于RMAN通過(guò)SBT接口進(jìn)行備份時(shí)的一個(gè)介質(zhì)管理層。Oracle安全備份和第三方備份工具可以與RMAN的SBT接口API結(jié)合使用。

雖然Oracle安全備份支持早期的數(shù)據(jù)庫(kù)版本,主要功能從Oracle Database 10G R2開(kāi)始支持。以下的集成增強(qiáng)為Oracle安全備份專有,對(duì)于其他介質(zhì)管理產(chǎn)品不可用:

    Oracle Database 10G R2 -- Oracle EM為RMAN和Oracle安全備份提供統(tǒng)一接口。另外,使用Oracle EM管理磁帶、介質(zhì)服務(wù)器以及磁帶設(shè)備為Oracle安全備份專有;Oracle安全備份SBT庫(kù)是唯一支持RMAN直接加密備份到磁帶的接口。如果嘗試使用其他SBT庫(kù)執(zhí)行加密RMAN備份,將會(huì)提示以下錯(cuò)誤信息:ORA-19916: encrypted backups to tertiary storage require Oracle Secure Backup;直接備份到磁帶時(shí)的未使用塊壓縮為Oracle安全備份專有。如果使用Oracle安全備份執(zhí)行磁盤備份或者直接到磁帶的備份,可以使用未使用塊優(yōu)化。如果使用第三方介質(zhì)管理產(chǎn)品直接備份到磁帶,不能使用該功能。
    Oracle Database 11G -- SBT和磁帶使用一個(gè)共享的緩沖區(qū)以優(yōu)化SBT緩沖區(qū)分配。這樣減少了從SBT緩沖區(qū)到磁帶緩沖區(qū)的復(fù)制過(guò)程,可以減少CPU負(fù)載;增強(qiáng)了回滾表空間的備份,排除了已提交的回滾信息,減少了磁帶消耗并提高了性能。

4.1.1、RMAN環(huán)境

RMAN是一個(gè)用于備份Oracle數(shù)據(jù)庫(kù)文件的工具。RMAN環(huán)境包含以下基本組件:

    RMAN客戶端。RMAN客戶端隨Oracle數(shù)據(jù)庫(kù)軟件自動(dòng)安裝,可以啟動(dòng)數(shù)據(jù)庫(kù)備份和恢復(fù)。RMAN客戶端可以備份和恢復(fù)任何本地訪問(wèn)的數(shù)據(jù)庫(kù)文件,或者滿足兼容性需求的Oracle Net訪問(wèn)的數(shù)據(jù)庫(kù)文件。
    RMAN目標(biāo)數(shù)據(jù)庫(kù)。RMAN目標(biāo)數(shù)據(jù)庫(kù)是RMAN備份或者還原操作的數(shù)據(jù)庫(kù)。RMAN用于管理備份和恢復(fù)的元數(shù)據(jù)存儲(chǔ)在目標(biāo)數(shù)據(jù)庫(kù)的控制文件中,或者存儲(chǔ)在RMAN恢復(fù)目錄中。
    RMAN恢復(fù)目錄。RMAN恢復(fù)目錄是一個(gè)可選的數(shù)據(jù)庫(kù)模式,用作RMAN元數(shù)據(jù)的二級(jí)存儲(chǔ)庫(kù)??梢栽谝粋€(gè)數(shù)據(jù)庫(kù)中為多個(gè)目標(biāo)數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)集中的恢復(fù)目錄。

4.1.2、數(shù)據(jù)庫(kù)備份

Oracle安全備份為RMAN提供了一個(gè)數(shù)據(jù)庫(kù)文件磁帶備份的SBT接口。在Oracle安全備份管理域中,SBT備份通過(guò)RMAN命令行或者Oracle EM啟動(dòng),而文件系統(tǒng)備份通過(guò)Oracle安全備份Web工具或者obtool命令行提交。
4.1.2.1、RMAN備份集與Oracle安全備份映像

RMAN數(shù)據(jù)庫(kù)文件備份的結(jié)果是一個(gè)備份集。備份集是物理文件的組合,每個(gè)物理文件被稱為一個(gè)備份片。

使用Oracle安全備份將數(shù)據(jù)庫(kù)備份到磁帶時(shí),每個(gè)備份片被看作一個(gè)Oracle安全備份映像。圖4-1說(shuō)明了備份片與備份映像之間的關(guān)系。單個(gè)備份映像可以跨越多盒磁帶。Oracle安全備份可以在同一盒磁帶中寫(xiě)入數(shù)據(jù)庫(kù)備份映像(RMAN備份片)和文件系統(tǒng)備份映像。

圖4-1 備份集與備份映像

4.1.2.2、數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器

定義Oracle安全備份中的RMAN備份存儲(chǔ)參數(shù)可以通過(guò)以下操作之一完成:

    在一個(gè)用于Oracle安全備份的RMAN腳本中定義參數(shù)
    定義Oracle安全備份數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器

 

Oracle推薦定義一個(gè)或者多個(gè)數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器,以自動(dòng)選擇磁帶存儲(chǔ)。在需要不同的存儲(chǔ)介質(zhì),而不是使用存儲(chǔ)選擇器的非重復(fù)執(zhí)行的備份中,可以使用RMAN存儲(chǔ)參數(shù)覆蓋數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器中的設(shè)置。
Oracle安全備份使用數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器中封裝的信息與RMAN進(jìn)行交互。Oracle安全備份使用存儲(chǔ)選擇器代表標(biāo)識(shí)數(shù)據(jù)庫(kù)文件的備份屬性。
數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器必須指定以下信息:

 

    唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)名稱或者DBID
    數(shù)據(jù)庫(kù)主機(jī)名稱
    用于RMAN備份的介質(zhì)簇名稱

 

數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器還可以指定以下信息:

 

    備份的內(nèi)容或者類型,例如,是否是完全備份或者增量備份
    雙工備份的拷貝數(shù)量
    備份能夠使用的磁帶設(shè)備限制

備份Oracle數(shù)據(jù)庫(kù)文件時(shí),RMAN將數(shù)據(jù)庫(kù)名稱、內(nèi)容類型以及拷貝數(shù)傳遞給Oracle安全備份。Oracle安全備份使用這些信息決定相應(yīng)的數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器。存儲(chǔ)選擇器指定了該備份使用的磁帶設(shè)備以及介質(zhì)簇(如果指定了的話)。

可以創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器。例如,可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)選擇器用于管理域中的所有數(shù)據(jù)庫(kù)的數(shù)據(jù)文件備份,創(chuàng)建另一個(gè)選擇器用于管理域中的所有數(shù)據(jù)庫(kù)的歸檔日志備份??梢詾閿?shù)據(jù)文件備份指定一個(gè)磁帶庫(kù),為歸檔日志備份指定另一個(gè)磁帶庫(kù)。

數(shù)據(jù)庫(kù)存儲(chǔ)選擇器必須唯一。除了通配符(*)之外,更通用的設(shè)置可以匹配具體的設(shè)置。例如,假設(shè)創(chuàng)建了一個(gè)--dbname為db_1和db_2的存儲(chǔ)選擇器,就不能再創(chuàng)建一個(gè)--dbname為db_1,并且其他所有屬性與前一個(gè)選擇器相同的存儲(chǔ)選擇器。但是,如果創(chuàng)建了一個(gè)--dbname為全部(*)的存儲(chǔ)選擇器,可以再創(chuàng)建一個(gè)--dbname為db_1,并且其他所有屬性與前一個(gè)選擇器相同的存儲(chǔ)選擇器。

當(dāng)使用SBT接口執(zhí)行RMAN備份時(shí),Oracle安全備份檢查數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器以決定它是否匹配備份作業(yè)的屬性。當(dāng)備份存儲(chǔ)選擇器的每個(gè)屬性都匹配備份作業(yè)相應(yīng)的屬性時(shí),被認(rèn)為匹配。如果多個(gè)存儲(chǔ)選擇器匹配該作業(yè),Oracle安全備份選擇屬性更加具體的選擇器。例如,數(shù)據(jù)庫(kù)名設(shè)置為db_1的備份存儲(chǔ)選擇器在數(shù)據(jù)庫(kù)名設(shè)置為全部(*)的備份存儲(chǔ)選擇器之前匹配。

Oracle安全備份在管理服務(wù)器的Oracle安全備份主目錄下的admin/ssel子目錄中維護(hù)存儲(chǔ)選擇器信息。
4.1.3、數(shù)據(jù)庫(kù)還原與恢復(fù)

通過(guò)RMAN執(zhí)行的還原操作被稱為Oracle數(shù)據(jù)庫(kù)還原操作。
4.1.4、管理數(shù)據(jù)庫(kù)備份與恢復(fù)的接口
4.1.4.1、RMAN命令行客戶端

rman可執(zhí)行文件位于ORACLE_HOME/bin目錄中。RMAN客戶端可以從任何Oracle主目錄中運(yùn)行,不論該計(jì)算機(jī)是否是Oracle安全備份管理域中的成員。目標(biāo)數(shù)據(jù)庫(kù)主機(jī)必須是管理域中的成員。目標(biāo)數(shù)據(jù)庫(kù)使用目標(biāo)主機(jī)上的Oracle安全備份SBT與管理域進(jìn)行交互。
4.1.4.2、Oracle EM DC 10g與11g

可以通過(guò)Oracle Enterprise Manager Database Control管理單實(shí)例數(shù)據(jù)庫(kù)操作,包括備份與恢復(fù)。Database Control控制臺(tái)、目標(biāo)數(shù)據(jù)庫(kù)以及Oracle安全備份管理服務(wù)器必須位于同一主機(jī)中。
4.1.4.3、Oracle EM GC 10g

可以使用Oracle Enterprise Manager Grid Control管理多個(gè)數(shù)據(jù)庫(kù)。Grid Control控制臺(tái)可以運(yùn)行在管理域中的任何數(shù)據(jù)庫(kù)主機(jī)中。與Oracle Enterprise Manager Database Control不同,Grid Control不需要運(yùn)行在管理服務(wù)器中。

可以通過(guò)Grid Control管理Oracle安全備份管理域中所有數(shù)據(jù)庫(kù)的SBT備份??梢栽诎珿rid Control資料庫(kù)的數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)集中的RMAN恢復(fù)目錄。

使用Grid Control 10.2.0.2版時(shí),如果Enterprise Manager資料庫(kù)位于一個(gè)Oracle 10.2版數(shù)據(jù)庫(kù)中,可以使用運(yùn)行Oracle 10.1或者更早版本的主機(jī)上的Oracle安全備份軟件。
4.1.5、RMAN與Oracle安全備份管理域

單主機(jī)管理域

在單主機(jī)管理域中,一個(gè)主機(jī)同時(shí)擔(dān)任管理服務(wù)器、介質(zhì)服務(wù)器以及客戶端的角色。Oracle數(shù)據(jù)庫(kù)位于該主機(jī)中。圖4-2演示了典型的單主機(jī)場(chǎng)景。

圖4-2 單主機(jī)管理域數(shù)據(jù)庫(kù)備份

由于數(shù)據(jù)庫(kù)安裝在管理服務(wù)器中,可以使用Enterprise Manager Database Control控制臺(tái)執(zhí)行Oracle安全備份數(shù)據(jù)庫(kù)備份與還原操作。

多主機(jī)管理域

在多主機(jī)管理域中,管理服務(wù)器、介質(zhì)服務(wù)器以及客戶端主機(jī)可能相互獨(dú)立,或者每個(gè)數(shù)據(jù)庫(kù)服務(wù)器還同時(shí)作為一個(gè)介質(zhì)服務(wù)器。后一個(gè)配置可以最小化基于網(wǎng)絡(luò)的備份操作。一個(gè)管理域只能包含一個(gè)管理服務(wù)器,但是能夠包含多個(gè)介質(zhì)服務(wù)器和客戶端。

圖4-3演示了一個(gè)典型的多主機(jī)管理域,每個(gè)客戶端主機(jī)運(yùn)行一個(gè)Oracle數(shù)據(jù)庫(kù)。在這個(gè)例子中,管理服務(wù)器和介質(zhì)服務(wù)器不運(yùn)行數(shù)據(jù)庫(kù)。Windows上的數(shù)據(jù)庫(kù)包含一個(gè)存儲(chǔ)管理域所有數(shù)據(jù)庫(kù)備份元數(shù)據(jù)的集中恢復(fù)目錄。

圖4-3 多主機(jī)管理域數(shù)據(jù)庫(kù)備份

由于目標(biāo)數(shù)據(jù)庫(kù)不位于管理服務(wù)器中,不能使用Oracle Enterprise Manager Database Control執(zhí)行Oracle安全備份SBT備份。但是,可以使用客戶端上的Grid Control執(zhí)行SBT備份操作。
4.1.6、RMAN如何訪問(wèn)Oracle安全備份

無(wú)論管理域配置和管理備份與恢復(fù)的前端接口如何,RMAN與Oracle安全備份SBT庫(kù)的交互過(guò)程是相同的。圖4-4顯示了使用Oracle安全備份SBT的RMAN備份會(huì)還原操作的基本組成。

圖4-4 RMAN與Oracle安全備份SBT接口

使用Oracle安全備份的RMAN備份與還原操作基本過(guò)程如下:

    Oracle安全備份用戶通過(guò)命令行或者Oracle EM控制臺(tái)啟動(dòng)RMAN客戶端。
    該Oracle安全備份用戶分配一個(gè)SBT通道并運(yùn)行RMAN的BACKUP或者RESTORE命令。分配通道時(shí),在Oracle數(shù)據(jù)庫(kù)中打開(kāi)一個(gè)服務(wù)器會(huì)話。
    數(shù)據(jù)庫(kù)主機(jī)中的服務(wù)器會(huì)話通過(guò)Oracle安全備份SBT庫(kù)提交備份或者還原作業(yè)請(qǐng)求。
    Oracle安全備份創(chuàng)建備份或者還原作業(yè),并為它指定一個(gè)唯一的標(biāo)識(shí)符,例如sbt/15。
    對(duì)于RMAN備份操作,Oracle安全備份立即嘗試預(yù)訂并啟動(dòng)適當(dāng)?shù)馁Y源。如果資源不可用,Oracle安全備份將作業(yè)放入隊(duì)列,等待資源可用??梢酝ㄟ^(guò)以下設(shè)置控制作業(yè)等待的時(shí)間:操作策略rmanresourcewaittime,該策略默認(rèn)為forever。備份存儲(chǔ)選擇器或者RMAN參數(shù)設(shè)置可以覆蓋該策略;在obtool的mkssel或者chssel命令中指定--waittime選項(xiàng);RMAN參數(shù)OB_RESOURCE_WAIT_TIME。
    對(duì)于RMAN還原操作,起始時(shí)間取決于操作策略類中的rmanrestorestartdelay策略的設(shè)置。
    RMAN創(chuàng)建或者還原備份片。
    對(duì)于備份,Oracle安全備份在Oracle安全備份目錄中存儲(chǔ)關(guān)于RMAN備份片的元數(shù)據(jù)。Oracle安全備份目錄的存儲(chǔ)與管理完全同RMAN恢復(fù)目錄獨(dú)立。Oracle安全備份存儲(chǔ)每個(gè)備份片和相應(yīng)的元數(shù)據(jù)。

4.1.7、非統(tǒng)一訪問(wèn)內(nèi)存(NUMA)支持

從Oracle安全備份10.4.0.1開(kāi)始,支持NUMA架構(gòu)。在NUMA系統(tǒng)中,處理器被分組到成為節(jié)點(diǎn)或者區(qū)域的更小的系統(tǒng)中。每個(gè)節(jié)點(diǎn)擁有自己的處理器和共用內(nèi)存。節(jié)點(diǎn)中的所有處理器共享共用內(nèi)存。訪問(wèn)這些本地內(nèi)存區(qū)域更快,因此提高了可用性和性能。

在數(shù)據(jù)庫(kù)備份或者還原操作中,Oracle影子進(jìn)程管理Oracle安全備份與Oracle數(shù)據(jù)庫(kù)之間的交互。影子進(jìn)程裝載SBT庫(kù)并啟動(dòng)客戶端的Oracle安全備份數(shù)據(jù)服務(wù)(obndmpd),執(zhí)行網(wǎng)絡(luò)I/O。Oracle影子進(jìn)程和Oracle安全備份數(shù)據(jù)服務(wù)使用共用的內(nèi)存區(qū)域交換數(shù)據(jù)。

在NUMA機(jī)器中,Oracle安全備份確保Oracle影子進(jìn)程和Oracle安全備份數(shù)據(jù)服務(wù)運(yùn)行在同一個(gè)節(jié)點(diǎn)上,訪問(wèn)相同的共用內(nèi)存。
4.2、配置Oracle安全備份以使用RMAN

在Oracle安全備份中執(zhí)行以下配置步驟,以結(jié)合使用RMAN:

    配置RMAN訪問(wèn)Oracle安全備份SBT。如果使用Enterprise Manager Database Control,該步驟包括在EM中注冊(cè)管理服務(wù)器。
    創(chuàng)建一個(gè)用于RMAN操作的預(yù)授權(quán)的Oracle安全備份用戶。這是一個(gè)必須執(zhí)行的步驟。
    Oracle建議創(chuàng)建用于數(shù)據(jù)文件和歸檔重做日志的介質(zhì)簇。如果沒(méi)有創(chuàng)建介質(zhì)簇,RMAN默認(rèn)使用RMAN-DEFAULT介質(zhì)簇。
    可以選擇性地配置數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器或者RMAN介質(zhì)管理參數(shù)。這些設(shè)置可以更細(xì)粒度地控制備份存儲(chǔ)選擇。
    可選擇性地將OB_IGNORE_NUMA設(shè)置為0,以禁用NUMA識(shí)別。該參數(shù)默認(rèn)為1,使得Oracle安全備份能夠識(shí)別NUMA。

可以通過(guò)任何Oracle安全備份接口執(zhí)行以上配置任務(wù)。如果可能,本節(jié)將解釋如何通過(guò)Enterprise Manager Database Control控制臺(tái)執(zhí)行這些配置。
4.2.1、配置RMAN訪問(wèn)Oracle安全備份SBT庫(kù)

可以使用Enterprise Manager Database Control配置RMAN訪問(wèn)Oracle安全備份。只需要指定Oracle安全備份主目錄,RMAN自動(dòng)查找SBT庫(kù)。

默認(rèn)情況下,RMAN在一個(gè)與平臺(tái)相關(guān)的默認(rèn)位置查找SBT庫(kù)。在Linux和UNIX中,默認(rèn)庫(kù)文件名為/lib/libobk.so,擴(kuò)展名隨著平臺(tái)變化:.so,.sl,.a等等。在Windows中,默認(rèn)庫(kù)文件名為%WINDIR%\System32\orasbt.dll。

在Linux和UNIX上安裝Oracle安全備份是,安裝程序自動(dòng)將SBT庫(kù)復(fù)制到Oracle安全備份主目錄的lib子目錄中,并在/lib或者/usr/lib目錄中創(chuàng)建一個(gè)到SBT庫(kù)的符號(hào)鏈接。

默認(rèn)情況下,RMAN在分配SBT通道時(shí)搜索標(biāo)準(zhǔn)路徑并裝載SBT庫(kù)??梢栽诜峙渫ǖ阑蛘吲渲猛ǖ罆r(shí),通過(guò)SBT_LIBRARY介質(zhì)管理參數(shù)覆蓋SBT庫(kù)位置。
4.2.2、創(chuàng)建預(yù)授權(quán)的Oracle安全備份用戶

Oracle安全備份只信任預(yù)授權(quán)用戶提交的SBT請(qǐng)求。該預(yù)授權(quán)的Oracle安全備份用戶必須滿足兩種需求。首先,用戶必須映射到能夠訪問(wèn)被備份或者還原的文件的系統(tǒng)權(quán)限。該用戶只能從可以訪問(wèn)這些文件的主機(jī)上執(zhí)行RMAN操作。其次,該用戶必須被賦予一個(gè)擁有以下權(quán)限的Oracle安全備份用戶類:access Oracle backups(設(shè)置為owner、class或者all);perform. Oracle backups and restores。

在一個(gè)主機(jī)上,只能有一個(gè)Oracle安全備份用戶被預(yù)授予RMAN備份與還原操作權(quán)限。數(shù)據(jù)庫(kù)可以擁有多個(gè)執(zhí)行備份或者還原操作的RMAN用戶,但是Oracle安全備份只能擁有一個(gè)預(yù)授權(quán)的用戶用于該服務(wù)器。

也可以預(yù)授權(quán)一個(gè)Oracle安全備份用戶用于命令行(obtool)操作。這在使用備份和還原腳本時(shí)非常有用。
4.2.2.1、Oracle安全備份如何預(yù)授權(quán)SBT備份

圖4-5演示了一個(gè)預(yù)授權(quán)在特定主機(jī)上執(zhí)行RMAN操作的Oracle安全備份用戶提交備份或者還原操作到Oracle安全備份的基本過(guò)程。

圖4-5 預(yù)授權(quán)的數(shù)據(jù)庫(kù)備份與還原操作

執(zhí)行過(guò)程如下:

    啟動(dòng)RMAN并分配一個(gè)SBT通道,Oracle數(shù)據(jù)庫(kù)啟動(dòng)一個(gè)服務(wù)器會(huì)話。
    服務(wù)器會(huì)話使用SBT庫(kù)與本機(jī)上的obproxyd后臺(tái)進(jìn)程進(jìn)行交互。
    本地obproxyd后臺(tái)進(jìn)程確定運(yùn)行服務(wù)器會(huì)話的操作系統(tǒng)用戶。假設(shè)本例中操作系統(tǒng)用戶為oracle,運(yùn)行在Linux主機(jī)brhost2中。
    本地obproxyd后臺(tái)進(jìn)程同管理服務(wù)器的observiced后臺(tái)進(jìn)程檢查該操作系統(tǒng)用戶信息。如果此主機(jī)和操作系統(tǒng)的該用戶被預(yù)授予一個(gè)Oracle安全備份用戶,成功登錄Oracle安全備份。例如,假設(shè)主機(jī)brhost2上的oracle操作系統(tǒng)用戶被預(yù)授予Oracle安全備份用戶obuser。同時(shí)假設(shè)obuser是oracle用戶類(默認(rèn)賦予了perform. Oracle backups and restores權(quán)限)的成員。
    服務(wù)器會(huì)話使用Oracle安全備份用戶備份或者還原文件。通過(guò)SBT提交的Oracle安全備份操作使用定義的操作系統(tǒng)用戶訪問(wèn)主機(jī)文件。在圖4-5示例中,備份與還原操作以主機(jī)brhost2的oracle操作系統(tǒng)賬戶運(yùn)行。

4.2.2.2、配置RMAN預(yù)授權(quán)

可以在安裝Oracle安全備份軟件的過(guò)程中,或者在安裝之后使用Oracle安全備份Web工具或obtool的mkuser命令,配置一個(gè)擁有執(zhí)行Oracle數(shù)據(jù)庫(kù)文件磁帶備份的預(yù)授權(quán)的Oracle安全備份用戶。

在Linux或者UNIX中,要在安裝過(guò)程中創(chuàng)建一個(gè)預(yù)授權(quán)的Oracle安全備份用戶,必須設(shè)置一個(gè)obparameters參數(shù)為create preauthorized oracle user。

在Windows中,要在安裝過(guò)程中創(chuàng)建一個(gè)預(yù)授權(quán)的Oracle安全備份用戶,必須在選擇管理服務(wù)器特性時(shí)啟用Create “oracle” user功能。

要在安裝之后配置一個(gè)預(yù)授權(quán)的Oracle安全備份用戶,使用Web工具或者obtool的mkuser命令。示例4-1使用mkuser創(chuàng)建一個(gè)名為preauth_user的用戶,并指定了oracle用戶類。示例使用--preauth將preauth_user映射到主機(jī)brhost2上的Linux或者UNIX用戶oracle。

示例4-1 預(yù)授權(quán)操作系統(tǒng)用戶以執(zhí)行RMAN備份

mkuser preauth_user --class oracle --preauth brhost2:oracle+rman
4.2.3、創(chuàng)建RMAN備份的介質(zhì)簇

Oracle建議為RMAN操作創(chuàng)建專用的介質(zhì)簇,否則,Oracle安全備份將會(huì)使用默認(rèn)的介質(zhì)簇。

RMAN使用的默認(rèn)介質(zhì)簇為RMAN-DEFAULT。不能刪除或者重命名RMAN-DEFAULT介質(zhì)簇,但是能夠通過(guò)Web工具或者obtool修改它的某些屬性。

為歸檔日志和數(shù)據(jù)文件備份集創(chuàng)建不同的介質(zhì)簇是有益處的??梢允褂肊M、Oracle安全備份Web工具或者obtool的mkmf命令創(chuàng)建介質(zhì)簇。

創(chuàng)建介質(zhì)簇時(shí),指定一個(gè)帶卷過(guò)期策略,它決定了該介質(zhì)簇中的帶卷何時(shí)能夠被復(fù)寫(xiě)和重用。一個(gè)介質(zhì)簇中帶卷可以使用內(nèi)容管理的過(guò)期策略或者時(shí)間管理的過(guò)期策略。

內(nèi)容管理的帶卷只能用于RMAN操作。時(shí)間管理的帶卷可以同時(shí)用于RMAN和文件系統(tǒng)備份與還原操作。因此,時(shí)間管理的帶卷可能包含文件系統(tǒng)備份和RMAN備份片的混合。

注意:如果將RMAN備份存儲(chǔ)到時(shí)間管理的帶卷中,有可能帶卷過(guò)期并重用,而RMAN資料庫(kù)報(bào)告該帶卷上的備份片仍然可用。此時(shí),必須使用RMAN的CROSSCHECK命令解決這種差異問(wèn)題。
4.2.4、在EM中創(chuàng)建數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器

可以使用Oracle Enterprise Manager Database Control創(chuàng)建數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器。Database Control賦予選擇器一個(gè)系統(tǒng)定義的名稱。要為存儲(chǔ)器指定自定義的名稱,使用obtool的mkssel命令。
4.2.5、設(shè)置RMAN中的介質(zhì)管理參數(shù)

如果使用了Oracle安全備份數(shù)據(jù)庫(kù)存儲(chǔ)選擇器,不需要在RMAN中設(shè)置介質(zhì)管理參數(shù)。但是,在某些情況下,可能想要通過(guò)RMAN參數(shù)覆蓋數(shù)據(jù)庫(kù)存儲(chǔ)選擇器的設(shè)置。

可以通過(guò)以下方式設(shè)置RMAN介質(zhì)管理參數(shù):

    環(huán)境變量,通過(guò)CONFIGURE或者ALLOCATE CHANNEL命令的PARMS選項(xiàng)的ENV參數(shù)指定
    RMAN的SEND命令

可以在RMAN備份和還原作業(yè)中使用以下Oracle安全備份參數(shù):

    OB_MEDIA_FAMILY[ _n ],定義備份作業(yè)能夠使用的介質(zhì)簇。
    OB_DEVICE[ _n ],定義備份能夠使用的磁帶驅(qū)動(dòng)器。
    OB_RESOURCE_WAIT_TIME,指定備份或者還原作業(yè)等待資源可用的時(shí)間長(zhǎng)度。
    OB_ENCRYPTION,控制Oracle安全備份加密。
    OB_RESTORE_DEVICE,指定還原操作使用的磁帶設(shè)備。如果指定設(shè)備沒(méi)有定義,Oracle安全備份將會(huì)使用任何可用的設(shè)備。
    OB_IGNORE_NUMA,控制NUMA識(shí)別。默認(rèn)值為1,即允許NUMA。參見(jiàn)4.1.7。

一般來(lái)說(shuō),介質(zhì)管理參數(shù)會(huì)覆蓋數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器中相應(yīng)的設(shè)置。

執(zhí)行以下操作設(shè)置RMAN數(shù)據(jù)庫(kù)備份的介質(zhì)管理參數(shù):

    完成“4.4 結(jié)合RMAN與Oracle安全備份執(zhí)行備份”中的步驟1至步驟9。
    點(diǎn)擊Edit RMAN Script。出現(xiàn)Schedule Customized Backup:Review:Edit RMAN Script頁(yè)面。
    在主窗口中,修改腳本以使用介質(zhì)管理參數(shù)。例如,假設(shè)備份腳本如下:
    backup device type sbt database include current controlfile;
    backup device type sbt archivelog all not backed up;
    要配置備份使用my_mf介質(zhì)簇,可以修改腳本如下:
    run
    {
      allocate channel c1 device type sbt
        parms 'ENV=(OB_MEDIA_FAMILY=my_mf)';
      backup database include current controlfile;
      backup archivelog all not backed up;
    }
    點(diǎn)擊Submit Job。出現(xiàn)Status頁(yè)面。

4.3、RMAN備份主作業(yè)與從屬作業(yè)

當(dāng)開(kāi)始數(shù)據(jù)庫(kù)備份作業(yè)時(shí),Oracle安全備份解釋RMAN命令并為數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)從屬作業(yè)。所有的Oracle安全備份RMAN備份至少包含一個(gè)從屬作業(yè)。但是如果需要生成單獨(dú)的作業(yè),Oracle安全備份將會(huì)創(chuàng)建多個(gè)從屬作業(yè)。例如,將數(shù)據(jù)庫(kù)備份兩個(gè)相同的副本到單獨(dú)的驅(qū)動(dòng)器,則主作業(yè)將會(huì)產(chǎn)生兩個(gè)從屬作業(yè)。

以下示例演示了一個(gè)數(shù)據(jù)庫(kù)備份作業(yè)和它的兩個(gè)從屬備份作業(yè)。此時(shí)存在兩個(gè)備份副本被寫(xiě)入單獨(dú)的磁帶驅(qū)動(dòng)器。

Recovery Manager: Release 10.2.0.2.0 - Production on Wed Jun 25 12:18:32 2008
 
Copyright (c) 1982, 2008, Oracle.  All rights reserved.
 
RMAN-06568: connected to target database: TSTVW1 (DBID=1586108579, not open)
RMAN-06009: using target database control file instead of recovery catalog
 
RMAN> run {
2> set backup COPIES 2 ;
3> backup tablespace tbs_mult ;
4> }
5>
RMAN-03023: executing command: SET BACKUP COPIES
 
RMAN-03090: Starting backup at 25-JUN-08
RMAN-08030: allocated channel: ORA_SBT_TAPE_1
RMAN-08500: channel ORA_SBT_TAPE_1: sid=93 devtype=SBT_TAPE
RMAN-08526: channel ORA_SBT_TAPE_1: Oracle Secure Backup
RMAN-08008: channel ORA_SBT_TAPE_1: starting full datafile backupset
RMAN-08010: channel ORA_SBT_TAPE_1: specifying datafile(s) in backupset
RMAN-08522: input datafile fno=00004 name=/jfersten_tstvw1/oracle/dbs/tbs_mult.dat
RMAN-08038: channel ORA_SBT_TAPE_1: starting piece 1 at 25-JUN-08
RMAN-08053: channel ORA_SBT_TAPE_1: finished piece 1 at 25-JUN-08 with 2 copies
and tag TAG20080625T121838
RMAN-08503: piece handle=06jjqgcu_1_1 comment=API Version 2.0,MMS Version 10.2.0.0
RMAN-08503: piece handle=06jjqgcu_1_2 comment=API Version 2.0,MMS Version 10.2.0.0
RMAN-08540: channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:11:06
RMAN-03091: Finished backup at 25-JUN-08

Recovery Manager complete.

主作業(yè)為sbt/8:

ob> lsj -l --log sbt/8
sbt/8:
    Type:                   database tstvw1 (dbid=1586108579)
    Scheduled time:         none
    State:                  completed successfully at 2008/06/25.12:29
    Priority:               100
    Privileged op:          no
    Run on host:            (administrative server)
    Attempts:               0
    Log:
        2008/06/25.12:29:37 Job completed successfully.

從屬作業(yè)為sbt/8.1和sbt/8.2:

ob> lsj -l sbt/8.1
sbt/8.1:
    Type:                   datafile backup
    Backup piece:           06jjqgcu_1_1
    Family:                 verylongmediafamilyname
    Encryption:             off
    Scheduled time:         none
    State:                  completed successfully at 2008/06/25.12:29
    Priority:               100
    Privileged op:          no
    Run on host:            brhost3
    Attempts:               1
ob> lsj -l sbt/8.2
sbt/8.2:
    Type:                   datafile backup
    Backup piece:           06jjqgcu_1_2
    Family:                 verylongmediafamilyname
    Encryption:             off
    Scheduled time:         none
    State:                  completed successfully at 2008/06/25.12:29
    Priority:               100
    Privileged op:          no
    Run on host:            brhost3
    Attempts:               1

在作業(yè)描述中,Oracle安全備份根據(jù)RMAN備份類型決定作業(yè)名稱。有效的類型包括歸檔日志、數(shù)據(jù)庫(kù)、數(shù)據(jù)文件以及控制文件。Oracle安全備份為每個(gè)RMAN作業(yè)指定一個(gè)標(biāo)識(shí)符,前綴為主作業(yè)ID,加上一個(gè)點(diǎn)號(hào)(.),然后是一個(gè)唯一的小數(shù)字。例如,15.1可能是計(jì)劃作業(yè)15的一個(gè)從屬作業(yè)。以下示例顯示了一個(gè)典型的lsj命令輸出,包含各種Oracle安全備份RMAN備份:

sbt/1.1 none  archivelog backup         completed successfully at 2008/06/25.12:04
sbt/2   none  database tstvw1             completed successfully at 2008/06/25.12:04
sbt/2.1 none  controlfile autobackup    completed successfully at 2008/06/25.12:04
sbt/3   none  database tstvw1             completed successfully at 2008/06/25.12:05
sbt/3.1 none  datafile backup              completed successfully at 2008/06/25.12:05
sbt/4   none  database tstvw1             completed successfully at 2008/06/25.12:06
sbt/4.1 none  restore piece '03jgj1_1'  completed successfully at 2008/06/25.12:06
sbt/5   none  database tstvw1             completed successfully at 2008/06/25.12:06
sbt/5.1 none  incremental backup       completed successfully at 2008/06/25.12:06
sbt/6   none  database tstvw1             completed successfully at 2008/06/25.12:12
sbt/6.1 none  datafile backup              completed successfully at 2008/06/25.12:12
sbt/7   none  database tstvw1             completed successfully at 2008/06/25.12:17
sbt/7.1 none  restore piece '05jgj0_1'  completed successfully at 2008/06/25.12:17
sbt/8   none  database tstvw1             completed successfully at 2008/06/25.12:29
sbt/8.1 none  datafile backup              completed successfully at 2008/06/25.12:29
sbt/8.2 none  datafile backup              completed successfully at 2008/06/25.12:29
4.4、結(jié)合RMAN與Oracle安全備份執(zhí)行備份

配置完RMAN之后,執(zhí)行RMAN備份的過(guò)程與Oracle數(shù)據(jù)庫(kù)備份與恢復(fù)用戶指南中的過(guò)程相同。本節(jié)描述如何使用EM通過(guò)Oracle安全備份SBT執(zhí)行數(shù)據(jù)庫(kù)備份。

執(zhí)行以下操作通過(guò)Database Control備份數(shù)據(jù)庫(kù):

    使用擁有數(shù)據(jù)庫(kù)管理員權(quán)限的Oracle安全備份用戶登錄Oracle Enterprise Manager Database Control。
    點(diǎn)擊Availability。出現(xiàn)Availability子頁(yè)面。
    在Manage部分,點(diǎn)擊Schedule Backup。出現(xiàn)Database Instance:database_name > Schedule Backup頁(yè)面。
    執(zhí)行以下操作:在Customized Backup部分,選擇Whole Database。該選項(xiàng)指定一個(gè)數(shù)據(jù)庫(kù)文件和歸檔日志的在線備份;在Host Credentials部分,在Username和Password項(xiàng)輸入能夠訪問(wèn)目標(biāo)數(shù)據(jù)庫(kù)的一個(gè)Oracle安全備份用戶的認(rèn)證信息;如果想要Database Control記住認(rèn)證信息,選擇Save as Preferred Credential;點(diǎn)擊Schedule Customized Backup。出現(xiàn)Schedule Customized Backup:Options頁(yè)面。
    在Backup Type部分選擇Full Backup。
    要想使用RMAN加密(非Oracle安全備份加密)進(jìn)行備份加密,選擇Secure the backup using Recovery Manager encryption。執(zhí)行以下操作:在Encryption Algorithm列表中選擇一個(gè)加密算法;選擇一個(gè)加密模式。同時(shí)選擇兩種加密模式能夠在還原備份時(shí)靈活使用Oracle數(shù)據(jù)庫(kù)加密錢夾或者口令。如果選擇口令保護(hù)加密,在Password和Confirm Password項(xiàng)輸入一個(gè)口令。
    對(duì)于RMAN加密,數(shù)據(jù)庫(kù)管理加密密鑰。對(duì)于Oracle安全備份加密,Oracle安全備份管理文件系統(tǒng)和數(shù)據(jù)庫(kù)備份的密鑰。
    點(diǎn)擊Next。出現(xiàn)Schedule Customized Backup:Settings頁(yè)面。
    點(diǎn)擊View Default Settings查看當(dāng)前備份的設(shè)置。點(diǎn)擊Override Current Settings進(jìn)入備份設(shè)置頁(yè)面,修改當(dāng)前的磁帶驅(qū)動(dòng)器數(shù)量和磁帶備份類型設(shè)置。點(diǎn)擊備份設(shè)置頁(yè)面的Override按鈕修改當(dāng)前備份的介質(zhì)簇和/或磁帶驅(qū)動(dòng)器。
    選擇Tape選項(xiàng)并點(diǎn)擊Next。出現(xiàn)Schedule Customized Backup:Schedule頁(yè)面。
    在Job部分,該頁(yè)面在Job Name項(xiàng)顯示了一個(gè)作業(yè)名稱,在Job Description項(xiàng)顯示了備份類型。選擇一個(gè)計(jì)劃類型,可選項(xiàng)包括:
        One Time(Immediately)
        One Time(Later)
        Repeating
    點(diǎn)擊Next。出現(xiàn)Schedule Customized Backup:Review頁(yè)面。
    檢查備份特性,并點(diǎn)擊Submit Job。出現(xiàn)Status頁(yè)面。
    點(diǎn)擊View Job監(jiān)控備份進(jìn)度。出現(xiàn)Execution:database_name頁(yè)面。刷新該頁(yè)面直到出現(xiàn)Backup鏈接。
    點(diǎn)擊Backup。出現(xiàn)Step:Backup頁(yè)面。刷新頁(yè)面以顯示該備份作業(yè)的RMAN輸出。

4.5、結(jié)合RMAN與Oracle安全備份執(zhí)行恢復(fù)

配置完RMAN之后,還原數(shù)據(jù)庫(kù)文件的過(guò)程與Oracle數(shù)據(jù)庫(kù)備份與恢復(fù)用戶指南中的過(guò)程相同。關(guān)于使用Oracle Database Control還原與恢復(fù)完整數(shù)據(jù)庫(kù)的逐步指導(dǎo),參見(jiàn)以下URL:http://www.oracle.com/technology/obe/11gr1_2day_dba/backup/backup.htm#t6。
4.6、RMAN與Oracle安全備份加密

使用Oracle安全備份時(shí)可以通過(guò)以下兩種方式之一進(jìn)行數(shù)據(jù)庫(kù)備份加密:

    使用RMAN備份加密,可以加密數(shù)據(jù)庫(kù)中的數(shù)據(jù)。該選項(xiàng)可以用于Oracle數(shù)據(jù)庫(kù)10.2之后的版本。
    使用Oracle安全備份加密,可以加密RMAN通過(guò)SBT傳輸?shù)絆racle安全備份之后的數(shù)據(jù)。該選項(xiàng)從Oracle 9i之后可用。由于加密發(fā)生在數(shù)據(jù)庫(kù)之外,數(shù)據(jù)在通過(guò)網(wǎng)絡(luò)傳輸或者寫(xiě)入本地附屬磁帶設(shè)備之前,在服務(wù)器中進(jìn)行加密。Oracle安全備份可以用于RMAN以及文件系統(tǒng)備份。

4.7、Oracle安全備份中的RMAN備份元數(shù)據(jù)

Oracle安全備份維護(hù)了關(guān)于所有RMAN備份與文件系統(tǒng)備份的元數(shù)據(jù)。本節(jié)描述如何訪問(wèn)Oracle安全備份目錄中的RMAN元數(shù)據(jù)。
4.7.1、關(guān)于RMAN與Oracle安全備份元數(shù)據(jù)

Oracle安全備份在管理服務(wù)器中維護(hù)了一份關(guān)于Oracle安全備份作業(yè)的元數(shù)據(jù)目錄??梢允褂肳eb工具顯示關(guān)于每個(gè)備份片,即Oracle安全備份Web工具中的備份映像,的目錄元數(shù)據(jù)。還可以使用obtool中的lsjob、catxcr以及l(fā)spiece命令。
4.7.1.1、RMAN磁帶備份的過(guò)期策略

可以將RMAN備份存儲(chǔ)到使用內(nèi)容管理或者時(shí)間管理的過(guò)期策略的帶卷中。如果使用內(nèi)容管理的帶卷,需要使用RMAN的DELETE OBSOLETE命令在RMAN資料庫(kù)中將備份片標(biāo)記為已刪除。作為響應(yīng),Oracle安全備份將會(huì)更新目錄,以指示備份片已刪除。這樣RMAN資料庫(kù)和Oracle安全備份目錄都會(huì)顯示備份片已刪除。

注意:如果使用內(nèi)容管理的帶卷,RMAN保留策略決定了何時(shí)過(guò)期。如果使用控制文件作為RMAN資料庫(kù),記錄保留時(shí)間參數(shù)必須大于等于備份需要保留的時(shí)間。

Oracle不推薦使用Oracle安全備份的rmpiece命令刪除磁帶中的備份片,因?yàn)檫@樣的話,RMAN元數(shù)據(jù)不能正確反映磁帶內(nèi)容。這種差異也可能由于時(shí)間管理的帶卷中的RMAN備份片過(guò)期,或者強(qiáng)制重寫(xiě)帶卷而產(chǎn)生。使用RMAN的CROSSCHECK命令解決Oracle安全備份目錄與RMAN資料庫(kù)的差異問(wèn)題。
4.7.2、顯示Oracle安全備份中的RMAN作業(yè)信息

使用Oracle安全備份SBT執(zhí)行的RMAN備份可以被所有Oracle安全備份作業(yè)管理命令控制。

使用RMAN備份或者還原數(shù)據(jù)庫(kù)時(shí),作業(yè)包含了數(shù)據(jù)庫(kù)名稱。示例4-2顯示了關(guān)于數(shù)據(jù)庫(kù)orcl的備份與還原作業(yè)的輸出樣例。示例中的作業(yè)ID包含了oracle,因?yàn)樽鳂I(yè)由oracle用戶執(zhí)行。

示例4-2 數(shù)據(jù)庫(kù)備份與還原作業(yè)

ob> lsjob --all
Job ID           Sched time  Contents                       State
---------------- ----------- ------------------------------ ---------------------------------------
oracle/1         none    database orcl (dbid=1091504057) completed successfully at 2008/08/11.11:29
oracle/1.1       none    datafile backup                 completed successfully at 2008/08/11.11:29
oracle/2         none    database orcl (dbid=1091504057) completed successfully at 2008/08/11.11:56
oracle/2.1       none    datafile backup                 completed successfully at 2008/08/11.11:56
oracle/3         none    database orcl (dbid=1091504057) completed successfully at 2008/08/11.11:57
oracle/3.1       none    restore piece '06grqejs_1_1'    completed successfully at 2008/08/11.11:57
4.7.2.1、顯示作業(yè)記錄

作業(yè)記錄(Job Transcripts)包含了關(guān)于Oracle安全備份作業(yè)的詳細(xì)信息。示例4-3顯示了一個(gè)規(guī)定日志備份的部分記錄。該備份使用了RMAN-DEFAULT介質(zhì)簇。

示例4-3 一個(gè)歸檔日志備份作業(yè)的記錄

ob> catxcr --head 22 sbt/6.1
2008/06/28.13:01:04 ______________________________________________________________________
2008/06/28.13:01:04
2008/06/28.13:01:04         Transcript. for job sbt/6.1 running on brhost1
2008/06/28.13:01:04
Volume label:
    Volume tag:         ADE202
    Volume ID:          RMAN-DEFAULT-000002
    Volume sequence:    1
    Volume set owner:   root
    Volume set created: Tue Jun 28 13:01:30 2008
    Media family:       RMAN-DEFAULT
    Volume set expires: never; content manages reuse

Archive label:
    File number:        1
    File section:       1
    Owner:              root
    Client host:        brhost1
    Backup level:       0
    S/w compression:    no
    Archive created:    Tue Jun 28 13:01:30 2008
4.7.2.2、顯示SBT錯(cuò)誤

如果SBT會(huì)話產(chǎn)生了錯(cuò)誤,Oracle安全備份嘗試將錯(cuò)誤描述發(fā)送到管理服務(wù)器,存儲(chǔ)到作業(yè)記錄中。數(shù)據(jù)庫(kù)將SBT錯(cuò)誤寫(xiě)入跟蹤文件sbtio.log中,或者用戶定義的文件中。通常,sbtio.log位于Oracle主目錄的rdbms/log子目錄中。
4.7.3、顯示備份片信息

Oracle安全備份在備份片級(jí)別上維護(hù)了RMAN備份信息??梢酝ㄟ^(guò)Oracle安全備份Web工具的備份映像,或者obtool命令查看這些信息。雖然Oracle安全備份能夠查看備份片信息,但是備份集(備份片的邏輯組合)信息只能通過(guò)RMAN獲得。

Oracle安全備份中的一個(gè)RMAN備份片代表一個(gè)備份映像??梢允褂胦btool的lspiece命令顯示Oracle安全備份目錄中記錄的備份片信息。示例4-4顯示了lspiece的輸出示例。

示例4-4 顯示備份片

ob> lspiece --long
Backup piece OID:       104
    Database:               ob
    Database ID:            1566254457
    Content:                archivelog
    Copy number:            0
    Created:                2008/06/28.13:01
    Host:                   brhost1
    Piece name:             05go3tgd_1_1
Backup piece OID:       105
    Database:               ob
    Database ID:            1566254457
    Content:                archivelog
    Copy number:            0
    Created:                2008/06/28.13:02
    Host:                   brhost1
    Piece name:             06go3ti5_1_1
4.8、在Oracle RAC環(huán)境中結(jié)合使用RMAN與Oracle安全備份

可以結(jié)合使用Oracle安全備份SBT庫(kù)與RMAN備份Oracle RAC集群數(shù)據(jù)庫(kù)。
4.8.1、在Oracle RAC環(huán)境中安裝Oracle安全備份

Oracle推薦在集群的每個(gè)節(jié)點(diǎn)上都安裝Oracle安全備份,將節(jié)點(diǎn)配置為客戶端和/或介質(zhì)服務(wù)器。將所有節(jié)點(diǎn)加入管理域可以保護(hù)節(jié)點(diǎn)的本地文件。Oracle安全備份處理RAC客戶端的文件系統(tǒng)備份與處理其他客戶端主機(jī)的備份相同。

圖4-6顯示了一個(gè)包含三節(jié)點(diǎn)RAC系統(tǒng)的管理域示例,每個(gè)節(jié)點(diǎn)配置為一個(gè)客戶端。在RAC環(huán)境中,RMAN能夠還原備份片到安裝了Oracle安全備份軟件的任一節(jié)點(diǎn)中,無(wú)論備份片由哪一個(gè)節(jié)點(diǎn)創(chuàng)建。

圖4-6 在RAC集群環(huán)境中結(jié)合使用RMAN與Oracle安全備份

4.8.2、網(wǎng)絡(luò)備份與本地備份

為了性能考慮,區(qū)分Oracle RAC環(huán)境下的網(wǎng)絡(luò)備份與本地備份的配置是非常重要的。在RAC環(huán)境下的RMAN備份能夠根據(jù)工作負(fù)載分布動(dòng)態(tài)進(jìn)行分配。該技術(shù)在Oracle RAC數(shù)據(jù)庫(kù)使用Oracle安全備份通過(guò)網(wǎng)絡(luò)進(jìn)行備份時(shí)有效,因?yàn)镺racle安全備份無(wú)論在哪一個(gè)節(jié)點(diǎn)執(zhí)行客戶端備份都相同。

如果RAC環(huán)境中的一個(gè)節(jié)點(diǎn)是介質(zhì)服務(wù)器,使用該節(jié)點(diǎn)在本地訪問(wèn)的磁帶設(shè)備上創(chuàng)建備份將會(huì)更加高效。該技術(shù)避免了網(wǎng)絡(luò)帶寬的分配,而在配置為客戶端的RAC節(jié)點(diǎn)上執(zhí)行備份時(shí)需要網(wǎng)絡(luò)帶寬。

可以配置RMAN備份從指定節(jié)點(diǎn)執(zhí)行。Oracle推薦執(zhí)行RMAN永久配置,這樣只需要配置一次,并且能夠影響該數(shù)據(jù)庫(kù)的所有備份與還原操作。

在以下示例中,有3個(gè)磁帶驅(qū)動(dòng)器附屬于主機(jī)hostA,另外2個(gè)磁帶驅(qū)動(dòng)器附屬于hostB。配置步驟如下:

    連接到RAC環(huán)境中的任一節(jié)點(diǎn)以配置RMAN參數(shù)。
    設(shè)置并行度。
    配置通道(3個(gè))/connect/SID hostA。
    配置通道(3個(gè))/connect/SID hostB。

在以上示例中,建立了所需的6個(gè)通道,每個(gè)主機(jī)3個(gè)。該配置應(yīng)用于每個(gè)備份與還原操作,除非覆蓋該設(shè)置。可以連接到RAC環(huán)境中的任何節(jié)點(diǎn)啟動(dòng)RMAN操作,操作只在兩個(gè)已配置主機(jī)上執(zhí)行。
4.8.3、雙工備份

可以雙工備份操作,每個(gè)使用一個(gè)單獨(dú)的卷組,保留一個(gè)卷組在場(chǎng)以便使用,另一個(gè)卷組離場(chǎng)存儲(chǔ)用于災(zāi)難恢復(fù)。為了便于管理,每個(gè)雙工的備份操作可以由它自己的數(shù)據(jù)庫(kù)存儲(chǔ)選擇器定義,并且寫(xiě)入自己?jiǎn)为?dú)的介質(zhì)簇。

數(shù)據(jù)庫(kù)備份存儲(chǔ)選擇器是用戶定義的用于Oracle數(shù)據(jù)庫(kù)備份的Oracle安全備份介質(zhì)策略。它們定義了介質(zhì)簇、磁帶設(shè)備、資源等待時(shí)間以及備份的副本數(shù)量。一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)選擇器可以用于管理域中的所有數(shù)據(jù)庫(kù)的備份,也可以為每個(gè)數(shù)據(jù)庫(kù)定義多個(gè)存儲(chǔ)選擇器。

在以下示例中,創(chuàng)建了名為ssel_1和ssel_2的兩個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)選擇器。它們都備份主機(jī)host_name上的所有數(shù)據(jù)庫(kù)的全部?jī)?nèi)容。但是ssel_1使用介質(zhì)簇mf_1,而ssel_2使用介質(zhì)簇mf_2:

ob> mkssel --dbid * --host host_name --content * --family mf_1 -- copynum 1 ssel_1
ob> mkssel --dbid * --host host_name --content * --family mf_2 -- copynum 2 ssel_2

如果使用RMAN雙工備份和PARALLELISM,可用磁帶驅(qū)動(dòng)器數(shù)量必須滿足并發(fā)的2個(gè)備份副本。如果在上例中的通道配置將PARALLELSIM設(shè)置為2,備份操作需要4個(gè)磁帶驅(qū)動(dòng)器(2個(gè)備份副本乘以PARALLELSIM)。

如果一個(gè)備份副本的磁帶驅(qū)動(dòng)器不可用,另一個(gè)副本也不能執(zhí)行。此外,如果一個(gè)備份副本的備份流失敗,另一個(gè)副本也會(huì)失敗。

這種情況下還原操作只需要2個(gè)磁帶驅(qū)動(dòng)器,因?yàn)檫€原操作不是雙工的。