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

标签 c oracle oracle-call-interface

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

ORA-22922: nonexistent LOB value

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

应用程序使用以下函数创建了临时 lob,并使用 OCIBindByPos 绑定(bind)到数据库。

OCIDescriptorAlloc
OCILobCreateTemporary

最佳答案

临时 LOB 的默认生命周期是一个 session 。临时 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.

关于c - Oracle 节点故障转移成功后临时 lob 的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40671065/

相关文章:

oracle - 检测由 OCI OCIStmtExecute 调用更新的 ORACLE 行数

c - 错误的 Visual C float / double 转换?

sql - Oracle 记录(行)元数据包括时间戳

使用指定主机名的 ocilib 连接 Oracle

sql - 在 Oracle 中 10 分钟内插入 1000 万个查询?

sql - Oracle 12c - CLOB 字段中的西里尔字符

c - 如何将 udp 套接字绑定(bind)到单个单播地址

将函数式语言编译为 C

c - C 编译器能够跨目标文件进行优化吗?

java - 将 Java Web 应用程序从 MySQL 迁移到 ORACLE