Keepalive between Tuxedo service and Oracle database — oracle-tech

    Forum Stats

  • 3,715,740 Users
  • 2,242,850 Discussions
  • 7,845,533 Comments

Discussions

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Keepalive between Tuxedo service and Oracle database

bisal
bisal Member Posts: 44
edited June 2018 in Tuxedo

I have a question about the connection between tuxedo service and Oracle.

In machine A(Solaris platform), there is a Tuxedo environment with about 100 Tuxedo service written in Pro*c. The logic flow of these Tuxedo service is to interface with Oracle 11g Database(Linux platform).

In tpinit() of Tuxedo service, it will connect to the Oracle. It is so-called long-connection mechanism with database. When the connection is cut by firewall(Between Tuxedo server and Oracle database server), Tuxedo service will receive ORA-03113 or ORA-03114 error code and then call TPEXIT to reboot this service in order to reestablish the connection with database.

The timeout parameter of firewall is set to 20min. In my opinion, if a Tuxedo service hasn't any call to database for 20min, the connection between this Tuxedo service and the database will be cut. This Tuxedo service needs to reconnect to the database.

To my surprise, I ran a Tuxedo service yesterday afternoon and ran again this morning. It doesn't show the connection is cut. In application log file, there is no record about the connection reestablishment for this Tuxedo service.

There are some records in firewall. For example,

190.1.0.1: Tuxedo server machine IP

192.1.0.1: Oracle database server machine IP (Port: 1523)

------------------

display firewall session table verbose source global 190.1.0.1
2018-06-07 10:12:30.110 +08:00
  Current Total Sessions : 1
  tcp  VPN: public --> public  ID: ...
  Zone: DCI --> APPDB Slot: 1 CPU: 3  TTL: 00:20:00  Left: 00:18:10
  Interface: Eth-Trunk2  NextHop: 10.10.10.10
  <--packets: 749 bytes: 139,608 --> packets: 1489 bytes: 165,291
  190.1.0.1:60706 --> 192.1.0.1:1523 PolicyName: DCI2APPDB

display firewall session table verbose source global 190.1.0.1
2018-06-07 10:12:40.360 +08:00
  Current Total Sessions : 1
  tcp  VPN: public --> public  ID: ...
  Zone: DCI --> APPDB Slot: 1 CPU: 3  TTL: 00:20:00  Left: 00:20:00
  Interface: Eth-Trunk2  NextHop: 10.10.10.10
  <--packets: 750 bytes: 139,796 --> packets: 1491 bytes: 165,509

  190.1.0.1:60706 --> 192.1.0.1:1523 PolicyName: DCI2APPDB

------------------

display firewall session table verbose source global 190.1.0.1
2018-06-07 10:12:30.110 +08:00
  Current Total Sessions : 1
  tcp  VPN: public --> public  ID: ...
  Zone: DCI --> APPDB Slot: 1 CPU: 3  TTL: 00:20:00  Left: 00:18:01
  Interface: Eth-Trunk2  NextHop: 10.10.10.10
  <--packets: 749 bytes: 139,608 --> packets: 1491 bytes: 165,509
  190.1.0.1:60706 --> 192.1.0.1:1523 PolicyName: DCI2APPDB

display firewall session table verbose source global 190.1.0.1
2018-06-07 10:12:40.360 +08:00
  Current Total Sessions : 1
  tcp  VPN: public --> public  ID: ...
  Zone: DCI --> APPDB Slot: 1 CPU: 3  TTL: 00:20:00  Left: 00:19:59
  Interface: Eth-Trunk2  NextHop: 10.10.10.10
  <--packets: 750 bytes: 139,796 --> packets: 1493 bytes: 165,727

  190.1.0.1:60706 --> 192.1.0.1:1523 PolicyName: DCI2APPDB

------------------

...

From the above, there is a packet every 2 min. The direction is from Tuxedo server to Oracle database.

In Oracle server,

1. In /etc/sysctl.conf, "net.ipv4.tcp_keepalive_time" is not set.

2. "sqlnet.ora" is not created.

In Tuxedo service, there is no logic about trying to connect to the database every 2 min.

In Tuxedo server, about “190.1.0.1:60706”, the output of "netstat -anp | grep 60706" is empty.

The question is which one sends a packet every 2 min from Tuxedo server to Oracle?

Is it the mechanism of keep alive from Tuxedo?

How to change the time of sending packet?

Thanks for your advice.

Answers

This discussion has been closed.