1

我有一个连接到数据库 A 的 Java 代码。数据库 A 具有到数据库 B 的 DB 链接。两个数据库都是 oracle。

我与数据库 A 建立了 JPA 连接,然后我运行一个查询,将数据库 A 中的表连接到数据库 B 中的表,然后关闭与数据库 A 的连接简单代码。

我仍然看到数据库 B 上的数据库链接连接是打开的。它没有关闭。知道为什么吗?我假设它应该在内部处理,对吗?

想法?

4

1 回答 1

0

如果关闭与数据库的连接,所有数据库链接连接都会自动关闭。

因此,如果您观察到打开的链接会话,它们源于其他尚未关闭的连接。

出于性能原因,数据库链接连接不是在每个分布式查询后立即关闭,而是有意保持打开状态,以便在潜在的下一条语句中重用。

无论如何,您可以使用以下任一方法来明确关闭链接连接

 alter session close database link  link_name

或者

DBMS_SESSION.CLOSE_DATABASE_LINK('link_name')

在这里说明。这主要是在您达到最大打开链接限制的情况下完成的

于 2020-04-20T21:15:01.413 回答