了解Maclean Liu|向Maclean Liu提问 Oracle ALLSTARS 全明星(群内有多位Oracle高级售后support,N位OCM和ACE) QQ群 # QQ群号:23549328 # 已经升级到 2000人群,空位多多。欢迎有一定基础的Oracle骨友加入,现在入群需要经过Maclean的技术面试,欢迎面试,请加QQ号:47079569 为好友参加面试 2群基础群 适合刚入门的同学,会共享最佳入门实践和资料 QQ群 # QQ群号:171092051 # 已经升级到 500人的超级群,空位多多,无需面试

Oracle中dblink所产生远程会话的一些表现

惯性思维总是 令我们离大师们 有着一定的距离,这种差距 在知识广袤的领域尤其明显。 Oracle领域被称为Oracle的世界,当之无愧;一丁点的想当然就让我们偏离于事实。 以dblink的表现为例,我一直认为dblink的远程连接session仅在操作(select,dml)发生时短期存在,在操作完成后依据一定条件保留或退出。 而事实并非如此,随便使用一个远程查询语句如下: SQL> select * from help@LZ;       --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: 数据库链接正在使用中

posted on 2009-09-09 23:10  Oracle和MySQL  阅读(457)  评论(0编辑  收藏  举报

导航