ORA-03128: connection is in blocking mode

文档解释

ORA-03128: connection is in blocking mode

Cause: The OCI test for non-blocking mode on a connection indicates that the connection is in blocking mode.

Action: If non-blocking mode is required use appropriate OCI calls to change the mode.

这是一个由 Oracle 数据库引擎引发的错误。它涉及到异常的数据库连接——因为服务器或客户机的原因而阻止网络连接而产生的错误。

官方解释

ORA-03128消息表明连接处于阻塞状态。这说明连接或客户端收到的响应已延迟。其结果是连接被阻止,因为超出I/O处理期限或其他原因。

常见案例

常见出现此错误的原因是:

1. 无法与Oracle服务器建立TCP/IP连接,可能因为防火墙等网络设置。

2. 网络连接不可靠或拥塞。

3. 僵死连接。

4. 潜在的数据库实例死锁。

5. 单个客户机阻止其他客户机连接

正常处理方法及步骤

1. 首先,检查你是否连接到正确的数据库服务器上,同时验证网络设置/防火墙等的正确性,并做必要的修复/修改。

2. 检查客户端设置,然后检查是否允许从外部访问(如果网络中存在防火墙)。

3. 检查有没问题的客户端连接,注释掉连接/关闭此连接(如果存在僵死连接),如果还是失败,则关闭客户机网络NSL为0,然后通过增加NSL的参数重启网络。

4. 检查数据库服务器端设置,存在僵死连接时(使用下面的查询来强制关闭):

* select username,machine, program from v$session where status=’KILLED’;

* ALTER SYSTEM KILL SESSION ‘U,M,P’;

5. 验证全局数据库参数(在“_enable_cq”中禁用CQ),了解服务器端口/用户权限设置/IP地址等是否正确,客户端连接数据库时是否复制数据库名?

6. Restartlistener服务器上,检查服务器上运行的守护程序是否正确。

你可能感兴趣的