测试timesten 中dynamic AWT global cache group的删除

本文介绍如何在Oracle数据库与Timesten内存数据库之间进行数据同步操作,包括创建表、授权用户、设置全局缓存组及数据更新与删除的过程,并分析了不同场景下数据同步的影响。

在oracle 中创建表oratt.dept

在oracle中创建oratt.dept表

CREATE TABLE ORATT.DEPT
   ( DEPTNO NUMBER(2,0),
DNAME VARCHAR2(14),
LOC VARCHAR2(13),
CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO))
SQL> insert into dept select *From scott.dept;
SQL> commit;


授权给cacheuser访问oratt.dept表

SQL>grant   all on oratt.dept to cacheuser;


在timesten中创建dynamic AWT global cache group 
[timesten@dg info]$ ttIsql "DSN=tt ;UID=cacheuser;PWD= cacheuser;OraclePWD=cacheuser "

Command> CREATE DYNAMIC ASYNCHRONOUS WRITETHROUGH GLOBAL CACHE GROUP  dept_c
From  oratt.DEPT
   ( DEPTNO NUMBER(2,0) not null primary key,
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
);

启动复制代理进程
Command> call ttrepstart;  
 

授权 cacheuser可以访问 oratt.dept 表


[timesten@dg ~]$ ttisql tt
Command> grant all on oratt.dept to cacheuser;

在timesten中动态加载数据

[timesten@dg info]$ ttIsql "DSN=tt ;UID=cacheuser;PWD= cacheuser;OraclePWD=cacheuser "
Command> update oratt.dept set DNAME='ccc' where deptno=10;
1 row updated.
Command> commit;
Command> select *From oratt.dept;
< 10, ccc, NEW YORK >
1 row found.



下面开始测试删除语句

删除timesten中oratt.dept表的全部数据,观察oracle表中的数据变化


在oracle 数据库中oratt.dept有6条数据
SQL> select *From oratt.dept;
    DEPTNO DNAME   LOC
---------- -------------- -------------
10 ACCOUNTING   NEW YORK
20 RESEARCH   DALLAS
30 SALES   CHICAGO
40 AAAA   BOSTON
11 bb   cc
12 bb   cc
6 rows selected.

在timesten 中查看加载了只有3条数据,然后全部删除数据
Command> select *From oratt.dept;
< 10, ACCOUNTING, NEW YORK >
< 11, bb, cc >
< 20, RESEARCH, DALLAS >
3 rows found.
Command> delete from oratt.dept;
3 rows deleted.
Command> commit;
Command> select *From oratt.dept;
0 rows found.


检查oracle 数据库中oratt.dept 表中的数据
SQL> select *From oratt.dept;
    DEPTNO DNAME   LOC
---------- -------------- -------------
30 SALES   CHICAGO
40 AAAA   BOSTON
12 bb   cc

结论:从此处可以看到timesten中delete全部的数据,删除的数据只会是加载到timesten中的数据,如果数据没有加载到timesten中,是不会被删除


单独删除某一行:
SQL> select *From oratt.dept;
    DEPTNO DNAME   LOC
---------- -------------- -------------
30 SALES   CHICAGO
40 AAAA   BOSTON
12 bb   cc

Command> select *From oratt.dept;
0 rows found.

此处只所以cacheuser能删除oratt.dept中的数据,是因为前面管理员授权cacheuser可以访问oratt的表
[timesten@dg info]$ ttIsql "DSN=tt ;UID=cacheuser;PWD= cacheuser;OraclePWD=cacheuser "
Command> select *From oratt.dept;
0 rows found.
Command> delete from oratt.dept where deptno=12;
1 row deleted.
Command> commit;

SQL> select *From oratt.dept;
    DEPTNO DNAME   LOC
---------- -------------- -------------
30 SALES   CHICAGO
40 AAAA   BOSTON

结论: 如果在timesten中单独删除某个没有加载到timesten中的数据,在oracle会删除数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值