Full Database backup using Netbackup

Full Database Backup Using NetBackup

BACKGROUND

This page provides an editable script that can be used to take a HOT backup to tape of the database using NetBackup.

ASSUMPTIONS & PRE-REQUISITES

  • The script assumes and expects the following:
    • The database has been configured to run in ARCHIVELOG mode;
    • The tape backup suite being used is NetBackup;
    • The $ORACLE_HOME/bin/libobk.so file has been configured to point to the NetBackup library;
    • The NetBackup policy has been configured to accept backup calls from the server hosting the database;
    • The control files are used to maintain the RMAN catalogue.

EXAMPLE SCRIPT


#!/bin/ksh
#
# Title :       database_backup_nbu.ksh
# Description : Backs up the database to tape via the NetBackup API.
#
# Copyright :   ABCdba.com 2010
#

export ORACLE_SID=<sid name>
export ORACLE_HOME=<full pathname to ORACLE_HOME>
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_DATE_FORMAT="DD-MON-YYYY:HH24:MI:SS"
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export DATE=`date '+%d%m%y_%H%M%S'`
export LOG=<full pathname to backup log directory>
export LOGFILE=${LOG}/rman_${ORACLE_SID}_tape_backup_db_${DATE}.log
$ORACLE_HOME/bin/rman log=$LOGFILE <<eof

connect target /;

run {
allocate channel ch1 type  'sbt_tape'  parms="ENV=(NB_ORA_CLASS=<NetBackup policy name>)" ;
allocate channel ch2 type  'sbt_tape'  parms="ENV=(NB_ORA_CLASS=<NetBackup policy name>)" ;
allocate channel ch3 type  'sbt_tape'  parms="ENV=(NB_ORA_CLASS=<NetBackup policy name>)" ;
allocate channel ch4 type  'sbt_tape'  parms="ENV=(NB_ORA_CLASS=<NetBackup policy name>)" ;
backup incremental level 0 filesperset 5 database format 'rman_${ORACLE_SID}_${DATE}_%U_%t' plus archivelog;
backup current controlfile format 'rman_${ORACLE_SID}_cntlfile_${DATE}.cf' ;
release channel ch1;
release channel ch2;
release channel ch3;
release channel ch4;
}

eof
exit

No comments: