How to create physical standby database with 11g RMAN DUPLICATE FROM ACTIVE DATABASE [ID 747250.1]




 

Modified 15-FEB-2011     Type HOWTO     Status PUBLISHED

 

In this Document
  ​​​Goal​​​  ​​Solution​




Applies to:


Oracle Server - Enterprise Edition - Version: 11.1.0.6 to 11.1.0.7 - Release: 11.1 to 11.1
Information in this document applies to any platform.
***Checked for relevance on 15-Feb-2011***


Goal


This note outlines the required steps to create a physical standby database using 11g RMAN DUPLICATE FROM ACTIVE DATABASE. The script is taken from Data Guard labs based on the 11g OBEs available from OTN.


Solution


Install Oracle on standby system.

Update tnsname.ora on primary & standby systems. In this example, Chicago is Primary and Boston is Standby.

tnsnames.ora (on both systems)

BOSTON = 
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcarpent.us.oracle.com)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = Boston.us.oracle.com))
)

CHICAGO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = stadu67.us.oracle.com)(PORT = 1521))
)
(CONNECT_DATA = (SERVICE_NAME = Chicago.us.oracle.com))
) Also, insert a static entry for Boston in the listener.ora file of the standby system.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Boston.us.oracle.com)
(ORACLE_HOME = /scratch/OracleHomes/OraHome111)
(SID_NAME = Boston)
)
)

LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lcarpent.us.oracle.com)(PORT = 1521))
) Then execute the following script on standby, assuming ASM is setup with +DATA and +FLASH disk groups:
​​source ./makeBoston ​​​
​​# Create temporary password file, must have same password as primary ​​​​orapwd file=/scratch/OracleHomes/OraHome111/dbs/orapwBoston password=oracle ​​
​​# Create temporary parameter file ​​​​cat > /scratch/OracleHomes/OraHome111/dbs/tempini.ora <​​​​db_name=temp ​​​​EOF ​​
​​# Start up the auxiliary instance nomount ​​​​sqlplus '/ as sysdba' <​​​​SET ECHO ON ​​​​STARTUP PFILE='/scratch/OracleHomes/OraHome111/dbs/tempini.ora' NOMOUNT; ​​​​EOF ​​
​​rman <​​​​set echo on ​​​​connect target sys/oracle@chicago; # Primary ​​​​connect auxiliary sys/oracle@boston; # Standby: tnsname used by primary ​​
​​run { ​​​​allocate channel prmy1 type disk; ​​​​allocate channel prmy2 type disk; ​​​​allocate channel prmy3 type disk; ​​​​allocate channel prmy4 type disk; ​​​​allocate channel prmy5 type disk; ​​​​allocate auxiliary channel stby1 type disk; ​​
​​duplicate target database for standby from active database ​​​​spfile ​​​​parameter_value_convert 'Chicago','Boston' ​​​​set 'db_unique_name'='Boston' ​​​​set standby_file_management='AUTO' ​​​​set db_create_file_dest='+DATA' ​​​​set db_recovery_file_dest='+FLASH' ​​​​set DB_RECOVERY_FILE_DEST_SIZE='8G' ​​​​set dg_broker_start='TRUE' ​​​​set control_files='+DATA/boston/controlfile/control01.ctl' ​​​​nofilenamecheck ​​​​; ​​​​} ​​
​​EOF ​​​​exit 0​​