首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空闲的Oracle连接会出现错误“ORA-03114: not to ORACLE”

空闲的Oracle连接会出现错误“ORA-03114: not to ORACLE”
EN

Stack Overflow用户
提问于 2019-12-28 07:09:10
回答 2查看 5.7K关注 0票数 7

我们有一个连接到Oracle实例的Node.js web应用程序,问题是在一些不活动之后,数据库的连接被转换为只读模式。它意味着选择操作工作,但是插入和更新事务会遇到以下错误:

“错误: ORA-03114:未连接到甲骨文”

此问题在重新启动应用程序后得到解决。我们使用knex的最后一个版本(0.20.1)和节点-oracledb(4.1.0)库连接到数据库。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-29 11:36:11

此错误意味着某些东西(可能是防火墙)已过期连接。你应该找出原因并消除它。可能有一些工作需要解决,例如配置Oracle层以通过网络发送偶尔的ping以阻止空闲连接被终止,请参阅https://oracle.github.io/node-oracledb/doc/api.html#connectionha

查询和DMLs都将同样地受到导致错误的连接的影响--所有都将失败。我怀疑您在查询中使用了另一个(新的)连接。

如果您使用的是19c客户端库(顺便说一句,它连接到Oracle DB 11.2或更高版本),那么连接字符串可以使用以下简单连接语法:

代码语言:javascript
复制
"mydbmachine.example.com/orclpdb1?expire_time=2"

这将在空闲连接上执行“保持活动”操作,每两分钟发送一次探测。一般建议将时间设置为连接终止时间的一半(例如,通过防火墙)。参见科技文章Oracle Database 19c Easy Connect Plus Configurable Database Connection Syntax

其他语法可以在旧版本或tnsnames.ora文件中使用;请检查文档。

票数 5
EN

Stack Overflow用户

发布于 2022-04-14 13:47:56

我也遇到了同样的问题,并找到了解决办法。添加环境变量(系统变量) ORACLE_HOME=installation路径,在我的例子中是F:\app\krushna\product\11.2.0\dbhome_1和ORACLE_SID=,orcl或xe。你曾经有过的。对我起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59508878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档