HOWTO : Externally Signal A TimesTen Client Process To Gracefully Disconnect Prior To Database Unload/Shutdown (Doc ID 884883.1)

Last updated on SEPTEMBER 23, 2016

Applies to:

Oracle TimesTen In-Memory Database - Version 6.0.2 to 11.2.1.2.0 [Release 6.0 to 11.2]
Information in this document applies to any platform.
This docNote applies to all TimesTen client applications. While the specific code examples are written in C, the general principles listed here apply to all clients written in C,C++ or Java using ODBC and/or JDBC.


Goal

This docNote describes how to use OS signals to trigger a TimesTen client process to shutdown gracefully. A graceful shutdown is a shutdown where the client commits or rolls back all open transactions, closes all connections to the TimesTen data store (and connections to any other process as well) and optionally deallocates memory structures allocated during the program. A graceful shutdown essentially allows the executing process to do a normal end of job.

 The use of "kill -9" to stop TimesTen client processes is strongly discouraged. Terminating client processes with "kill -9" causes the client process to be killed immediately upon receipt of the "kill -9" signal and is effectively an abnormal end-of-job. Terminating TimesTen clients using "kill -9" signals will force the TimesTen daemon into recovery mode in order to clean up the data store environement. This creates unnecessary overhead for the daemon and has a negative impact on overall performance. Additionally, depending on the exact state of the client when the "kill -9" signal is received, the TimesTen instance recovery process may cause other new connections and existing process disconnections to block.

This docNote describes an alternative to "kill -9", namely to use the "kill -2" signal, which can be trapped by the client process.  

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms