互联网服务NBU7.5

NBU备份状态码为6,查看脚本、机械手、磁带都没有问题,不知道问题在哪,求各位大神指点。?

此为备份脚本

!/bin/sh

$Header: hot_database_backup.sh,v 1.3 2010/08/04 17:56:02 $

bcpyrght

*

$VRTScprght: Copyright 1993 - 2012 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/ora102, below, with the Oracle home path.

---------------------------------------------------------------------------

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_HOME

---------------------------------------------------------------------------

Replace ora102, below, with the Oracle SID of the target database.

---------------------------------------------------------------------------

ORACLE_SID=mofit
export ORACLE_SID

---------------------------------------------------------------------------

Replace ora102, 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=sys/oracle

---------------------------------------------------------------------------

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;

Note: During the process of backing up the database, RMAN also backs up the

control file. This version of the control file does not contain the

information about the current backup because "nocatalog" has been specified.

To include the information about the current backup, the control file should

be backed up as the last step of the RMAN section. This step would not be

necessary if we were using a recovery catalog or auto control file backups.

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

参与17

4同行回答

mxin辛旻mxin辛旻  资深工程师 , 上海宝信软件股份有限公司
"查看脚本、机械手、磁带都没有问题",如何判断的,可以贴出来大家一起帮忙判读。而且还有NBU软件管理控制台本身,NBU的agent这2个环节是否查过?另: http://blog.csdn.net/naguang/article/details/8263316 symantec NBU 备份 status 6 Ø6:未找到备份文件,一般是路径出错,或者是...显示全部

"查看脚本、机械手、磁带都没有问题",如何判断的,可以贴出来大家一起帮忙判读。而且还有NBU软件管理控制台本身,NBU的agent这2个环节是否查过?
另: http://blog.csdn.net/naguang/article/details/8263316
symantec NBU 备份 status 6
Ø6:未找到备份文件,一般是路径出错,或者是数据库实例配置问题

情景1:

               最有可能是手工删除了归档日志,导致备份是找不到文件
                可以使用rman crosscheck 一下
                 rman target /
                 crosscheck archivelog all;
                 crosscheck backup;
    

情景2:

           当备份sap的数据库oracle,使用brtools 备份数据库,br使用的是alter database begin backup 命令,然后拷贝相应的数据文件,当备份完毕会自动执行end backup,但是如果异常中断了备份,脚本没有执行end backup ,下次在启动备份就会报6号错误
        可以检查数据库的v$backup 视图,查看状态,如果是active说明没有end backup,按文件执行end backup或是全库end backup ,alter database end backup;

情景3:

           oracle数据库升级,导致备份失效,因为NBU 调用的是rman备份数据库,升级后有新的lib库,需要重新link一下lib才可以

关于link问题可以参看:
http://blog.csdn.net/naguang/article/details/7988425

情景4:

         备份脚本没有执行的权限

          chmod u+x script.sh

错误日志:

2012/12/06 17:38:38 - end writing
2012/12/06 17:48:04 - Error bpbrm(pid=3616) from client S1PD56: ERR - Script exited with status = 29 <failed trying to exec a command>
2012/12/06 17:48:05 - Error bpbrm(pid=3616) from client S1PD56: ERR - bphdb exit status = 6: the backup failed to back up the requested files
the backup failed to back up the requested files(6)

