Oracle Policy For NBU,policynbu

來源:互聯網
上載者:User

Oracle Policy For NBU,policynbu
Theory:NBU use a automatic script to connect RMAN and backup database
 
Steps:
First,make a automatic script.
Second,build a oracle policy
 
First:
Make a automatic script.NBU has provide some scripts on it's client directory
You can find it in /usr/openv/netbackup/ext/db_ext/oracle/samples/rman/
 
I choose a hot backup way to do this test:hot_database_backup.sh
 

You should change some variable which is be marked.


[root@nbuserver rman]# cat hot_database_backup.sh#!/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_FILEchmod 666 $RMAN_LOG_FILE# —————————————————————————# Log the start of this script.# —————————————————————————echo Script $0 >> $RMAN_LOG_FILEecho ==== started on `date` ==== >> $RMAN_LOG_FILEecho >> $RMAN_LOG_FILE# —————————————————————————# Replace /db/oracle/product/ora102, below, with the Oracle home path.# —————————————————————————ORACLE_HOME=/db/oracle/product/ora102export ORACLE_HOME# —————————————————————————# Replace ora102, below, with the Oracle SID of the target database.# —————————————————————————ORACLE_SID=ora102export ORACLE_SID# —————————————————————————# Replace ora102, below, with the Oracle DBA user id (account).# —————————————————————————ORACLE_USER=ora102# —————————————————————————# Set the target connect string.# Replace "sys/manager", below, with the target connect string.# —————————————————————————TARGET_CONNECT_STR=sys/manager# —————————————————————————# 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_FILEecho   "RMAN: $RMAN" >> $RMAN_LOG_FILEecho   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILEecho   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILEecho   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE# —————————————————————————# Print out the value of the variables set by bphdb.# —————————————————————————echo  >> $RMAN_LOG_FILEecho   "NB_ORA_FULL: $NB_ORA_FULL" >> $RMAN_LOG_FILEecho   "NB_ORA_INCR: $NB_ORA_INCR" >> $RMAN_LOG_FILEecho   "NB_ORA_CINC: $NB_ORA_CINC" >> $RMAN_LOG_FILEecho   "NB_ORA_SERV: $NB_ORA_SERV" >> $RMAN_LOG_FILEecho   "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# —————————————————————————# Call Recovery Manager to initiate the backup. This example does not use a# Recovery Catalog. If you choose to use one, replace the option 'nocatalog'# from the rman command line below with the# 'catalog <userid>/<passwd>@<net service name>' statement.## Note: Any environment variables needed at run time by RMAN#       must be set and exported within the switch user (su) command.# —————————————————————————#  Backs up the whole database.  This backup is part of the incremental#  strategy (this means it can have incremental backups of levels > 0#  applied to it).##  We do not need to explicitly request the control file to be included#  in this backup, as it is automatically included each time file 1 of#  the system tablespace is backed up (the inference: as it is a whole#  database backup, file 1 of the system tablespace will be backed up,#  hence the controlfile will also be included automatically).##  Typically, a level 0 backup would be done at least once a week.##  The scenario assumes:#     o you are backing your database up to two tape drives#     o you want each backup set to include a maximum of 5 files#     o you wish to include offline datafiles, and read-only tablespaces,#       in the backup#     o you want the backup to continue if any files are inaccessible.#     o you are not using a Recovery Catalog#     o you are explicitly backing up the control file.  Since you are#       specifying nocatalog, the controlfile backup that occurs#       automatically as the result of backing up the system file is#       not sufficient; it will not contain records for the backup that#       is currently in progress.#     o you want to archive the current log, back up all the#       archive logs using two channels, putting a maximum of 20 logs#       in a backup set, and deleting them once the backup is complete.##  Note that the format string is constructed to guarantee uniqueness and#  to enhance NetBackup for Oracle backup and restore performance.###  NOTE WHEN USING NET SERVICE NAME: When connecting to a database#  using a net service name, you must use a send command or a parms operand to#  specify environment variables.  In other words, when accessing a database#  through a listener, the environment variables set at the system level are not#  visible when RMAN is running.  For more information on the environment#  variables, please refer to the NetBackup for Oracle Admin. Guide.## —————————————————————————CMD_STR="ORACLE_HOME=$ORACLE_HOMEexport ORACLE_HOMEORACLE_SID=$ORACLE_SIDexport ORACLE_SID$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOFRUN {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 logsALLOCATE 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 stringif [ "$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"fiecho >> $RMAN_LOG_FILEecho Script $0 >> $RMAN_LOG_FILEecho ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILEecho >> $RMAN_LOG_FILEexit $RSTAT

Ok ,after change this value.we can put it anywhere.but you had better remember it's path
 
Second:
We should build a Oracle policy
On the Netbackup Administration Console:
click policies>new policy  you should give a name
on this panel.choose oracle policy type.and choose your storage.then new a schedules.I choose Automatic full backup
and then new a client.
The last and important.In the Backup  Selections.you should add a path which direct to the scirpt.
 
ok.let's do a test.
click policy name.choose manual backup.you can go Activity Monitor to monitor your job.

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.