天天看點

RMAN備份環境配置-進階

Technorati 标簽: RMAN, 備份, oracle

RMAN備份環境配置-進階

配置 RMAN 制作備份到媒體管理器

在大多數平台上,備份到錄音帶上,或從錄音帶上轉儲時,必須将錄音帶與Oracle內建起來。媒體管理器不是Oracle産品,是以如果選擇RMAN與媒體管理器一起工作,必須從供應商處得到所有産品相關的資訊。

配置RMAN使用媒體管理器的基本步驟如下:

RMAN 使用媒體管理器的要求

首先必須安裝它并且確定RMAN能夠與它通信,通常這一步在供應商文檔上有具體說明。安裝完成後,首先需要確定非RMAN備份可以正确工作。這個步驟可以使随後的故障處理更容易,可以確定媒體管理其能夠正确在OS上工作。

然後得到并安裝第三方媒體管理子產品與伺服器內建。這個子產品包含Oracle用來加載和通路媒體管理器的媒體管理器庫。通常這個産品需要單獨購買。

定位媒體管理庫: SBT_LIBRARY 參數

當為RMAN配置設定或配置通道用來與媒體管理器通信時,需要設定SBT_LIBRARY參數提供媒體管理軟體庫。在實際RMAN執行時,會嘗試加載SBT_LIBRARY中的庫。如果沒有設定該值,将在平台的預設位置查找,$ORACLE_HOME/lib/libobk.so,字尾可能為.sl, .a等,在Windows下為%ORACLE_HOME%/bin/orasbt.dll。

預設情況下,庫不是資料庫安裝的一部分,必須安裝媒體管理軟體。

如果RMAN定位錯誤,将會得到ORA-27211錯誤。

無論何時通道配置設定失敗,USER_DUMP_DEST下的跟蹤檔案都會寫入以下資訊:

SKGFQ OSD: Error in function sbtinit on line 2278

SKGFQ OSD: Look for SBT Trace messages in file /oracle/rdbms/log/sbtio.log

SBT Initialize failed for /oracle/lib/libobk.so

測試媒體管理庫是否以正确內建

在确認資料庫伺服器能夠加載媒體管理庫後,需要測試以確定RMAN能夠備份到媒體管理器。

RMAN 備份配置媒體管理軟體

安裝完媒體管理軟體後,執行任何供應商要求的配置以使軟體可以接受RMAN備份。有可能要配置媒體池,使用者,類等等。

然後确定ALLOCATE CHANNEL或CONFIGURE CHANNEL所需的PARMS設定。以及BACKUP推薦的FORMAT格式。PARMS參數用來發送指令到媒體管理器。具體在産品文檔中會有說明。

配置媒體管理器的備份片名和大小

因為媒體管理器可能會有大小限制,是以需要配置RMAN限制這些備份片的名稱和大小。

配置備份片名:備份片名由BACKUP,CONFIGURE CHANNEL,ALLOCATE CHANNEL的FORMAT字元串定義。

配置備份片大小:備份片大小由CONFIGURE CHANNEL,ALLOCATE CHANNEL的MAXPIECESIZE參數決定。

在媒體管理器上測試 ALLOCATE CHANNEL

使用以下過程确認RMAN在為媒體管理器配置設定通道時可以加載媒體管理庫:

1. 連接配接到目标庫;

2. 運作帶PARMS的ALLOCATE CHANNEL指令,如下:

RUN

{

ALLOCATE CHANNEL c1 DEVICE TYPE sbt

PARMS='SBT_LIBRARY=/mediavendor/lib/libobk.so ENV=(NSR_SERVER=tape_srv,NSR_

GROUP=oracle_tapes)';

}

如果沒有得到錯誤消息,則RMAN正确的加載了媒體管理庫,否則會發生ORA-27211錯誤。

RMAN-00571: ===========================================================

RMAN-00569: ======= ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03009: failure of allocate command on c1 channel at 11/30/2001 13:57:18

ORA-19554: error allocating device, device type: SBT_TAPE, device name:

ORA-27211: Failed to load Media Management Library

Additional information: 25

此時就需要重新檢查安裝是否正确,SBT_LIBRARY是否正确。

測試備份到媒體管理庫

在測試通道配置設定以後,就需要測試備份。

RUN

{

ALLOCATE CHANNEL c1 DEVICE TYPE sbt

PARMS='SBT_LIBRARY=/mediavendor/lib/libobk.so

ENV=(NSR_SERVER=tape_srv,NSR_GROUP=oracle_tapes)';

BACKUP CURRENT CONTROLFILE;

}

PARMS和FORMAT依賴于具體的産品。如果成功就可以開始備份。錯誤的情況包括如下:

ORA-19511:沒有正确配置媒體管理軟體;

備份挂起:媒體管理器等待挂載錄音帶;

配置 SBT 通道使用媒體管理器

1.RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt

PARMS='SBT_LIBRARY=/mediavendor/lib/libobk.so

ENV=(NSR_SERVER=tape_svr,NSR_CLIENT=oracleclnt,NSR_GROUP=ora_tapes)'

FORMAT "BACKUP_%U";

2.RMAN> BACKUP DEVICE TYPE sbt CURRENT CONTROLFILE;

3.RMAN> SHOW CHANNEL FOR DEVICE TYPE sbt;

4.RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

配置備份優化

備份優化僅僅适用于以下指令:

·BACKUP DATABASE

·BACKUP ARCHIVELOG…ALL | LIKE;

·BACKUP BACKUPSET ALL

任何時候都可以使用BACKUP指令的FORCE選項覆寫,如下:

