java.sql.SQLException:ORA-24778:无法打开连接
时间:2022-03-14 03:38
weblogic日志中报:java.sql.SQLException:ORA-24778:无法打开连接。分析功能是有多次对远程表的操作,先查看关于db_link的参数:
SQL> show parameter open_links
NAME TYPE VALUE
------------------------------------ ----------- -------
open_links integer 4
open_links_per_instance integer 4
修改参数后重启系统:
alter system set open_links=50 scope=spfile;
alter system set open_links_per_instance=255 scope=spfile;
官方文档大致的意思是:
open_links是单个会话打开远程连接的最大数目,包括外部的存储过程,外部的进程(反正就是外部的东西)。默认值是4,最大值是255,当设置为0的时候说明没有分布式事务。
open_links_per_instance是一个实例打开远程连接的最大数目。默认值是4,最大是4294967295,运用于JDBC的XA驱动,而open_links不运用于JDBC的XA驱动。
我认为open_links_per_instance大小设置应该是open_links的几倍,且在刚建立数据库时就应该明确,后期修改重启有点郁闷。
Multiple instances can have different values.
OPEN_LINKS_PER_INSTANCE
specifies the maximum number of migratable open connections globally for each database instance. XA transactions use migratable open connections
so that the connections are cached after a transaction is committed. Another transaction can use the connection, provided the user who created the connection is the same as the user who owns the transaction.
OPEN_LINKS_PER_INSTANCE
is different from OPEN_LINKS
, which indicates the number of connections from a session. The OPEN_LINKS
parameter
is not applicable to XA applications.