NBU 7.5如何进行恢复?
环境:NBU 7.5 Server+两台节点搭建的oracle 11G RAC作为客户端在nbu server里,新建一个策略备份数据库和归档日志,
我想问的是,如何进行恢复的操作呢?在nbu 界面里没有恢复的操作选项啊
在备份的时候 需要调用客户端的备份脚本hot_database_backup.sh,那么如果要恢复,是不是得调用客户端的恢复脚本?
如果要调用客户端的恢复脚本,这个脚本在什么位置?
我在NBU安装目录没发现有恢复 restore的脚本
root@db1:/usr/openv/netbackup/ext/db_ext/oracle/samples/rman# ls -al
total 179
drwxr-xr-x 2 root bin 10 Nov 27 17:59 .
drwxr-xr-x 5 root bin 8 Nov 27 17:59 ..
-r-xr-xr-x 1 root bin 11719 Feb82012 cold_database_backup.sh
-r-xr-xr-x 1 root bin 12520 Feb82012 cold_duplex_database_backup_full.sh
-r-xr-xr-x 1 root bin 7187 Feb82012 database_restore.sh
-r-xr-xr-x 1 root bin 11595 Feb82012 hot_database_backup.sh
-r-xr-xr-x 1 root bin 10040 Feb82012 hot_database_backup_proxy.sh
-r-xr-xr-x 1 root bin 11170 Feb82012 hot_tablespace_backup.sh
-r-xr-xr-x 1 root bin 8590 Feb82012 hot_tablespace_backup_proxy.sh
-r-xr-xr-x 1 root bin 10154 Feb82012 pit_database_restore.sh
这个脚本是得自己手动写吗?
下面是hot_database_backup.sh脚本的内容
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
RMAN_LOG_FILE=${0}.out
if [ -f "$RMAN_LOG_FILE" ]
then
rm -f "$RMAN_LOG_FILE"
fi
echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
export ORACLE_HOME
ORACLE_SID=orcl1
export ORACLE_SID
ORACLE_USER=oracle
TARGET_CONNECT_STR=sys/oracle
RMAN=$ORACLE_HOME/bin/rman
echo >> $RMAN_LOG_FILE
echo "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo>> $RMAN_LOG_FILE
echo "NB_ORA_FULL: $NB_ORA_FULL" >> $RMAN_LOG_FILE
echo "NB_ORA_INCR: $NB_ORA_INCR" >> $RMAN_LOG_FILE
echo "NB_ORA_CINC: $NB_ORA_CINC" >> $RMAN_LOG_FILE
echo "NB_ORA_SERV: $NB_ORA_SERV" >> $RMAN_LOG_FILE
echo "NB_ORA_POLICY: $NB_ORA_POLICY" >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
if [ "$NB_ORA_FULL" = "1" ]
then
echo "Full backup requested" >> $RMAN_LOG_FILE
BACKUP_TYPE="INCREMENTAL LEVEL=0"
elif [ "$NB_ORA_INCR" = "1" ]
then
echo "Differential incremental backup requested" >> $RMAN_LOG_FILE
BACKUP_TYPE="INCREMENTAL LEVEL=1"
elif [ "$NB_ORA_CINC" = "1" ]
then
echo "Cumulative incremental backup requested" >> $RMAN_LOG_FILE
BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"
elif [ "$BACKUP_TYPE" = "" ]
then
echo "Default - Full backup requested" >> $RMAN_LOG_FILE
BACKUP_TYPE="INCREMENTAL LEVEL=0"
fi
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
BACKUP
$BACKUP_TYPE
SKIP INACCESSIBLE
TAG hot_db_bk_level0
FILESPERSET 5
# recommended format
FORMAT 'bk_%s_%p_%t'
DATABASE;
sql 'alter system archive log current';
RELEASE CHANNEL ch00;
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
BACKUP
filesperset 20
FORMAT 'al_%s_%p_%t'
ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
BACKUP
# recommended format
FORMAT 'cntrl_%s_%p_%t'
CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
}
EOF
"
if [ "$CUSER" = "root" ]
then
su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
else
/usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
RSTAT=$?
Fi
if [ "$RSTAT" = "0" ]
then
LOGMSG="ended successfully"
else
LOGMSG="ended in error"
fi
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT
备份模板的脚本同一个目录下也有恢复模板的脚本啊 nbu的恢复方式很麻烦的,并且恢复时采用oracle的RMAN命令行进行恢复。方便直接。还不如采用命令行恢复呢 回复 2# myguangzhou
usr/openv/netbackup/ext/db_ext/oracle/samples/rman下只有个pit_database_restore.sh是恢复的,是这个脚本吗 使用oracle rman进行恢复,恢复数据库脚本。
RMAN> run{
2> allocate channel c1 type sbt_tape;
3> send 'nb_ora_serv=XX,nb_ora_client=XX';
4> restore database;
5> }
恢复spfile文件、控制文件和这个差不多的。
页:
[1]