Inside the OCI layer, the Client maintains a state machine for every connection. It knows if a transaction is active. It knows if a LOB locator is open. It knows if the session is in ALTER SESSION mode. When an application crashes without calling OCITransCommit or OCILogoff , the Client does not just drop the socket. It sends a to the database, a polite "I am dying; please roll back my work."
The Client is the voice that makes the king listen. oracle database client 19c
Thus, the was born.
But the shadow comes with a price. No sqlplus to test. No tnsping to debug. No expdp for emergency exports. The Instant Client trusts that you are a grown-up who knows how to set environment variables and debug a "ORA-12154: TNS:could not resolve the connect identifier" without the crutch of interactive tools. Most developers think the Client is a dumb pipe. It is not. Inside the OCI layer, the Client maintains a
Because the Client is not a flashy front-end. It is the skeleton key to the kingdom. Banks, airlines, healthcare systems, and governments do not upgrade their database access layers for fun. They need . They need a protocol that will not change, a networking stack that will not flinch, and a set of drivers that will survive server reboots, network partitions, and the slow decay of time. It knows if the session is in ALTER SESSION mode