透過Veeam Plug-in for Oracle RMAN備份Oracle Database-還原篇

近年來許多軟備份軟體都支援Oracle RMAN的介接,來進行Oracle Database的備份作業,今天小編要介紹的是如何透過Veeam Plug-in for Oracle RMAN來進行Oracle Database的備份。

本篇文章為Veeam Plug-in for Oracle RMAN還原篇

[範例情境介紹]
01、本範例使用Red Hat Linux 6.8
02、Oracle Database版本為11.2.0.4
03、Veeam repositories是安裝在Windows平台

04、至少已透過Veeam Plug-in for Oracle RMAN完成一次備份

操作步驟:
01、確定要還原的備份版次(依據備份的年月日判斷)
在Backup Repository目錄下選定要還原的Control File,本範例選用的是「c-1474338501-20210802-00_RMAN_AUTOBACKUP.vab

 

02、將Oracle Database開到mount狀態
sqlplus “/ as sysdba”

SQL> startup nomount;
SQL> exit;

03、在Linux系統上執行Oracle RMAN還原
vi /home/oracle/veeam_restore.sh
檔案內容如下:

if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
$DATE=`date +%Y%m%d_%H%M`
PATH=$PATH:$HOME/bin
export PATH
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=orcl.ailog.tw; export ORACLE_HOSTNAME
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME|
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5 ;export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
/oracle/product/11.2.0.4/db_1/bin/rman target sys/sys_admin cmdfile /home/oracle/veeam_restore.rman log /home/oracle/rman_$DATE.log

備註說明:
(1)、「/oracle/product/11.2.0.4/db_1」為本範例Oracle的安裝路徑,該設定值請依據實際狀況變更。


(2)、本範例的NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5是因為範例資料庫採用Big5,該設定值請依據實際狀況變更。
資料庫編碼的查詢,請參考小篇的先前文章:
https://ailog.tw/lifelog/2021/08/01/search-oracle-characterset/

(3)、「/home/oracle/veeam_restore.rman」為本範例的RMAN還原執行檔案位置

(4)、「/home/oracle/rman_$DATE.log」為本範例的紀錄檔位置

04、設定RMAN還原內容
vi /home/oracle/veeam_restore.rman
檔案內容如下:

RUN {
ALLOCATE CHANNEL c0 DEVICE TYPE sbt PARMS ‘SBT_LIBRARY=/opt/veeam/VeeamPluginforOracleRMAN/libOracleRMANPlugin.so’;
RESTORE controlfile FROM ‘c-1474338501-20210802-00_RMAN_AUTOBACKUP.vab‘;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
RESTORE DATABASE;
RECOVER DATABASE;
}

備註說明:「c-1474338501-20210802-00_RMAN_AUTOBACKUP.vab」為本次範例進行還原的Control File。

05、進行Oracle Database還原
chmod 755 /home/oracle/veeam_restore.sh

/home/oracle/veeam_restore.sh

06、在Veeam的軟體畫面上可以看見有一個備份程序正在執行

07、Oracle RMAN還原完成畫面
Linux console畫面:

veeam backup & replication畫面: