oracle 备份报错,麻烦大家给点意见
A机:NBUSERVER(windows+本地磁盘作为备份目录 ,新建storage unit 为disk类 ),
B机:NBUCLIENT(linux+oracle10),装的是nbu media server和 oracle agent 。
想在A机上调用B机上的备份脚本,将B机上的数据库通过网络备份到A机本地磁盘上。
脚本中 ALLOCATE CHANNEL ch00 TYPE DISK; 时运行后却备份到了B机的flashrecover目录上。后来改成ALLOCATE CHANNEL ch00 TYPE SBT_TAPE;后却报找不到sbt_tape的类型。
然后才醒起media server 机上忘记安装 oracle agent了。重新装了agent 并重启了media server和master server 的NBU进程。重新备份是仍然报 找不到sbt_tape的类型。
使用的脚本是修改了自带的。
# #!/bin/sh
# # $Header: hot_database_backup.sh,v 1.2 2002/08/06 23:51:42 $
# #
# #bcpyrght
# #***************************************************************************
# #* $VRTScprght: Copyright 1993 - 2007 Symantec Corporation, All Rights Reserved $ *
# #***************************************************************************
# #ecpyrght
# #
# # ---------------------------------------------------------------------------
# # hot_database_backup.sh
# # ---------------------------------------------------------------------------
# # This script uses Recovery Manager to take a hot (inconsistent) database
# # backup. A hot backup is inconsistent because portions of the database are
# # being modified and written to the disk while the backup is progressing.
# # You must run your database in ARCHIVELOG mode to make hot backups. It is
# # assumed that this script will be executed by user root. In order for RMAN
# # to work properly we switch user (su -) to the oracle dba account before
# # execution. If this script runs under a user account that has Oracle dba
# # privilege, it will be executed using this user's account.
# # ---------------------------------------------------------------------------
#
# # ---------------------------------------------------------------------------
# # Determine the user which is executing this script.
# # ---------------------------------------------------------------------------
#
# CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
#
# # ---------------------------------------------------------------------------
# # Put output in <this file name>.out. Change as desired.
# # Note: output directory requires write permission.
# # ---------------------------------------------------------------------------
#
# RMAN_LOG_FILE=${0}.out
#
# # ---------------------------------------------------------------------------
# # You may want to delete the output file so that backup information does
# # not accumulate. If not, delete the following lines.
# # ---------------------------------------------------------------------------
#
# if [ -f "$RMAN_LOG_FILE" ]
# then
# rm -f "$RMAN_LOG_FILE"
# fi
#
# # -----------------------------------------------------------------
# # Initialize the log file.
# # -----------------------------------------------------------------
#
# echo >> $RMAN_LOG_FILE
# chmod 666 $RMAN_LOG_FILE
#
# # ---------------------------------------------------------------------------
# # Log the start of this script.
# # ---------------------------------------------------------------------------
#
# echo Script $0 >> $RMAN_LOG_FILE
# echo ==== started on `date` ==== >> $RMAN_LOG_FILE
# echo >> $RMAN_LOG_FILE
#
# # ---------------------------------------------------------------------------
# # Replace /db/oracle/product/ora81, below, with the Oracle home path.
# # ---------------------------------------------------------------------------
#
# ORACLE_HOME=/opt/ora10g/product/10.2.0/db_1
# export ORACLE_HOME
#
# # ---------------------------------------------------------------------------
# # Replace ora81, below, with the Oracle SID of the target database.
# # ---------------------------------------------------------------------------
#
# ORACLE_SID=RACDB1
# export ORACLE_SID
#
# # ---------------------------------------------------------------------------
# # Replace ora81, below, with the Oracle DBA user id (account).
# # ---------------------------------------------------------------------------
#
# ORACLE_USER=oracle
#
# # ---------------------------------------------------------------------------
# # Set the target connect string.
# # Replace "sys/manager", below, with the target connect string.
# # ---------------------------------------------------------------------------
#
# TARGET_CONNECT_STR=system/root1234
#
# # ---------------------------------------------------------------------------
# # Set the Oracle Recovery Manager name.
# # ---------------------------------------------------------------------------
#
# RMAN=$ORACLE_HOME/bin/rman
#
# # ---------------------------------------------------------------------------
# # Print out the value of the variables set by this script.
# # ---------------------------------------------------------------------------
#
# 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
#
# # ---------------------------------------------------------------------------
# # Print out the value of the variables set by bphdb.
# # ---------------------------------------------------------------------------
#
# 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
#
# # ---------------------------------------------------------------------------
# # NOTE: This script assumes that the database is properly opened. If desired,
# # this would be the place to verify that.
# # ---------------------------------------------------------------------------
#
# echo >> $RMAN_LOG_FILE
# # ---------------------------------------------------------------------------
# # If this script is executed from a NetBackup schedule, NetBackup
# # sets an NB_ORA environment variable based on the schedule type.
# # The NB_ORA variable is then used to dynamically set BACKUP_TYPE
# # For example, when:
# # schedule type is BACKUP_TYPE is
# # ---------------- --------------
# # Automatic Full INCREMENTAL LEVEL=0
# # Automatic Differential Incremental INCREMENTAL LEVEL=1
# # Automatic Cumulative Incremental INCREMENTAL LEVEL=1 CUMULATIVE
# #
# # For user initiated backups, BACKUP_TYPE defaults to incremental
# # level 0 (full). To change the default for a user initiated
# # backup to incremental or incremental cumulative, uncomment
# # one of the following two lines.
# # BACKUP_TYPE="INCREMENTAL LEVEL=1"
# # BACKUP_TYPE="INCREMENTAL LEVEL=1 CUMULATIVE"
# #
# # Note that we use incremental level 0 to specify full backups.
# # That is because, although they are identical in content, only
# # the incremental level 0 backup can have incremental backups of
# # level > 0 applied to it.
# # ---------------------------------------------------------------------------
#
# 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';
# ALLOCATE CHANNEL ch01 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;
# RELEASE CHANNEL ch01;
# # backup all archive logs
# ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
# ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
# BACKUP
# filesperset 20
# FORMAT 'al_%s_%p_%t'
# ARCHIVELOG ALL DELETE INPUT;
# RELEASE CHANNEL ch00;
# RELEASE CHANNEL ch01;
# ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
# BACKUP
# # recommended format
# FORMAT 'cntrl_%s_%p_%t'
# CURRENT CONTROLFILE;
# RELEASE CHANNEL ch00;
# }
# EOF
# "
# # Initiate the command string
#
# 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
#
# # ---------------------------------------------------------------------------
# # Log the completion of this script.
# # ---------------------------------------------------------------------------
#
# 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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
没用过NBU
你的B机有接磁带机么?
重启一下oracle servier 在B机上。
谢谢,无牙和deadwind大哥,是没运行:/usr/openv/netbackup/bin/oracle_link 的缘故。
不知道AIX ,HP-UX上装了Oracle的备份代理后也需要运行 oracle_link 呢?
知道的童鞋请告知一下。谢谢
只要是unix或者linux的都需要运行
windows上不用,就只是重启服务。
知道了,谢谢。
另外请问一下,朋友给了张 nub7 from linux 的光盘,看了一下,里面只有client ,ICS 等 ,但好像没有数据库的代理软件,那个数据库agent 软件包是不是在另外一张单独的光盘里??
麻烦告知,谢谢。
据说NBU7装了以后都自动安装agent
不知道是否属实
继续求证
NBU7不会自带安装agent,只会自动在服务器端安装pbx