oracle 备份报错,麻烦大家给点意见

发布于 2022-10-15 10:11:26 字数 12806 浏览 28 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

美羊羊 2022-10-22 10:11:26

没用过NBU

你的B机有接磁带机么?

妥活 2022-10-22 10:11:26

重启一下oracle servier 在B机上。

还如梦归 2022-10-22 10:11:26

谢谢,无牙和deadwind大哥,是没运行:/usr/openv/netbackup/bin/oracle_link 的缘故。

不知道AIX ,HP-UX上装了Oracle的备份代理后也需要运行 oracle_link 呢?

知道的童鞋请告知一下。谢谢

守护在此方 2022-10-22 10:11:26

只要是unix或者linux的都需要运行

遗弃M 2022-10-22 10:11:26

windows上不用,就只是重启服务。

天煞孤星 2022-10-22 10:11:26

知道了,谢谢。

另外请问一下,朋友给了张 nub7 from linux 的光盘,看了一下,里面只有client ,ICS 等 ,但好像没有数据库的代理软件,那个数据库agent 软件包是不是在另外一张单独的光盘里??

麻烦告知,谢谢。

起风了 2022-10-22 10:11:26

据说NBU7装了以后都自动安装agent
不知道是否属实

落墨 2022-10-22 10:11:26

据说NBU7装了以后都自动安装agent
不知道是否属实
birdxp 发表于 2011-04-14 16:14

    继续求证

鱼窥荷 2022-10-22 10:11:26

NBU7不会自带安装agent,只会自动在服务器端安装pbx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文