The answer to your question depends upon how the connections to the database are being managed. If the servers are part of a transactional group meaning there are TMS servers associated with the group and the servers were build with the -r switch to buildserver, then Tuxedo will manage the connections. What this means is that Tuxedo uses the xa_open() call to establish a connection to the database for the application and the application should not be performing any SQL CONNECT statements. If Tuxedo receives an XA error during transaction processing, then Tuxedo will automatically try to re-establish the connection to the database. Also note that if you are using RAC, you must configure the TUXRACGROUPS environment variable and configure the database to use DTP Services. The DTP Service should be configured to failover to the other instance in the database configuration file.
On the other hand, if the server is not part of a transactional group, then all database connection management is left up to the application and in fact, Tuxedo is completely unaware that a database is even being used. So your code does an SQL CONNECT and if it receives an error at some point, it likely has to reconnect with another SQL CONNECT. To help in this situation, you should be able to use TAF (Transparent Application Failover) to let the database client code attempt the reconnects.
As far as the timeout goes, I suspect your servers are hanging trying some DML statement and eventually Tuxedo kills the servers due to SVCTIMEOUT. Why they are hanging is still an unknown as I don't know how your application is accessing the database or how your servers are coded.
Oracle Tuxedo Chief Architect