Database 带有数据库链接的Oracle JDBC连接池

Database 带有数据库链接的Oracle JDBC连接池,database,oracle,jdbc,Database,Oracle,Jdbc,我正在用Oracle数据库构建一个J2EE web应用程序。应用服务器使用JDBC连接池连接到Oracle数据库A(例如,最多20个连接),执行的一些查询通过数据库链接使用远程Oracle数据库B中的表 如果应用服务器创建了20个到数据库A的连接,并且所有查询都在数据库B中查找数据,那么数据库A会创建20个到数据库B的连接吗?或者所有查询都通过同一个连接隧道?本地和远程数据库会话之间存在一对一的关系。 在以下情况下,必须进行以下操作: 本地数据库上的会话A1运行插入table@B值('A1');

我正在用Oracle数据库构建一个J2EE web应用程序。应用服务器使用JDBC连接池连接到Oracle数据库A(例如,最多20个连接),执行的一些查询通过数据库链接使用远程Oracle数据库B中的表


如果应用服务器创建了20个到数据库A的连接,并且所有查询都在数据库B中查找数据,那么数据库A会创建20个到数据库B的连接吗?或者所有查询都通过同一个连接隧道?

本地和远程数据库会话之间存在一对一的关系。 在以下情况下,必须进行以下操作: 本地数据库上的会话A1运行插入table@B值('A1'); 该插入是会话A1事务的一部分

会话A2出现并执行SELECT*FROMtable@B. 由于会话A1尚未提交,会话A2不应看到该行。因此,它需要一个不同于属于A1的远程会话

同样,您可以让数据库A上的所有20个会话在数据库B上同时运行查询

有一个DBMS_SESSION.CLOSE_DATABASE_LINK过程将断开远程连接。我在那个(9i数据库)上遇到了一些问题,它拒绝关闭它们,甚至在提交后立即声称“未完成的事务”。它似乎与缓存的PL/SQL游标有关。这可能不再是一个问题