timesten常见的一些简单问题

环境为:
instance_name为eservice
安装目录为/home/timesten/TimesTen

下面这些问题是针对新手而言的,通过这些问题可以帮助刚接触timesten的人可以快速配置timesten。

[  @more @]

如何启动
/home/timesten/TimesTen/eservice/startup/tt_eservice [start|stop|restart]

如何访问
[timesten@rh44server ~]$ ttisql

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.


Command> connect tt_eservice;
Connection successful: DSN=TT_eservice;UID=eservice;DataStore=/home/timesten/TimesTen/eservice/info/TT_eservice;DatabaseCharacterSet=ZHS16GBK;ConnectionCharacterSet=ZHS16GBK;DRIVER=/home/timesten/TimesTen/eservice/lib/libtten.so;TypeMode=0;
(Default setting AutoCommit=1)
Command>


应用程序如何连接
答:有三种模式:
Direct Driver连接:Timesten推荐连接方式,由于没有了协议转换的开销,这种连接方式具有最高的效率。对于JDBC应用程序,可以通过JDBC库访问ODBC的direct driver。这种连接方式要求应用程序和Timesten数据库处于同一台服务器上。对于共享模式,数据库被加载到共享内存中,多个应用程序可以共享访问内存中的数据。可以减少TCP/IP,IPC方面的开销。

客户端/服务器连接:当应用程序与Timesten不在同一个服务器上,则应用程序将命令发给客户端驱动,而客户端和服务器端一般通过TCP/IP协议通信,服务器端得到应用程序提交给客户端的请求并执行。

Driver Manager连接:应用程序通过ODBC驱动管理器连接到Timesten,而这个驱动管理器一般是第三方提供的独立于数据库的驱动接口。


如何查看TT中的存储过程和表格
答:可以参见sql.pdf文档。如sys.tables,sys.indexes


如何查看TT的日志
答:在/home/timesten/TimesTen/eservice/info/ttmesg.log
和/home/timesten/TimesTen/eservice/info/tterrors.log中


如何批量执行角本
答:ttIsql -f create.sql MY_DSN(DSN的名字)


如何查看TT的错误号对应的信息
答:查看error_ref.pdf文档


如何设定字符集
答:在/home/timesten/TimesTen/eservice/info/sys.odbc.ini中
例如:
[TT_eservice]
Driver=/home/timesten/TimesTen/eservice/lib/libtten.so
DataStore=/home/timesten/TimesTen/eservice/info/TT_eservice
DatabaseCharacterSet=ZHS16GBK
ConnectionCharacterSet=ZHS16GBK
UID=eservice
PWD=alibaba


如何查看索引和表格:
Command> desc tracelog;
Table TIMESTEN.TRACELOG:
Columns:
*ID NUMBER (20) NOT NULL
CORPORATION_ID NUMBER (10) NOT NULL
USER_ADDRESS VARCHAR2 (15) INLINE NOT NULL
USER_ID VARCHAR2 (32) INLINE NOT NULL
GMT_USER_LOGIN DATE NOT NULL
GMT_USER_LAST_VISIT DATE NOT NULL
CORPORATION_PAGE VARCHAR2 (255) NOT INLINE NOT NULL

1 table found.
(primary key columns are indicated with *)
Command> indexes tracelog;

Indexes on table TIMESTEN.TRACELOG:
TRACELOG: unique T-tree index on columns:
ID
USERID_CORPID_LASTVISIT_IDX: non-unique T-tree index on columns:
USER_ID
CORPORATION_ID
GMT_USER_LAST_VISIT
2 indexes found.

Client/Server DSN配置
答:
1.在windows下面,在控制面版中配置DSN。这里需要注意的是在服务端的DSN属性中需要设置Authenticate=0(没有采用access control),
否则需要输入密码。并且uid是需要输入timesten的,否则的话,UID将变成客户端主机的用户名了。

2.在unix下面,需要配置sys.ttconnect.ini和sys.odbc.ini这两个文件,
在sys.ttconnect.ini中
[remote_eservice] //指向服务器端的逻辑名
Description=TimesTen Server
Network_Address=10.0.33.108 //此处的地址有如下三种写法,不同的写法导致数据的通讯模式不同,性能也不一样
//ip地址-tcp;
//ttShmHost-shared memory;
//ttLocalHost-UNIX domain sockets
TCP_PORT=17002 // 可在服务器上通过ttstatus 得到

在sys.odbc.ini文件中
[ODBC Data Sources]
eservice=TimesTen Client 7.0

[eservice]
TTC_SERVER=remote_eservice //指向第一步中配置的服务器逻辑名
TTC_SERVER_DSN=eservice //要连接到B机上哪个DataStore

注意客户端还需要配置:
export LD_LIBRARY_PATH=/home/timesten/TimesTen/tt70/lib:/usr/lib
export CLASSPATH=/home/timesten/TimesTen/tt70/lib/ttjdbc14.jar


如何实时查看TT的状态:
答:
ttStatus命令

错误处理:
802: Data store space exhausted
6221: Temporary data partition free space insufficient to allocate 64664 bytes of memory
答:在32bit上面,timesten总共可用的内存为2047M,包括tempsize和permsize。
需要增加tempsize参数,这里需要注意的是,如果一开始permsize设为2000m,后来又想调小它,
只能是把原来的Datastore删掉才行,否则是降不下来的。可以设置overwrite=1来覆盖它。
不过注意,这样不只是数据没了,而且连表的定义也没了。


上一篇:挑战程序设计竞赛 第十二章 图


下一篇:【Python中matplotlib的使用】