Oracle 节点故障转移成功后临时 lob 的行为

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

当我尝试使用在 Oracle 节点故障转移之前创建的临时 lob 写入数据时,我的应用程序出现以下错误。

ORA-22922: nonexistent LOB value

请考虑在故障转移之前创建的所有其他游标都按预期工作,但不是使用上述临时 lob 的 blob 写入。 故障转移已成功完成。

应用程序已使用以下函数创建临时 lob 并使用 OCIBindByPos 绑定到数据库。

OCIDescriptorAlloc
OCILobCreateTemporary

临时 LOB 的默认生命周期是一个会话。临时 LOB 存储在临时表空间中,使用临时段的事务不会进行故障转移。

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.