Skip to Main Content

SQL Developer

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

SQL Developer 20.2 TAF

Mikhail VelikikhDec 24 2020

Environment: 2-node RAC Database 19.9 (non-CDB).
SQL Developer: 20.2 on Windows 10 x64
The TAF service is created as follows:

srvctl add service -db orcl -service taf_svc -preferred orcl1,orcl2 -failovermethod BASIC -failovertype SELECT
srvctl start service -db orcl -service taf_svc

The test that I am doing should demonstrate a session failover.
That is what I do in SQL*Plus:

conn tc/tc@"(DESCRIPTION=(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=6)(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.example.com)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=rac2.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=taf_svc)))"

select instance_name, host_name from v$instance;

select failover_type, failover_method, failed_over from v$session where sid=sys_context('userenv', 'sid');

Then I just shut the instance down to which I am connected:

srvctl stop instance -db orcl -instance orcl1 -f

And rerun the last query:

11:41:02 TC@taf_svc/19.0.0.0> select failover_type, failover_method, failed_over from v$session where sid=sys_context('userenv', 'sid');

FAILOVER_TYPE FAILOVER_M FAI
------------- ---------- ---
SELECT        BASIC      YES

Now, when I try to do the same in SQL Developer 20.2, then I get the following window when I try to run my last query:
sqldev_20_2_reconnect.pngThe query result is this:
sqldev_20_2_failed_over_no.pngI understand that TAF is a client-side feature of OCI/Thick driver.
That is how my SQL Developer connection is configured:

<img src="https://objectstorage.us-phoenix-1.oraclecloud.com/p/BqK85Rn1zA5MP0vYiqbAdPgs7Z6OmMxw8SD3WCFVm5kY8uReidZ1KPIKkgJ1hCkG/n/axciphqpnohg/b/forums-legacy/o/uploads/47Q27EZSI4AZ/sqldev-20-2-connection.png" alt="sqldev_20_2_connection.png">jdbc:oracle:oci:@(DESCRIPTION=(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=6)(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.example.com)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=rac2.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=taf_svc)))

I use Oracle Client 19.3 for Windows. It just added to PATH such as this: PATH=D:\oracle\product\19.3.0\client_1\bin;...
I am aware of:
How to Setup SQL Developer to support Transparent Application Failover (TAF) (Doc ID 1389747.1)
and this: https://www.thatjeffsmith.com/archive/2014/01/oracle-sql-developer-4-and-the-oracle-client/
Even when I configure a client/instance client in the SQL Dev settings, I am still getting that first "Your database connection has been reset" window. V$SESSION.FAILED_OVER=NO as well.
I also tried with AddVMOption -Doracle.net.disableOob=true - it did not help.
to be continued - somehow Oracle forums is getting slow on this message.

Comments
Post Details
Added on Dec 24 2020
1 comment
436 views