SCENARIO

Database BRANCH is running at a remote site and communicates with Database HOST and HOSTDR (Two-Node Oracle RACs) via a database link. The TNS entry was recently change to a format intended to ensure that when a Dataguard Switch is performance between HOST and HOSTDR, it would not be necessary to update the TNS entry on BRANCH (Connect Time Failover)

HOSTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP of LIVE SITE>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP of DR SITE>)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = SRVHOST)
)
)

PROBLEM

Following the change we found where was an abundance of Virtual Circuit Waits on the BRANCH database. Sessions would wait up to 30 seconds on this wait event and user experience was poor. An AWR difference report showed clearly that this problem was related to the change.

RESOLUTION

After much troubleshooting, we used the VIPs of the HOST and HOSTDR clusters respectively rather than the SCAN IPs. Virtual Circuit Waits dissappeared.

HOSTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <VIP of LIVE SITE>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <VIP of DR SITE>)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = SRVHOST)
)
)

REFERENCES

High Virtual Circuit Wait in Database (Doc ID 1225943.1)

Troubleshooting: Virtual Circuit Waits (Doc ID 1415999.1)

Leave A Comment

Your email address will not be published. Required fields are marked *