Oracle TimesTen内存数据库学习体会

常用命令
1、启动和停止TimesTen后台服务
ttdaemonadmin -start;--启动TimesTen
ttdaemonadmin -stop;--停止TimesTen

2、ttIsql中执行的命令
2.1、连接数据库
connect "DSN=tt_1122";--连接数据库
DSN代表Data Source Name

2.2、连接IMDB(In-Meory Database Cache)
connect "DSN=tt_1122;UID=win;pwd=win;OraclePwd=win;OracleId=ORCL";--连接IMDB
UID是操作系统用户名,pwd是UID对应的密码,OracleId是TimesTen连接的Oracle服务。UID对应的字串必须在oracle中有对应的用户,OraclePwd是该数据库用户的密码。

2.3、在TimesTen中创建用户和赋权限
CREATE USER win IDENTIFIED BY win;--TimesTen创建用户
GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE TO win;--TimesTen赋给用户权限

2.4、设置IMDB Cache的用户名和密码
call ttCacheUidPwdSet('win','win');

2.5、启动IMDB Cache
call ttCacheStart;--启动IMDB Cache
CALL ttCachePolicySet('always');--将IMDB Cache设为自启动

2.6、创建Grid
call ttGridCreate('myGrid');--创建Grid

2.7、设置Grid名称
call ttGridNameSet('myGrid');--设置Grid名称

2.8、查看用户下所有的用户表
sqltables;

2.9、查看用户下所有Cache
cachegroups;

2.10、创建Cache
CREATE READONLY CACHE GROUP readcache AUTOREFRESH INTERVAL 1 SECONDS FROM t1 (id number(2) not null primary key);

2.11、从Oracle表中加载数据到IMDB Cache
LOAD CACHE GROUP readcache COMMIT EVERY 256 ROWS;

2.12、查看检查点历史
call ttCkptHistory();

2.12、查看TimesTen内存使用情况
select PERM_ALLOCATED_SIZE, TEMP_ALLOCATED_SIZE, PERM_IN_USE_SIZE, PERM_IN_USE_HIGH_WATER,
TEMP_IN_USE_SIZE, TEMP_IN_USE_HIGH_WATER from sys.monitor;

3、删除TimesTen的数据库实例
ttDestroy tt_1122;

注意事项
1、linux下安装需要创建/etc/TimesTen目录,只有root用户有创建权限,创建完成之后,把该目录的所有者和组换成TimesTen的用户和组。
命令如下:chown timesten:timesten /etc/TimesTen;

2、Cache Group表必须有一个主键,会使用到对应Oracle的表字段,在触发器的存储过程里会把该字段写到一个定制的表里。Oracle表的该字段必须是主键或者有唯一性索引,这样从定制表中的该字段定位过来的时候可以利用索引来快速检索,提高复制速度。

3、Oracle数据库中一定要创建一个TimesTen用户,密码最好也是TimesTen,Grid的信息存放在这个用户下面。

4、sys.odbc.ini文件中可以配置ConnectionCharacterSet=AL32UTF8。

5、TempSize has no predefined value. If left unspecified, its value is determined from PermSize as follows:
--If PermSize is less than 64MB, TempSize = 32 MB + ceiling(PermSize / 4 MB).
--Otherwise, Tempsize = 40 MB + ceiling(PermSize / 8 MB).

6、timesten数据库创建之后不能再调整参数,否则会报错,只能用ttDestroy删除数据库之后更改sys.odbc.ini才能生效。重新创建数据库,会在安装目录的info文件夹下生成数据库文件,内存中的数据会根据检查点写到这些数据库文件里,这样timesten重启之后仍然可以根据数据库文件加载到之前的状态。

你可能感兴趣的:(oracle,timesten)