Active Dataguard Database Using RMAN DUPLICATE
Active Dataguard Database Using RMAN DUPLICATE
RMAN DUPLICATE
Requirements:
1) Two machines with Redhat Linux 6 OS.
2) Oracle 12c Database software.
3) Primary Database name OCPPR & IP ADDRESS IS 192.168.1.10
4) Standby Database name OCPDR & IP ADDRESS IS 192.168.1.20
Note: – we are going to configure Oracle Dataguard on 12c Container Database, On Primary
machine install Oracle software with one database configuration & on Standby machine install
only Oracle 12c software without any Database.
DB_NAME will same on both nodes, but DB_UNIQUE_NAME must be different.
LOG_MODE
------------
NOARCHIVELOG
Step-4. Now create standby redo logs for switchovers and should be add one extra.
Step-8. Now configure listener for your Primary Database using NETMGR command & make
TNS service on both side (Primary & Standby).
Next Next
Set Hostname as your machine name or IP Address then next next finesh.
Repeat same step for standby service on both side.
$lsnrctl stop
$lsnrctl start
Step-12. Now update the fal_client & fal_server parameter using following commands.
SQL> alter system set fal_server='OCPDR';
After all that configuration your Primary pfile lock lick this.
ocppr.__data_transfer_cache_size=0
ocppr.__db_cache_size=620756992
ocppr.__java_pool_size=16777216
ocppr.__large_pool_size=33554432
ocppr.__pga_aggregate_target=637534208
ocppr.__sga_target=956301312
ocppr.__shared_io_pool_size=50331648
ocppr.__shared_pool_size=218103808
ocppr.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ocppr/adump'
*.audit_trail='db'
*.compatible='12.1.0.0.0'
*.control_files='/u01/app/oracle/oradata/ocppr/control01.ctl','/u01/app/oracle/fast_recovery_area/ocppr/
control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='ocppr'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4800m
*.fal_client='OCPPR'
*.fal_server='OCPDR'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ocpprXDB)'
*.local_listener='LISTENER_OCPPR'
*.log_archive_config='dg_config=(ocppr,ocpdr)'
*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST
valid_for=(all_logfiles,all_roles) db_unique_name=ocppr'
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
Now we have done primary server tasks then move pfile & password file from PRIMARY
server to STANDBY server.
STANDBY configurations:-
Step-14. Make required directories on Standby like.
mkdir /u01/app/oracle/admin/ocpdr/adump
mkdir /u01/app/oracle/oradata/ocdpr/
mkdir /u01/app/oracle/fast_recovery_area/ocdpr/
Step-15. Make some changed in pfile (Add two parameters “log_file_name_convert” &
“db_file_name_convert“, after changes your standby pfile lock like this.
ocpdr.__data_transfer_cache_size=0
ocpdr.__db_cache_size=620756992
ocpdr.__java_pool_size=16777216
ocpdr.__large_pool_size=33554432
ocpdr.__pga_aggregate_target=637534208
ocpdr.__sga_target=956301312
ocpdr.__shared_io_pool_size=50331648
ocpdr.__shared_pool_size=218103808
ocpdr.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ocpdr/adump'
*.audit_trail='db'
*.compatible='12.1.0.0.0'
*.control_files='/u01/app/oracle/oradata/ocpdr/control01.ctl','/u01/app/oracle/fast_recovery_area/ocpdr/
control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='ocppr'
*.db_unique_name='ocpdr'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4800m
*.fal_client='OCPDR'
*.fal_server='OCPPR'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ocpprXDB)'
*.memory_target=1520m
*.db_file_name_convert='/u01/app/oracle/oradata/ocppr','/u01/app/oracle/oradata/ocpdr'
*.log_file_name_convert='/u01/app/oracle/oradata/ocppr/','/u01/app/oracle/oradata/ocpdr/'
*.log_archive_config='dg_config=(ocppr,ocpdr)'
*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST
valid_for=(all_logfiles,all_roles) db_unique_name=ocpdr'
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
$export ORACLE_SID=ocpdr
Step-17. Now connect with rman with target & auxiliary instance using following command.
Now run the following duplicate command, that command will start copying all database on
standby server.
Duplicate target database for standby from active database dorecover nofilenamecheck;
FOR STANDBY: confirm the DUPLICATE command is used for a standby, so it will not
force to change DBID.
FROM ACTIVE DATABASE: The DUPLICATE will be copy directly from the primary
datafiles, without any external backup.
DORECOVER: The DUPLICATE is recover the standby up to the current point in time.
NOFILENAMECHECK: On standby file locations are not checked.