我们有一个连接到Oracle数据库实例的Node.js Web应用程序,问题是在不活动之后,数据库的连接变成了只读模式。这意味着SELECT操作可以工作,但是INSERT和UPDATE事务遇到此错误:
“错误:ORA-03114:未连接到ORACLE”
重新启动应用程序后,此问题解决。我们使用最新版本的knex(0.20.1)和node-oracledb(4.1.0)库连接到数据库。
该错误表示某个连接(可能是防火墙)已过期。您应该找出原因并消除原因。可能存在一些解决方法,例如将它们配置为Oracle Net层以偶尔通过网络发送ping来阻止空闲连接终止,请参见https://oracle.github.io/node-oracledb/doc/api.html#connectionha
查询和DML都会在产生错误的连接上受到同等的影响-均失败。我怀疑您正在使用其他(新)连接进行查询。