[20180823]IMU与db link.txt

--//当使用db link查看远程表时,实际上会产生小小的日志.
--//当时如果与IMU结合在一起,可以导致IMU的失效.

1.环境:
SCOTT@book> @ ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

CREATE  PUBLIC DATABASE LINK LOOPBACK CONNECT TO SCOTT IDENTIFIED BY book USING 'localhost:1521/book:DEDICATED';
create table deptx as select * from dept;

2.测试:
SCOTT@book> @ &r/viewsess "IMU commits"
NAME        STATISTIC#      VALUE        SID
----------- ---------- ---------- ----------
IMU commits        374          0          1

SCOTT@book> update deptx set dname=lower(dname) where deptno=10;
1 row updated.

SCOTT@book> commit;
Commit complete.

SCOTT@book> @ &r/viewsess "IMU commits"
NAME        STATISTIC#      VALUE        SID
----------- ---------- ---------- ----------
IMU commits        374          1          1

--//可以发现当前数据库IMU起作用的.

SCOTT@book> @ &r/viewsess "IMU commits"
NAME        STATISTIC#      VALUE        SID
----------- ---------- ---------- ----------
IMU commits        374          0          1

SCOTT@book> update deptx set dname=lower(dname) where deptno=10;
1 row updated.

SCOTT@book> select sysdate from dual@loopback;
SYSDATE
-------------------
2018-08-22 09:04:00

SCOTT@book> commit ;
Commit complete.

SCOTT@book> @ &r/viewsess "IMU commits"
NAME        STATISTIC#      VALUE        SID
----------- ---------- ---------- ----------
IMU commits        374          0          1

--//当是当执行dml时有dblink的语句,IMU失效,回到原来的模式.

--//viewsess.sql脚本:
set verify off
column name format a70
SELECT b.NAME, a.statistic#, a.VALUE,a.sid
  FROM v$mystat a, v$statname b
 WHERE lower(b.NAME) like lower('%&1%') AND a.statistic# = b.statistic# ;
 --and a.value>0;

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!