dblink 退出 session

Posted update_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dblink 退出 session相关的知识,希望对你有一定的参考价值。

以dblink的表现为例,我一直认为dblink的远程连接session仅在操作(select,dml)发生时短期存在,在操作完成后依据一定条件保留或退出。

而事实并非如此,随便使用一个远程查询语句如下:

SQL> select * from [email protected];       –LZ 为dblink名

在远程数据库端观察session,可以发现:

select sid,username,machine,program,module from v$session where module=’ORACLE.EXE’

  SID USERNAME MACHINE PROGRAM MODULE
1 526 SYSTEM WIN_DESK1 ORACLE.EXE ORACLE.EXE

且该远程会话一直保留直到原会话退出为止,无论是成功退出还是程序失败。

若希望在原会话中关掉已打开的远程会话,则需要使用一下命令:
Alter session close database link DBLINKNAME;

这里要注意,需要先执行commit后以上关闭远程session SQL方会成功,即便是Select操作也是如此;

若没有执行commit,会出现:

ORA-02080: 数据库链接正在使用中

以上是关于dblink 退出 session的主要内容,如果未能解决你的问题,请参考以下文章

Glassfish websocket OnMessage方法突然退出

ORACLE 如何检查dblink是不是正常

如何解决dblink过多的问题

oracle需要创建dblink给啥权限

oracle创建dblink方法

dblink实现不同用户之间的数据表访问