2008-2-25 09:46 niuxxf
tt测试

在网上找了些测试例子,我也学着测试了一下,有问题之处,请指教。
一:安装oracle的内存数据库timesten,我安装的是windows版本的,安装起来很简单,指定安装路径后,一路next就o了。

二:oracle建用户、表及写入数据
在oracle sqlplus窗口执行,步骤如下:
$ sqlplus xxf/xxf

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 22 17:26:06 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> CREATE USER XZQ IDENTIFIED BY XZQ123;

User created.

SQL> GRANT CONNECT, RESOURCE TO XZQ;

Grant succeeded.

SQL> conn xzq/xzq123
Connected.
SQL> create table t (id number(5),name varchar2(10));

Table created.

SQL> insert into t values(1,'Jack');

1 row created.

SQL> insert into t values(2,'Rose');

1 row created.

SQL> commit;

Commit complete.

SQL> select tname from tab;

TNAME
------------------------------
T

SQL>

三:添加用户DSN,这块一度困扰我很长时间,(如果用ttisql单纯的登录内存数据库,配置DSN那很简单,不过在选择驱动的时候选择timesten client 7.0 ,简单填写一下就ok了)
如果要配置READONLY CACHE GROUP,那么驱动就要选择 timesten data manager 7.0,对这方面不熟悉,而且添的东西也很多,也不知道该添哪一项,所以只能随便添,能添上什么就添什么,可是无论怎么添,ok按钮都是灰色的,后来我看了一下系统DSN,发现里面有一个cache_date,打开一看,呵呵,发现了让ok变为可用的“玄机”,Data Store Path+ ,只要将这一项写上,就ok了,将用户DSN配置完毕后(我测试配置的DSN的名字是tt_1),我们继续往下走。

四:内存数据库的启动与关闭
当开机以后,在默认的情况下内存数据库是启动着的。

C:\Documents and Settings\Administrator>ttdaemonadmin -stop
TimesTen Data Manager 7.0 服务正在停止...
TimesTen Data Manager 7.0 服务已成功停止。


C:\Documents and Settings\Administrator>ttdaemonadmin -start
TimesTen Data Manager 7.0 服务正在启动 .
TimesTen Data Manager 7.0 服务已经启动成功。

五:登录内存数据库
C:\Documents and Settings\Administrator>ttisql tt_1

Copyright (c) 1996-2007, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
All commands must end with a semicolon character.



connect "DSN=tt_1";
Connection successful: DSN=tt_1;UID=xzq;DataStore=CacheData_tt70_32;DatabaseChar
acterSet=ZHS16GBK;ConnectionCharacterSet=ZHS16GBK;DRIVER=d:\TimesTen\tt70_32\bin
\ttdv70.dll;OracleId=ora10;LogDir=D:\TimesTen\log;TypeMode=0;
(Default setting AutoCommit=1)
Command> CALL TTCACHEUIDPWDSET('xzq', 'xzq123');
Command> CALL TTCACHESTART();
Command> CREATE READONLY CACHE GROUP TEST_CACHE AUTOREFRESH INTERVAL 5 SECONDS FROM T (ID number(5) PRIMARY KEY, NAME VARCHAR2(10));
Command> desc t;
Table XZQ.T:
  Columns:
   *ID                              NUMBER (5) NOT NULL
    NAME                            VARCHAR2 (10) INLINE

1 table found.
(primary key columns are indicated with *)
Command> select * from t;
0 rows found.
Command> LOAD CACHE GROUP TEST_CACHE COMMIT EVERY 30 ROWS;
2 cache instances affected.
Command> select * from t;
< 1, Jack >
< 2, Rose >
2 rows found.
Command> insert into t values(3,'haha');   --因为表是只读的,所以必须在oracle中进行修改
8225: Table T is read only
The command failed.

=============================
用oracle的xzq用户登录sqlplus,往表中写入一条记录。
SQL> insert into t values(3,'xixi');

1 row created.

SQL> commit;

