Master in Data Analyst | Join Free Webinar on 15 Sep 2025 at 7 PM IST | Register for Free Demo

Step-by-Step Guide: Configure Transparent Application Continuity (TAC) in Oracle RAC

Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
Breadcrumb Abstract Shape
  • User AvatarPradip
  • 25 Jul, 2025
  • 0 Comments
  • 2 Mins Read

Step-by-Step Guide: Configure Transparent Application Continuity (TAC) in Oracle RAC

Oracle’s Transparent Application Continuity (TAC) is a powerful feature that enhances high availability by automatically recovering failed database sessions without requiring application changes. In an Oracle RAC environment, TAC ensures uninterrupted transactions even during node failures.

This guide walks you through configuring TAC in an Oracle RAC environment with a Container Database (CDB) and Pluggable Database (PDB).

Environment Overview 

– DB Name: prim
– CDB with PDB: pdbprim
– Nodes: prim1, prim2
– Service Name: fg_tac.learnomate.org
– SCAN Host: node-scan
– User: pdbuser
– Table for Demo: test_table
 

1. Create the TAC-Enabled Service 

Run the following as the grid user: 

srvctl add service -db prim \ 
  -service fg_tac.learnomate.org \ 
  -pdb pdbprim \ 
  -preferred prim1 \ 
  -available prim2 \ 
  -failovertype TRANSACTION \ 
  -failovermethod BASIC \ 
  -commit_outcome TRUE \ 
  -replay_init_time 1800 \ 
  -retention 86400 \ 
  -notification TRUE \ 
  -tafpolicy BASIC 
 

2. Verify the Service Configuration 

 
srvctl config service -db prim -service fg_tac.learnomate.org 
 

3. Start the Service 

 
srvctl start service -db prim -service fg_tac.learnomate.org 
 

4. Create TNS Entry (on Client Side) 

In tnsnames.ora: 

 
FG_TAC = 
  (DESCRIPTION = 
    (FAILOVER=ON) 
    (LOAD_BALANCE=ON) 
    (ADDRESS = (PROTOCOL = TCP)(HOST = node-scan)(PORT = 1521))     
    (CONNECT_DATA = 
      (SERVICE_NAME = fg_tac.learnomate.org) 
      (FAILOVER_MODE = 
        (TYPE = SELECT) 
        (METHOD = BASIC) 
        (RETRIES = 180) 
        (DELAY = 5) 
      ) 
    ) 
  ) 
 

5. Simulate a Client Transaction 

Login to the PDB as application user (pdbuser): 

sqlplus pdbuser/password@FG_TAC 
 
-- Run DML 
INSERT INTO test_table VALUES (1, 'Oracle TAC Demo'); 
 
-- DO NOT commit 
SELECT * FROM test_table; 
 

6. Simulate Node Failure 

Assuming prim1 is the current host: 

 
srvctl stop instance -db prim -instance prim1 -force 
 

7. Observe TAC Behavior 

– Your SQL session will not get disconnected.
– DML operation will be replayed on prim2.
– No ORA-3113 or ORA-25408 errors.
– You can commit now:
 

COMMIT; 

8. Verify Transparent Application Continuity 

Run this on the new node: 

 SELECT FAILOVER_TYPE, FAILOVER_METHOD, SESSION_STATE 
FROM V$SESSION 
WHERE SERVICE_NAME = 'fg_tac.learnomate.org'; 
 

Expected Output:

FAILOVER_TYPE FAILOVER_METHOD SESSION_STATE
TRANSACTION BASIC REPLAYING

Important Notes 

– Application doesn’t require code changes but must use Oracle-supported drivers like JDBC, ODP.NET, Oracle Call Interface, etc.
– Replay buffers the session to memory; long idle sessions may not be eligible.
– Works best when the app uses services with TAC setup, not just SYSDBA logins.

Final Thoughts

Transparent Application Continuity (TAC) is a powerful feature for increasing uptime and user satisfaction. Whether it’s a planned maintenance or an unplanned outage, TAC ensures that your application doesn’t feel the impact.

If you want to learn more or practice this in a live environment, check out Learnomate Technologies for labs, videos, and expert guidance!

For better insights, don’t forget to visit our YouTube channelwww.youtube.com/@learnomateWant to explore more about different technologies? Check out our blog section: https://learnomate.org/blogs/Explore our website to know more about our courses and trainingwww.learnomate.orgConnect with me personally on LinkedInAnkush Thavali