Sending and Applying logs in RAC Environments
This section will cover additional notes and information specific to using Dbvisit Standby in an Oracle RAC environment.
Introduction
Dbvisit Standby will be installed on all the servers in an Oracle RAC configuration. For example if you are using a four node cluster, you need to install Dbvisit Standby on all four nodes as well as on the Standby server(s).
So, there will a separate DDC file per RAC node.
For Oracle RAC Configurations please also see - Configure Oracle RAC Primary with Oracle RAC Standby
Important
DDC files should be created on the primary nodes - this is where the master copy of the DDC files are located and maintained.
A copy of the DDC file will be transferred and maintained on the standby server by Dbvisit Standby.
You should not manually create or modify the DDC file on the standby server.
All DDC creation and changes should be made from the primary servers.
Sending Archive Logs to the Standby
Executing (run) the default Dbvisit Standby commands from the command line can be done by running the following:
./dbvisit <DDC>
This command is the same for Sending and Applying logs. Dbvisit Standby will know what operation to perform depending on which environment is it executed from.
Below is the example, showing the sending and the applying of logs on RAC Environment. In this example the database is called “TSTRAC” with 2 RAC nodes:
- RAC Node1: TSTRAC1
DDC file: dbv_TSTRAC1.env - RAC Node2: TSTRAC2
DDC file: dbv_TSTRAC2.env
The example below show how to execute Dbvisit Standby on the Primary RAC nodes from where logs are shipped to the standby server.
On Node1:
oracle@dbvrlin301[/usr/dbvisit/standby]: ./dbvisit TSTRAC1 ============================================================= Dbvisit Standby Database Technology (7.0.12.11992) (pid 3751) dbvisit started on dbvrlin301: Tue Apr 29 11:45:15 2014 () ============================================================= >>> Obtaining information from standby database (RUN_INSPECT=Y)... >>> Checking Dbvisit Standby for configurational differences between dbvrlin301 and dbvrlin305... No configurational differences found between dbvrlin301 and dbvrlin305. >>> Log file(s) for TSTRAC1 will be transferred from dbvrlin301 to dbvrlin305... > Transferring 'thread_1_seq_702.821.846157503.gz' to server dbvrlin305:7890 Progress: 0%...20%...40%...60%...80%...100% [9474 KB/s] - done. > Transferring 'thread_1_seq_703.822.846157507.gz' to server dbvrlin305:7890 Progress: 0%...20%...40%...60%...80%...100% [1731 KB/s] - done. > Transferring 'thread_1_seq_704.818.846157509.gz' to server dbvrlin305:7890 Progress: 0%...20%...40%...60%...80%...100% [459 KB/s] - done. 3 archive log transfers to dbvrlin305 for TSTRAC1 completed. Last sequence was 706 thread 1. >>> Dbvisit Archive Management Module (AMM) Config: number of archives to keep = 0 Config: number of days to keep archives = 7 Config: archive backup count = 0 Config: diskspace full threshold = 80% Current disk percent full (+FRA/tstrac/archivelog/2014_04_29) = 74% Number of archive logs deleted = 5 ============================================================= dbvisit ended on dbvrlin301: Tue Apr 29 11:45:55 2014 =============================================================
Similarly, On Node2:
oracle@dbvrlin302[/usr/dbvisit/standby]: ./dbvisit TSTRAC2 ============================================================= Dbvisit Standby Database Technology (7.0.12.11992) (pid 26204) dbvisit started on dbvrlin302: Tue Apr 29 12:25:47 2014 () ============================================================= >>> Obtaining information from standby database (RUN_INSPECT=Y)... >>> Checking Dbvisit Standby for configurational differences between dbvrlin302 and dbvrlin305... No configurational differences found between dbvrlin302 and dbvrlin305. >>> Log file(s) for TSTRAC2 will be transferred from dbvrlin302 to dbvrlin305... > Transferring 'thread_2_seq_537.819.846159521.gz' to server dbvrlin305:7890 Progress: 0%...20%...40%...60%...80%...100% [14068 KB/s] - done. > Transferring 'thread_2_seq_538.822.846159939.gz' to server dbvrlin305:7890 Progress: 0%...20%...40%...60%...80%...100% [14789 KB/s] - done. > Transferring 'thread_2_seq_539.821.846159943.gz' to server dbvrlin305:7890 Progress: 0%...20%...40%...60%...80%...100% [2171 KB/s] - done. > Transferring 'thread_2_seq_540.825.846159943.gz' to server dbvrlin305:7890 Progress: 0%...20%...40%...60%...80%...100% [898 KB/s] - done. 4 archive log transfers to dbvrlin305 for TSTRAC2 completed. Last sequence was 540 thread 2. >>> Dbvisit Archive Management Module (AMM) Config: number of archives to keep = 0 Config: number of days to keep archives = 7 Config: archive backup count = 0 Config: diskspace full threshold = 80% Current disk percent full (+FRA/tstrac/archivelog/2014_04_29) = 63% Number of archive logs deleted = 4 ============================================================= dbvisit ended on dbvrlin302: Tue Apr 29 12:26:29 2014 =============================================================
Important
All Archive logs generated on RAC database must be shipped (copied) to the standby database server (archive logs from all threads are needed for recovery).
Dbvisit Standby is making use of a directory referred to as the ARCHDEST. This location is specific to Dbvisit Standby and is not - and should not, be seen as the same as the Oracle Database Archive destinations. When using Oracle RAC environments and Dbvisit Standby, you need to make sure you create the Dbvisit ARCHDEST directory on ALL the nodes as well as the standby server. This directory should be exactly the same on all nodes.
ARCHDEST is the directory for (archive) log files on standby server, where it is not used to storage archive logs on the primary server, but it is used as a "temporary" location to move archive logs to while they are copied out of the ASM storage. For more detail please see ARCHDEST and ARCHTMP in the section discussing the Dbvisit Standby DDC configuration variables.
It is important that Dbvisit Standby be executed from all the primary RAC nodes to ensure all archive logs from all the threads are copied to the standby server.
Applying Archive Logs for RAC Environment on the Standby
When running/executing Dbvisit Standby on the standby server to apply the logs, the command used is the same as what you will be using to ship the logs to the standby (when running Dbvisit Standby on the primary nodes). One key difference on the apply side is that you only have to execute the Dbvisit Standby command for one of the DDC files. It will start the recovery process and it will take all the archive logs from all the threads into account (taking all logs shipped from all primary nodes into account).
In this example you can run either one of these commands (no need to run both):
./dbvisit TSTRAC1
OR
./dbvisit TSTRAC2
Example, when executing Dbvisit Standby on the Standby server (in this case a single instance standby server):
oracle@dbvrlin305[/usr/dbvisit/standby]: ./dbvisit TSTRAC2 ============================================================= Dbvisit Standby Database Technology (7.0.12.11992) (pid 22586) dbvisit started on dbvrlin305: Wed Apr 30 01:15:32 2014 () ============================================================= >>> Log file(s) for TSTRAC from dbvrlin302 will be applied to dbvrlin305 201404300115 - Log seq 537 thread 2 applied to standby database TSTRAC. 201404300115 - Log seq 701 thread 1 applied to standby database TSTRAC. 201404300115 - Log seq 702 thread 1 applied to standby database TSTRAC. 201404300115 - Log seq 537 thread 2 applied to standby database TSTRAC. 201404300115 - Log seq 703 thread 1 applied to standby database TSTRAC. 201404300115 - Log seq 537 thread 2 applied to standby database TSTRAC. 201404300115 - Log seq 704 thread 1 applied to standby database TSTRAC. 201404300115 - Log seq 537 thread 2 applied to standby database TSTRAC. 201404300115 - Log seq 705 thread 1 applied to standby database TSTRAC. 201404300115 - Log seq 537 thread 2 applied to standby database TSTRAC. 201404300115 - Log seq 706 thread 1 applied to standby database TSTRAC. 201404300115 - Log seq 537 thread 2 applied to standby database TSTRAC. >>> Dbvisit Archive Management Module (AMM) Config: number of archives to keep = 0 Config: number of days to keep archives = 7 Config: diskspace full threshold = 80% Processing /u01/app/oracle/dbvisit_archive/TSTRAC... Archive log dir: /u01/app/oracle/dbvisit_archive/TSTRAC Total number of archive files : 36 Number of archive logs deleted = 0 Current Disk percent full : 38% ============================================================= dbvisit ended on dbvrlin305: Wed Apr 30 01:15:48 2014 =============================================================