Commit complete.

SQL>
=============================


Command> select * from t;
< 1, Jack >
< 2, Rose >
< 3, xixi >
3 rows found.
Command>
Command> tables;
  SYS.CACHE_GROUP
  SYS.COLUMNS
  SYS.COLUMN_HISTORY
  SYS.COL_STATS
  SYS.DUAL
  SYS.INDEXES
  SYS.MONITOR
  SYS.OBJ_ACC_RIGHT
  SYS.PLAN
  SYS.SEQUENCES
  SYS.SYNONYMS
  SYS.SYS_ACC_RIGHT
  SYS.TABLES
  SYS.TABLE_HISTORY
  SYS.TBL_STATS
  SYS.TCOL_STATS
  SYS.TINDEXES
  SYS.TRANSACTION_LOG_API
  SYS.TTABLES
  SYS.TTBL_STATS
  SYS.USERS
  SYS.VIEWS
  SYS.XLASUBSCRIPTIONS
  TTREP.REPELEMENTS
  TTREP.REPLICATIONS
  TTREP.REPNETWORK
  TTREP.REPPEERS
  TTREP.REPSTORES
  TTREP.REPSUBSCRIPTIONS
  TTREP.REPTABLES
  TTREP.TTSTORES
  XZQ.T
33 tables found.
Command>

六:已经同步了,下面我们做一下备份表测试

首先在内存数据库中创建一张表
Command> create table t_new as select * from t;
3 rows inserted.
Command>

导出:在windows的命令行来执行备份命令
C:\Documents and Settings\Administrator>ttBulkCp -o DSN=TT_1 xzq.t_new  d:\t_new.dat
3/3 rows copied

上面已经备份成功,删除内存数据库中的数据
Command> truncate table t_new;
Command> select * from t_new;
0 rows found.

导入:在windows的命令行来执行备份命令
C:\Documents and Settings\Administrator>ttBulkCp -i DSN=TT_1 xzq.t_new  d:\t_new.dat
d:\t_new.dat:
    3 rows inserted
    3 rows total

C:\Documents and Settings\Administrator>

查看一下内存数据库中表t_new中是否已经导入数据
Command> select * from t_new;
< 1, Jack >
< 2, Rose >
< 3, xixi >
3 rows found.
Command>


七:清除CACHE GROUP:
Command> DROP CACHE GROUP TESTCACHE;
Command> CALL TTCACHESTOP();

还有一些垃圾在oracle中,查看一下oracle中xzq用户:
SQL> select tname from tab;

TNAME
------------------------------
T
TT_03_USER_COUNT
TT_03_SYNC_OBJS
TT_03_AGENT_STATUS

SQL>

2008-6-18 14:08 wabjtam123
你的第一步和内存数据库有关吗
另外我在内存数据库中建立用户怎么建立呢

(primary key columns are indicated with *)
Command>
Command> drop table ljb_test;
Command> create user ljb
> identified by ljb;
1001: Syntax error in SQL statement before or at: "LJB", character position: 31
create user ljb identified by ljb;
                              ^^^
The command failed.
Command> create user ljb identified by ljb;
1001: Syntax error in SQL statement before or at: "LJB", character position: 31
create user ljb identified by ljb;
                              ^^^
The command failed.
Command> create user ljb;
1001: Syntax error in SQL statement before or at: ";", character position: 16
create user ljb;
               ^
The command failed.

2008-8-6 08:42 zhangzongjun
mark~

2008-8-7 18:30 wangjian0524
question1:
在oracle中需要创建cache administrator 和 有权限访问要cache 的oracle表的用户。
前者用户下要创建和cache group相关的基表,后者用户要和Timesten中登录用户名一样(另外,需要在dsn中指明oraclepwd,即该用户在Oracle中的密码)。

但往往在测试中,共用一个用户,即应用数据所在的用户。

question2:
密码需要用单引号括起。

页: [1]
查看完整版本: tt测试


Powered by ITPUB论坛