ORA-12589: TNS:connection not bequeathable ORACLE 报错 故障修复 远程处理

文档解释

ORA-12589: TNS:connection not bequeathable

Cause: An attempt to hand-off a connection from one process to another has failed because the protocol provider does not support it.

Action: Not normally visible to the user. For further details, turn on tracing and reexecute the operation. If error persists, contact Oracle Customer Support.

官方解释

当客户端应用程序尝试从进程(比如Oracle*CNG)到另外一个进程(比如ORALCE*FORMS)的连接转换时,会出现ORA-12589的错误。这个错误意味着Oracle连接实例不是可以遗传的,无法实现连接的转换。

常见案例

1.使用调用PL/SQL中用dbms_fga可能会遇到ORA-12589错误;

2.使用dblink或外部表时,异常处理会产生ORA-12589错误;

3.两个Oracle实例不通过可以遗传的连接实例转换时可能会遇到ORA-12589错误;

4.调用某些包中函数可能会遇到ORA-12589错误;

正常处理方法及步骤

1.在调用PL/SQL返回游标时,使用连接池,这样就可以避免产生ORA-12589的错误;

2.采用受管理的事务(可以遗传的连接实例)来处理外部表或dblink的异常;

3.在两个失去问题时,可以使用dbms_application_info来建立可以遗传的连接实例;

4.在调用某些包中函数时,可以将游标放在函数里边,以使其能够正常改变;


数据运维技术 » ORA-12589: TNS:connection not bequeathable ORACLE 报错 故障修复 远程处理