在我们的服务器/客户端设置中,我们遇到了一些奇怪的行为。客户端是一个 C/C++ 应用程序,它使用 OCI 连接到 Oracle 服务器(使用 OTL 库)。
数据库服务器有时会以某种方式死机(是的,这是核心问题,但从应用程序方面我们无法解决它,但无论如何都必须处理它),机器不再响应到新的请求/连接,但现有的请求/连接,如 Oracle 连接,不会丢失或超时。发送到数据库的查询再也不会成功返回。
Oracle 提供了哪些可能性(如果有的话)从客户端-应用程序端检测这些停滞的连接并以或多或少安全的方式恢复?
最佳答案
直到 11.1.0.6,这是 Oracle 中的一个错误(或称为功能),他们说 Oracle 11g 版本 1 上的补丁(补丁 11.1.0.7)具有修复。需要看到那个。 如果发生这种情况,您将不得不取消 (kill) 执行此操作的线程。 虽然不是很好的方法
关于c++ - 如何检测 Oracle 断开/停止的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1431560/