配置TimesTen应用层数据库缓存

2020-05-05 13:13

配置TimesTen应用层数据库缓存

一、

配置TimesTen应用层数据库缓存

1、 创建一个新的表空间

以SYS用户登录SQL*Plus,命令如下:

create tablespace ttusers datafile 'ttusers.dbf' SIZE 40M;

2、 创建TimesTen用户

执行脚本initCacheGlobalSchema.sql(位于/oraclescripts目录下)创建TimesTen Schema到Oracle数据库

3、 创建缓存管理员用户

创建一个Oracle账户作为缓存管理员用户,如下命令:

create user cacheadm identified by cacheadm default tablespace ttusers quota unlimited on ttusers temporary tablespace temp;

4、 给缓存管理员用户赋予系统权限

执行脚本/oraclescripts/grantCacheAdminPrivileges.sql给缓存管理员用户赋予必要的权限

5、 给缓存管理员用户赋予数据访问权限

缓存管理员用户的职责是监控、同步缓存数据库与Oracle数据库,这个用户须要有访问Oracle中被缓存数据的表的权限,例如:

connect hr@ttorcl

grant select on hr.departments to cacheadm;

grant select, insert, update, delete on hr.employees to cacheadm; grant select, insert, update, delete on hr.job_history to cacheadm;

二、

设置缓存数据库

1、 创建一个缓存数据库

a、 通过定义一个DSN来创建缓存数据库;注意:DSN属性OracleNetServiceName必须为一

个有效的TNS服务名称来指定对应的Oracle数据库;属性DatabaseCharacterSet的值必须与Oracle数据库中的字符集一致。DSN的相关属性配置在sys.odbc.ini配置文件中。 b、 创建和连接DSN

2、 创建一个缓存管理员用户

创建缓存管理员用户并赋予ADMIN或CACHE_MANAGER权限,该用户的职责为配置和管理缓存Grid以及创建和加载数据到缓存组中。例如:

create user cacheadm identified by cacheadm; grant admin to cacheadm;

3、 创建一个缓存表用户

为了缓存Oracle中的表,TimesTen缓存数据库中必须存在这样的用户,他拥有缓存Oracle表的能力。例如:

create user hr identified by hr; grant create session to hr;

4、 将Oracle缓存管理员用户与该缓存数据库关联

以缓存管理员用户的身份登录,确保在Oracle数据库中为缓存管理员用户指定了密码。使用内部存储过程ttCacheUidPwdSet将Oracle缓存管理员用户与缓存数据库关联。通过调用存储过程ttCacheUidGet来验证Oracle缓存管理员用户已做了配置。例如:

connect \call ttcacheuidpwdset ('cacheadm','cacheadm'); call ttcacheuidget;

5、 创建缓存Grid(仅一次)

a、 仅有缓存管理员用户可以创建和管理缓存Grid,一个缓存数据库只能隶属于一个缓存

Grid,通过调用内部存储过程ttGridCreate来创建缓存Grid,仅在第一个Grid成员需要执行这个步骤。例如:

call ttgridcreate ('samplegrid');

b、 调用存储过程ttGridInfo来验证缓存Grid是否被创建。例如:

call ttgridinfo;

6、 将缓存数据库与缓存Grid关联

通过调用存储过程ttGridNameSet将当前缓存数据库与缓存Grid关联起来。例如:

call ttgridnameset ('samplegrid');

三、

给缓存数据库添加缓存组

缓存组是由缓存到TimesTen内存数据库中的Oracle表集合构成,缓存数据库可以包含一个或多个缓存组。缓存组既可以是只读的也可以是可更新的。对于只读缓存组来说,Oracle数据库中的更新是自动刷新到TimesTen中对应的缓存表中;而对于可更新缓存组,缓存表中的更新会自动更新到Oracle数据库中对应的表里。

缓存组中的数据能被预先加载,或按需加载。如果能预先确定要缓存的数据集,缓存组就能被预加载。一个动态缓存组(dynamic cache group)是按需缓存数据的缓存组,如果要缓存的数据集不能被事先确定,这种方式是合适的。

两种类型的缓存组:

局部缓存组包含的数据只能局限在自己的缓存数据库中使用,而不能被缓存Grid中的其他成员共享。

全局缓存组包含的数据能被缓存Grid中的其他成员共享;它确保了缓存Grid中相应缓存数据库中数据的一致性。

示例展示了如何创建动态可更新数据的全局缓存组,以及一个只读的局部缓存组 1、 启动缓存代理

a、 登录ttIsql,输入密码,例如:

connect \

b、 缓存代理进程是负责管理缓存数据库之间的通信和控制从Oracle数据库到TimesTen缓

存数据库的数据流。调用存储过程ttCacheStart为当前数据库开启缓存代理,例如: call ttcachestart; 2、 定义缓存组

a、 输入下面的语句CREATE CACHE GROUP来创建动态可更新全局缓存组,名称为g_awt缓

存的表为HR.EMPLOYEES和HR.JOB_HISTORY。语句如下:

create dynamic asynchronous writethrough global cache group g_awt from hr.employees ( employee_id number (6) not null, first_name varchar2(20), last_name varchar2(25) not null, email varchar2(25) not null, phone_number varchar2(20), hire_date date not null, job_id varchar2(10) not null, salary number (8,2),

commission_pct number (2,2), manager_id number (6), department_id number(4), primary key (employee_id)),

hr.job_history (employee_id number(6) not null, start_date date not null,


配置TimesTen应用层数据库缓存.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:龙泉五小高效课堂人人达标活动工作总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: