【TimesTen】7.0.5版本中,AWT使用load和refresh的比较

在awt的cg环境下,TimesTen端数据发生变化能同步到oracle端,这个是自动实现的;
而oracle端数据发生变化后,TimesTen端数据并不能随着发生变化,需要使用load/refresh来实现数据的同步。
下面来说说load/refresh在使用上有啥区别:

1、搭建测试环境
ORACLE端创建表T1:
SQL> create table t1 (x int,y varchar2(20));

Table created.
增加主键,否则tt端无法创建cg:
SQL> alter table t1 add constraint pk_t1_x primary key(x);

Table altered.

TimesTen端创建CG_T1:
Command> create asynchronous writethrough cache group OKAYLEO.CG_T1
> from
>     OKAYLEO.T1 (
>             X TT_BIGINT     INLINE NOT NULL,
>             Y VARCHAR2(20)  INLINE ,
>         primary key (X));
Command>

启动TimesTen的复制代理:
-bash-3.2# ttadmin -repstart emay
RAM Residence Policy            : inUse
Replication Agent Policy        : manual
Replication Manually Started    : True
Cache Agent Policy              : manual
Cache Agent Manually Started    : True

2、TimesTen端操作,看ORACLE端有啥变化
TimesTen端插入数据:
Command> insert into t1 values(1,'aaa');
1 row inserted.
Command>
Command> insert into t1 values(2,'bbb');
1 row inserted.
Command>
Command> select * from t1;
< 1, aaa >
< 2, bbb >
2 rows found.

ORACLE端查询:
SQL> select * from t1;

         X Y
---------- --------------------
         1 aaa
         2 bbb
--数据自动同步

TimesTen端修改数据:
Command> update t1 set y='xxx' where x=1;
1 row updated.
Command>
Command> select * from t1;
< 1, xxx >
< 2, bbb >
2 rows found.

ORACLE端查询
SQL> select * from t1;

         X Y
---------- --------------------
         1 xxx
         2 bbb
--数据也是自动同步到ORACLE

3、ORACLE端操作,看TimesTen端有啥变化

ORACLE端插入一条数据:
SQL> insert into t1 values(3,'ccc');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t1;

         X Y
---------- --------------------
         1 xxx
         2 bbb
         3 ccc
         
TimesTen端查询:
Command> select * from t1;
< 1, xxx >
< 2, bbb >
2 rows found.

--没有变化

使用load:
Command> load cache group cg_t1 commit every 0 rows;
1 cache instance affected.

--显示一行发生了变化;
Command> select * from t1;
< 1, xxx >
< 2, bbb >
< 3, ccc >
3 rows found.

--数据已经刷新过来

ORACLE端再插入一条数据:
SQL> insert into t1 values(4,'ddd');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t1;

         X Y
---------- --------------------
         1 xxx
         2 bbb
         3 ccc
         4 ddd
         
TimesTen端查询:
Command> select * from t1;
< 1, xxx >
< 2, bbb >
< 3, ccc >
3 rows found.

--数据还是没过来;

使用refresh:
Command> refresh cache group cg_t1 commit every 0 rows;
4 cache instances affected.

--显示4行记录被刷新

Command>
Command> select * from t1;
< 1, xxx >
< 2, bbb >
< 3, ccc >
< 4, ddd >
4 rows found.

--有数据了

ORACLE端修改:
SQL> update t1 set y='yyy' where x=2;

1 row updated.

SQL> commit;

Commit complete.

SQL> select * from t1;

         X Y
---------- --------------------
         1 xxx
         2 yyy
         3 ccc
         4 ddd

TimesTen端查询:
Command> select * from t1;
< 1, xxx >
< 2, bbb >
< 3, ccc >
< 4, ddd >
4 rows found.

--依然没有变化

使用load:
Command> load cache group cg_t1 commit every 0 rows;
1 cache instance affected.

--显示1条数据被影响

Command> select * from t1;
< 1, xxx >
< 2, bbb >
< 2, yyy >
< 3, ccc >
< 4, ddd >
4 rows found.

--与tt不同的一行被load过来

使用refresh:
Command> refresh cache group cg_t1 commit every 0 rows;
4 cache instances affected.

--4行记录被刷新

Command> select * from t1;
< 1, xxx >
< 2, yyy >
< 3, ccc >
< 4, ddd >
4 rows found.

--记录重新与oracle一致






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12355989/viewspace-709368/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12355989/viewspace-709368/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值