Sujith Gunawardhane Sujith Gunawardhane - 14 days ago 5
C Question

Behavior of the temporary lobs after successful Oracle node fail-over

My application gets the following error when I'm trying to write data using the temporary lob created before the Oracle node fail-over.

ORA-22922: nonexistent LOB value


Please consider that the all the other cursors created before the fail-over works as expected, But not the blob writing using the above mentioned temporary lob.
Fail-over was completed successfully.

The application has created the temporary lob using following functions and bound to the database using OCIBindByPos.

OCIDescriptorAlloc
OCILobCreateTemporary

Answer

The default lifetime of a temporary LOB is a session. Temporary LOBs are stored in Temporary Tablespace and transactions using temporary segments will not be fail over.

ORA-22922 "nonexistent LOB value"

Cause: The LOB value associated with the input locator does not exist. The information in the locator does not refer to an existing LOB.

Action: Repopulate the locator by issuing a select statement and retry the operation.

Comments