BACKUP DATABASE FORCE;

BACKUP ARCHIVELOG ALL FORCE;

預設情況下,備份優化是OFF的,可以通過如下指令啟用:

CONFIGURE BACKUP OPTIMIZATION ON;

配置備份複制: CONFIGURE... BACKUP COPIES

CONFIGURE ... BACKUP COPIES聲明對于特定類型的備份在特定的裝置上需要建立的備份集份數。設定複制的CONFIGURE僅僅影響資料檔案,控制檔案,歸檔日志,并且僅僅是到備份集上的。

控制檔案自動備份除外。

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE sbt TO 3;

如果将複制特征和多個FORMAT字元串一起使用,可以指令每個備份集的名稱。如下:

BACKUP DATABASE FORMAT '/tmp/%U', '?/dbs/%U', '?/oradata/%U';

此時,RMAN會為每個備份集中的備份片建立3個備份,然後根據FORMAT中的字元串進行命名。

如果要清除,可以執行以下指令:

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE sbt CLEAR;

如果不希望設定永久性的複制特定,可以使用BACKUP COPIES和SET BACKUP COPIES指令。

使用 SHOW... BACKUP COPIES 顯示複制的份數

連接配接到目标庫後,可以運作SHOW ARCHIVELOG BACKUP COPIES或SHOW DATAFILE BACKUP COPIES指令檢視目前的配置。

配置在備份全庫時要排除的表空間

使用CONFIGURE EXCLUDE FOR TABLESPACE指令可以配置在備份全庫時自動排除的表空間。

即使在配置後,也可以強制将他們包含進來:BACKUP DATABASE NOEXCLUDE;

如果要清除,執行以下指令即可:

CONFIGURE EXCLUDE FOR TABLESPACE TBS_1 CLEAR;

之後在備份全庫時,就會将這些表空間包含進來。

配置 Auxiliary 執行個體資料檔案名: CONFIGURE AUXNAME

在使用TSPITR,或通過RMAN複制一個資料庫時,在進行實際的TSPITR或者資料庫複制前,可以需要設定auxiliary執行個體的資料檔案名。如下:

CONFIGURE AUXNAME FOR datafileSpec TO 'filename';

DatafileSpec:原始的檔案名或檔案号;filename:新檔案的路徑。

和其他的設定的清除一樣,CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR;

當運作DUPLICATE時,CONFIGURE AUXNAME是SET NEWNAME指令的一種替代。差別是使用了AUXNAME後,随後執行其他的DUPLICATE指令不需要再次重設檔案名,直到執行了CONFIGURE AUXNAME ... CLEAR。

顯示 Auxiliary 通道的預設配置

SHOW AUXNAME;

CONFIGURE AUXNAME FOR DATAFILE '/oracle/oradata/trgt/tools01.dbf' TO '/tmp/tools01.dbf';

設定快照控制檔案位置

當RMAN需要從一個讀一緻性的控制檔案版本重新同步時,其将會建立一個快照控制檔案。RMAN僅在于RMAN同步或者制作目前控制檔案的備份時需要快照。預設情況下,$ORACLE_HOME/dbs/[email protected]中,而不是在FRA。

快照控制檔案的預設位置

在目前版本建立一個新資料庫:快照使用預設位置,依賴于ORACLE_HOME;

從8.1.7前的版本更新到目前版本:使用存儲在控制檔案中的快照位置;

檢視配置

SHOW SNAPSHOT CONTROLFILE NAME;

設定快照控制檔案的位置

使用CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'filename'設定快照控制檔案的位置。

如果要更改到其他位置,隻需要重新執行指向新的位置即可。

設定共享伺服器下的 RMAN 使用

RMAN不能通過共享伺服器連接配接到伺服器,必須要求專用伺服器。為了確定RMAN在MTS下不會連接配接到排程器,RMAN使用的連接配接字元串必須包含(SERVER=DEDICATED)在CONNECT_DATA中。

如下:

inst1_shs =

(DESCRIPTION=

(ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port1521))

(CONNECT_DATA=(SERVICE_NAME=inst1)(SERVER=shared))

)

inst1是SERVICE_NAMES的一個值;

配置RMAN在MTS下工作如下:

1. 建立一個網絡服務名通過非共享SID連接配接:

inst1_ded =

(DESCRIPTION=

(ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port1521))

(CONNECT_DATA=(SERVICE_NAME=inst1)(SERVER=dedicated))

)

2. 啟動SQL*PLUS測試兩個連接配接字元串:

CONNECT SYS/[email protected]_ded

SELECT SERVER

FROM V$SESSION

WHERE SID = (SELECT DISTINCT SID FROM V$MYSTAT);

CONNECT SYS/[email protected]_shs AS SYSDBA

SELECT SERVER

FROM V$SESSION

WHERE SID = (SELECT DISTINCT SID FROM V$MYSTAT);

3. 使用專用服務名連接配接到伺服器。

關于共享伺服器的具體配置

在10g中隻要設定shared_servers大于0即可,如下:

alter system set shared_servers=1;

執行指令lsnrctl services,結果如下:

例程 "test", 狀态 READY, 包含此服務的 1 個處理程式...

處理程式:

"D000" 已建立:0 已被拒絕:0 目前: 1 最大: 1002 狀态: ready

DISPATCHER

(ADDRESS=(PROTOCOL=tcp)(HOST=PD-00167674093A.tcsgegdc.com)(PORT=1579))

然後配置一個TNS服務名,使用1579端口,然後使用該端口配置的TNS服務名連接配接就是共享伺服器。