NBU+Oracle+AIX安装配置手册 - 副本 下载本文

# ---------------------------------------------------------------------------

# 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=\

# BACKUP_TYPE=\#

# 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 [ \then

echo \ BACKUP_TYPE=\

elif [ \then

echo \ BACKUP_TYPE=\

elif [ \then

echo \

BACKUP_TYPE=\

elif [ \then

echo \ BACKUP_TYPE=\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 # 'rcvcat /@' 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 TNS ALIAS: When connecting to a database

# using a TNS alias, 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_HOME export ORACLE_HOME ORACLE_SID=$ORACLE_SID export ORACLE_SID

$RMAN target / nocatalog msglog $RMAN_LOG_FILE append << EOF RUN {

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'; SEND 'NB_ORA_POLICY=aix_ora_full'; BACKUP

$BACKUP_TYPE SKIP INACCESSIBLE TAG hot_db_bk_level0 FILESPERSET 30

# recommended format FORMAT 'bk_%s_%p_%t' DATABASE;

sql 'alter system archive log current'; RELEASE CHANNEL ch00; # backup all archive logs

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'; SEND 'NB_ORA_POLICY=aix_ora_full'; BACKUP

filesperset 20

FORMAT 'al_%s_%p_%t'

ARCHIVELOG ALL DELETE INPUT; RELEASE CHANNEL ch00; #

# 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 \# Too 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. #

ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE'; BACKUP

# recommended format FORMAT 'cntrl_%s_%p_%t' CURRENT CONTROLFILE; RELEASE CHANNEL ch00;

ALLOCATE CHANNEL ch00 TYPE DISK ; COPY

CURRENT CONTROLFILE to '/usr/openv/controlfile/control.ora'; RELEASE CHANNEL ch00; } EOF \

# Initiate the command string

if [ \then

su - $ORACLE_USER -c \ RSTAT=$? else

/usr/bin/sh -c \ RSTAT=$? fi

# --------------------------------------------------------------------------- # Log the completion of this script.

# ---------------------------------------------------------------------------

if [ \then

LOGMSG=\

/usr/openv/netbackup/bin/bpbackup -p oracle_control_file -s /usr/openv/controlfile/control.ora else

user -t 0