收起
IT咨询服务 · 2017-11-25
浏览5032
lp0618 邀答
  • 此为脚本的.out文件,其中报错信息。 Script /usr/openv/netbackup/scripts/gk_bk.sh ==== started on 2017年 11月 25日 星期六 17:47:07 CST ==== RMAN: /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman ORACLE_SID: mofit ORACLE_USER: oracle ORACLE_HOME: /u01/app/oracle/product/11.2.0/dbhome_1 NB_ORA_FULL: 1 NB_ORA_INCR: 0 NB_ORA_CINC: 0 NB_ORA_SERV: sxnbu NB_ORA_POLICY: mofit_ora_back Full backup requested Recovery Manager: Release 11.2.0.4.0 - Production on Sat Nov 25 17:47:07 2017 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: MOFIT (DBID=708673891) using target database control file instead of recovery catalog RMAN&gt; 2&gt; 3&gt; 4&gt; 5&gt; 6&gt; 7&gt; 8&gt; 9&gt; 10&gt; 11&gt; 12&gt; 13&gt; 14&gt; 15&gt; 16&gt; 17&gt; 18&gt; 19&gt; 20&gt; 21&gt; 22&gt; 23&gt; 24&gt; 25&gt; 26&gt; 27&gt; 28&gt; 29&gt; 30&gt; 31&gt; 32&gt; 33&gt; 34&gt; 35&gt; 36&gt; 37&gt; 38&gt; RMAN&gt; 2&gt; 3&gt; 4&gt; 5&gt; 6&gt; 7&gt; 8&gt; 9&gt; 10&gt; 11&gt; 12&gt; 13&gt; 14&gt; 15&gt; 16&gt; 17&gt; 18&gt; 19&gt; 20&gt; 21&gt; 22&gt; 23&gt; 24&gt; 25&gt; 26&gt; 27&gt; 28&gt; 29&gt; 30&gt; 31&gt; 32&gt; 33&gt; 34&gt; 35&gt; 36&gt; 37&gt; 38&gt; allocated channel: ch00 channel ch00: SID=11287 device type=SBT_TAPE channel ch00: Veritas NetBackup for Oracle - Release 7.5 (2012020801) allocated channel: ch01 channel ch01: SID=12296 device type=SBT_TAPE channel ch01: Veritas NetBackup for Oracle - Release 7.5 (2012020801) Starting backup at 25-NOV-17 channel ch00: starting incremental level 0 datafile backup set channel ch00: specifying datafile(s) in backup set input datafile file number=00011 name=/u01/app/oracle/oradata/mofit/JDSOFTGK01.ORA input datafile file number=00014 name=/u01/app/oracle/oradata/mofit/users03.dbf input datafile file number=00008 name=/u01/app/oracle/oradata/mofit/JDSOFT04.ORA input datafile file number=00002 name=/u01/app/oracle/oradata/mofit/sysaux01.dbf channel ch00: starting piece 1 at 25-NOV-17 channel ch01: starting incremental level 0 datafile backup set channel ch01: specifying datafile(s) in backup set input datafile file number=00013 name=/u01/app/oracle/oradata/mofit/users02.dbf input datafile file number=00010 name=/u01/app/oracle/oradata/mofit/JDSOFTGK.ORA input datafile file number=00001 name=/u01/app/oracle/oradata/mofit/system01.dbf input datafile file number=00006 name=/u01/app/oracle/oradata/mofit/JDSOFT02.ORA input datafile file number=00005 name=/u01/app/oracle/oradata/mofit/JDSOFT01.ORA channel ch01: starting piece 1 at 25-NOV-17 RMAN-03009: failure of backup command on ch00 channel at 11/25/2017 18:07:24 ORA-27192: skgfcls: sbtclose2 returned error - failed to close file ORA-19511: Error received from media manager layer, error text: Failed to process backup file &lt;bk_1335_1_961004828&gt; ORA-19502: write error on file &quot;bk_1335_1_961004828&quot;, block number 11393 (block size=8192) ORA-27030: skgfwrt: sbtwrite2 returned error ORA-19511: Error received from media manager layer, error text: VxBSASendData: Failed with error: channel ch00 disabled, job failed on it will be run on another channel released channel: ch00 released channel: ch01 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of backup command on ch01 channel at 11/25/2017 18:24:19 ORA-27192: skgfcls: sbtclose2 returned error - failed to close file ORA-19511: Error received from media manager layer, error text: Failed to process backup file &lt;bk_1336_1_961004828&gt; ORA-19502: write error on file &quot;bk_1336_1_961004828&quot;, block number 4673 (block size=8192) ORA-27030: skgfwrt: sbtwrite2 returned error ORA-19511: Error received from media manager layer, error text: VxBSASendData: Failed with error: RMAN&gt; RMAN&gt; Recovery Manager complete. Script /usr/openv/netbackup/scripts/gk_bk.sh ==== ended in error on 2017年 11月 25日 星期六 18:24:19 CST ====
    2017-11-27
updater_aixupdater_aix  存储工程师 , CGN
1.数据库平台是多少?DB2?2.操作系统平台是多少?AIX?3.如果是以前创建的策略,以前都执行正常,今天偶然报错,要考虑是否修改了DB2用户的密码;4.如果是新创建的策略,建议首先使用DB2用户登录操作系统,手动执行备份脚本,查看是否执行成功;5.另外,对于新创建的策略,要考虑到备份脚本是否有执...显示全部

1.数据库平台是多少?DB2?
2.操作系统平台是多少?AIX?
3.如果是以前创建的策略,以前都执行正常,今天偶然报错,要考虑是否修改了DB2用户的密码;
4.如果是新创建的策略,建议首先使用DB2用户登录操作系统,手动执行备份脚本,查看是否执行成功;
5.另外,对于新创建的策略,要考虑到备份脚本是否有执行权限。

收起
能源采矿 · 2017-11-24
浏览4710
lp0618 邀答
  • 数据库是oracle11.02,操作系统是reht6.8,手动执行备份脚本,没有任何输出,应该是脚本有问题,权限方面我设置的是777.
    2017-11-24
  • 1.RMAN脚本中使用的SYS用户? 2.这是老策略,还是新策略?
    2017-11-24
  • sys用户,备份脚本已贴出,烦请查看
    2017-11-27
baizhaoxianbaizhaoxian  容灾备份管理工程师 , 无
1,检查备份日志及数据库脚本日志;2.检查数据库脚本是否正确,排除性脚本权限问题。显示全部

1,检查备份日志及数据库脚本日志;
2.检查数据库脚本是否正确,排除性脚本权限问题。

收起
互联网服务 · 2017-11-24
浏览4515
lp0618 邀答
liuziyi0123liuziyi0123  系统工程师 , 中移系统集成有限公司
手工先执行下脚本,排除下脚本问题显示全部

手工先执行下脚本,排除下脚本问题

收起
系统集成 · 2017-11-24
浏览4564

提问者

lp0618
系统工程师山西中天云泰有限公司
擅长领域: 存储服务器数据安全

问题状态

  • 发布时间:2017-11-24
  • 关注会员:5 人
  • 问题浏览:6838
  • 最近回答:2017-11-25
  • X社区推广