HOWTO : Externally Signal A TimesTen Client Process To Gracefully Disconnect Prior To Database Unload/Shutdown
Last updated on SEPTEMBER 23, 2016
Applies to:Oracle TimesTen In-Memory Database - Version 6.0.2 to 18.104.22.168.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.
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.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms