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.在调用某些包中函数时,可以将游标放在函数里边,以使其能够正常改变;