我有一个连接到数据库 A 的 Java 代码。数据库 A 具有到数据库 B 的 DB 链接。两个数据库都是 oracle。
我与数据库 A 建立了 JPA 连接,然后我运行一个查询,将数据库 A 中的表连接到数据库 B 中的表,然后关闭与数据库 A 的连接简单代码。
我仍然看到数据库 B 上的数据库链接连接是打开的。它没有关闭。知道为什么吗?我假设它应该在内部处理,对吗?
想法?
我有一个连接到数据库 A 的 Java 代码。数据库 A 具有到数据库 B 的 DB 链接。两个数据库都是 oracle。
我与数据库 A 建立了 JPA 连接,然后我运行一个查询,将数据库 A 中的表连接到数据库 B 中的表,然后关闭与数据库 A 的连接简单代码。
我仍然看到数据库 B 上的数据库链接连接是打开的。它没有关闭。知道为什么吗?我假设它应该在内部处理,对吗?
想法?
如果关闭与数据库的连接,所有数据库链接连接都会自动关闭。
因此,如果您观察到打开的链接会话,它们源于其他尚未关闭的连接。
出于性能原因,数据库链接连接不是在每个分布式查询后立即关闭,而是有意保持打开状态,以便在潜在的下一条语句中重用。
无论如何,您可以使用以下任一方法来明确关闭链接连接
alter session close database link link_name
或者
DBMS_SESSION.CLOSE_DATABASE_LINK('link_name')
在这里说明。这主要是在您达到最大打开链接限制的情况下完成的