there must no problems with proxool.
u could do the following test
1.create db A and B
2.create public database link TO_B
connect to TEST_DB identified by TEST_DB
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.18.1)(PORT = 1521)))(CONNECT_DATA =(SID = orcl)))';
3.create table TEST( ID NUMBER ); -- on db B
insert into test values(1); commit; -- on db B
4.do the test by some commands
select count(1) from v$session; -- on db B
update test@TO_B set id=1; commit; -- on db A
select count(1) from v$session; -- on db B, u may find that one row added
5.alter session close database link TO_B; select count(1) from v$session; -- on db B, u may find the row added will be disappeared
u also could reference the oracle offical docs by the follow address http://docs.oracle.com/cd/B19306_01/server.102/b14231/ds_admin.htm#i1008256
where "If you access a database link in a session, then the link remains open until you close the session. A link is open in the sense that a process is active on each of the remote databases accessed through the link" being written.
close the session means that u have to do jdbcConnection.disconnect, commit don't mean session closed.
Last edit: brandwarrior 2016-06-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm afraid this project is no longer maintained. I've just updated this project to reflect its true status. The latest code is now on Github (proxool/proxool) but even that hasn't been updated since 2011. I'm quite happy to process pull requests on the Github project, however.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
there must no problems with proxool.
u could do the following test
1.create db A and B
2.create public database link TO_B
connect to TEST_DB identified by TEST_DB
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.18.1)(PORT = 1521)))(CONNECT_DATA =(SID = orcl)))';
3.create table TEST( ID NUMBER ); -- on db B
insert into test values(1); commit; -- on db B
4.do the test by some commands
select count(1) from v$session; -- on db B
update test@TO_B set id=1; commit; -- on db A
select count(1) from v$session; -- on db B, u may find that one row added
5.alter session close database link TO_B; select count(1) from v$session; -- on db B, u may find the row added will be disappeared
u also could reference the oracle offical docs by the follow address
http://docs.oracle.com/cd/B19306_01/server.102/b14231/ds_admin.htm#i1008256
where "If you access a database link in a session, then the link remains open until you close the session. A link is open in the sense that a process is active on each of the remote databases accessed through the link" being written.
close the session means that u have to do jdbcConnection.disconnect, commit don't mean session closed.
Last edit: brandwarrior 2016-06-20
I'm afraid this project is no longer maintained. I've just updated this project to reflect its true status. The latest code is now on Github (proxool/proxool) but even that hasn't been updated since 2011. I'm quite happy to process pull requests on the Github project, however.