近年來許多軟備份軟體都支援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畫面: