spyself 发表于 2012-11-28 11:42

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

myguangzhou 发表于 2012-11-28 22:26

备份模板的脚本同一个目录下也有恢复模板的脚本啊

匪徒易真 发表于 2012-11-29 15:36

nbu的恢复方式很麻烦的,并且恢复时采用oracle的RMAN命令行进行恢复。方便直接。还不如采用命令行恢复呢

spyself 发表于 2012-11-29 20:37

回复 2# myguangzhou


    usr/openv/netbackup/ext/db_ext/oracle/samples/rman下只有个pit_database_restore.sh是恢复的,是这个脚本吗

kaiyuxiaobao 发表于 2012-12-25 16:17

使用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]
查看完整版本: NBU 7.5如何进行恢复?