build physical standby from active database – rman script

Overview

You need to prepare primary database and standby instance before continue the steps in this document.

This document assumes the primary database is in archivelog mode and enabled force logging.

Backup Primary

Here is the rman script for backing up primary

run
{
sql "alter system switch logfile";
backup database;
backup archivelog all;
backup current controlfile for standby;
}

rman target / catalog=username/passwd@${rman_db} cmdfile=${script_file} log=${log_folder}/${log_file}

Duplicate standby

run
{
ALLOCATE CHANNEL dd1 TYPE DISK;
ALLOCATE CHANNEL dd2 TYPE DISK;
ALLOCATE auxiliary CHANNEL dd3 TYPE SBT_TAPE parms='BLKSIZE=1048576,SBT_LIBRARY=${ORACLE_HOME}/lib/libddobk.so,ENV=(STORAGE_UNIT=,BACKUP_HOST=,ORACLE_HOME=)';
ALLOCATE auxiliary CHANNEL dd4 TYPE SBT_TAPE parms='BLKSIZE=1048576,SBT_LIBRARY=${ORACLE_HOME}/lib/libddobk.so,ENV=(STORAGE_UNIT=,BACKUP_HOST=,ORACLE_HOME=)';
ALLOCATE auxiliary CHANNEL dd5 TYPE SBT_TAPE parms='BLKSIZE=1048576,SBT_LIBRARY=${ORACLE_HOME}/lib/libddobk.so,ENV=(STORAGE_UNIT=,BACKUP_HOST=,ORACLE_HOME=)';
ALLOCATE auxiliary CHANNEL dd6 TYPE SBT_TAPE parms='BLKSIZE=1048576,SBT_LIBRARY=${ORACLE_HOME}/lib/libddobk.so,ENV=(STORAGE_UNIT=,BACKUP_HOST=,ORACLE_HOME=)';
duplicate target database for standby from active database nofilenamecheck dorecover;
}

rman target sys/passwd@${primary_db} auxiliary=sys/passwd@${standby_db} catalog=username/passwd@${rman_db} cmdfile=${script_file} log=${log_folder}/${log_file}