Performance Tuning Options

Introduction

By default Dbvisit Standby is performing secure network transfers including the use of multiple checksum steps to ensure files are transferred successfully and securely between the primary and standby servers.

This section will mention a few options available to you that might be able to assist you to improve performance in your environment.

 

General Settings

Disable additional CHECKSUM

By default Dbvisit Standby will perform a checksum of files before they are transferred followed by running a checksum on the file on the destination following a transfer.  

This checksum process does take additional time and in most cases are not required.

Disable the checksum process by setting the following parameter in the Dbvisit Standby configuration file (DDC file):

 

COMPARE_CHECKSUM = N

The default value for this parameter is "Y" for yes.

 

Disable RUN_INSPECT (Silent Log Gap Report)

By default with every run of Dbvisit Standby, a "Silent" Log Gap Report is executed.  This step will review the status of the standby database, gather information about the Apply and Transfer gap between the primary and standby database and updates the internal Dbvisit Standby repository with this information.

This information is then used for reporting options such as the graphs on the "Reporting" page of the Web Based interface.

This option can be disabled and a Log Gap report can be scheduled to run on a daily basis instead or as required.

By disabling this option the process for sending archive logs to the standby server can be reduced as the first part of this process is performing this silent log gap report.  

To disable this "Silent Log Gap Report" set the following parameter in the Dbvisit Standby configuration file (DDC file):

RUN_INSPECT=N

The default value for this parameter is "Y" for yes.  

 

 

Disable Network Encryption

In most cases network encryption is not required.  Dbvisit Standby however is using 128Bit encryption by default for network communication.

If your database environments are located in a secure network, disabling Dbvisit Standby network encryption can assist in performance of data throughput.

To disable network encryption set the following parameter in the Dbvisit Standby configuration file (DDC file):

DBVNET_ENCRYPT = N

The default value for this parameter is "Y" for yes.

 

Disable Network Compression

Using network compression is not recommended as this will require additional CPU resource.  By default network compression is disabled, and should only be enabled if you have an extremely low bandwidth network.

It is recommended to rather make use of the COMPRESS and UNCOMPRESS options available in the Dbvisit Standby configuration.

To ensure network compression is disabled, set the following parameter in the Dbvisit Standby Configuration file (DDC File)

DBVNET_COMPRESS = N

The default value for this parameter is "N" for N - compression disabled.

 

 

Advanced Options - Linux Only

Using some of the options listed in this section does require system administrator permission and is specific to Unix (Linux) environments.

These settings should be treated with caution and should always be tested before implementing in production.

 

When using ASM, enable ARCHTMP to use fast storage

When using Oracle ASM environments Dbvisit Standby has to extract the Archive logs from ASM to a temporary location.  The default location is ARCHDEST, but if ARCHTMP is specified it will be used.

It is recommended that this location be located on fast storage.  

 

If your system has sufficient memory capacity you have the option to create a TMPFS (http://en.wikipedia.org/wiki/Tmpfs) and use this for Dbvisit Standby as interim ARCHTMP location.

 

Example have a "tmpfs" called /tmp/dbvisit on both the primary (All RAC nodes if RAC is used) and standby servers and specify the ARCHTMP=/tmp/dbvisit in the Dbvisit Standby DDC file.

 

Example steps that can be followed:

The steps below should be followed on all primary nodes as well as standby server.

Step 1: Create temp location (using root permission for step 1-3 below)

mkdir /tmp/dbvisit

 

Step 2:  Create entry in /etc/fstab as the root user.  Note that this example is specifying a size limit for this location of 2G.  (This line might be different for your Unix distribution and might need adjustments) 

## Add this line below to end of the /etc/fstab
 
tmpfs                   /tmp/dbvisit                tmpfs   defaults,size=2G        0 0

 

Step 3:  Mount the new temp location (requires root permission) and review

mount /tmp/dbvisit
 
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 9.6G 6.0G 3.7G 63% /
/dev/xvda1 99M 22M 73M 23% /boot
tmpfs 1.2G 200M 1.1G 17% /dev/shm
/dev/xvdb1 30G 12G 17G 42% /u01
tmpfs 1.0G 202M 823M 20% /tmp
tmpfs 2.0G 0 2.0G 0% /tmp/dbvisit

 

Step 4:  Update the Dbvisit Standby Configuration file

In this example the primary database is using ASM and is called "prod".  The Dbvisit Standby Configuration file is called "dbv_prod.env" and is located in '/usr/dbvisit/standby/conf' directory where the DBVISIT_BASE location is '/usr/dbvisit'

Make this change on the primary server DDC file.  It will be transferred (replicated) to the standby server on the next run.

## Update the ARCHTMP parameter
 
ARCHTMP=/tmp/dbvisit

 

Note that in this DDC file the following Linux recommended COMPRESS and UNCOMPRESS parameters are set:

COMPRESS = /bin/gzip
UNCOMPRESS = /bin/gunzip

 

Step 5:  Run Dbvisit As normal (Example below)

oracle@dbvlin503[/usr/dbvisit/standby]: ./dbvisit prod
=============================================================
Dbvisit Standby Database Technology (7.0.04.11827) (pid 27670)
dbvisit started on dbvlin503: Thu Feb 13 16:29:52 2014 ()
=============================================================


>>> Sending heartbeat message... - done.


>>> Checking Dbvisit Standby for configurational differences between dbvlin503 and
    dbvlin504...
    Dbvisit Standby configurational differences found between dbvlin503 and dbvlin504...


  > Transferring 'dbv_prod.env' to server dbvlin504:7890
    Progress: 0%...20%...40%...60%...80%...100% [9964 KB/s] - done.


>>> Log file(s) for prod will be transferred from dbvlin503 to dbvlin504...

  > Transferring 'thread_1_seq_3866.2194.839210389.gz' to server dbvlin504:7890
    Progress: 0%...20%...40%...60%...80%...100% [9131 KB/s] - done.
  > Transferring 'thread_1_seq_3867.2251.839241251.gz' to server dbvlin504:7890
    Progress: 0%...20%...40%...60%...80%...100% [9983 KB/s] - done.
  > Transferring 'thread_1_seq_3868.2250.839250237.gz' to server dbvlin504:7890
    Progress: 0%...20%...40%...60%...80%...100% [9719 KB/s] - done.
  > Transferring 'thread_1_seq_3869.2249.839427579.gz' to server dbvlin504:7890
    Progress: 0%...20%...40%...60%...80%...100% [9275 KB/s] - done.

    4 archive log transfers to dbvlin504 for prod completed.
    Last sequence was 3869.
    No Mail sent as SEND_MAIL_FLAG = N


>>> 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/prod/archivelog/2014_02_13) = 27%
    Number of archive logs deleted = 1
=============================================================
dbvisit ended on dbvlin503: Thu Feb 13 16:31:16 2014
=============================================================

 

Step 6.  You can use the "watch" Linux utility to monitor the temp directory while Dbvisit Standby is running, and you will see how the files are created and removed (Remember this is a temporary location)

 

watch ls -l /tmp/dbvisit

 

Example output below where above session is showing the Dbvisit Run and the screen below it shows the "watch ls -l /tmp/dbvisit" location: