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

来源:互联网 发布:mac修容粉价格 编辑:程序博客网 时间:2024/06/07 20:49

在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会删除数据
原创粉丝点击