全部博文(389)
分类: Oracle
2013-06-12 11:08:35
timsten创建read only cache group
1,在oracle中创建一个表空间和cache管理用户(cache user),应用程序用户(如果有,就不用创建,例如frank)
create tablepsace tt '+data' size 5G;
create user cacheuser identified by cachueser;
grant connect,resource to cacheuser;
2,在timesten的服务器上配置好tnsname,且在DSN定义好了OracleNetServiceName.在tt的安装目录下的oraclescripts存放了相应的脚本
sqlplus as sysdba;
sql>@initGlobalCacheSchema.sql "tt"; (表空间)
sql>@grantCacheAdminPrivileges.sql "cacheuser"; (cache管理员)
sql>grant select on frank.t1 to cacheuser;(对将要进行在timesten中进行cache的表进行授权,如果是read only就需要select,如果是
write的group就需要insert,update和delete权限,所有的表必需要有主键);
3,在timesten的服务器上以实例管理员创建cacheuser(cache管理员)和应用程序用户(如果有,就不用创建,例如frank)
ttisql "DSN=test"
create user cacheuser identified by cacheuser; (密码可以和oracle中的cacheuser不同,不过了为了方便最好一致)
grant create session,cache_manager,create any table to cacheuser;
4,在timesten上,以cacheuser用户登录
ttisql "DSN=test;UID=cacheuser;PWD=cacheuser;OraclePWD=cacheuser"
ttcacheuidpwdset('cachueser','cacheuser'); 定义了oracle的cacheuser的用户名和密码,cache agent将会使用这个用户名和密码去oracle中读取
数据
ttgridcreate('my1') 创建一个grid
ttgridnameset('my1') 把当前的grid设为刚创建好的my1
5,创建一个cache group,假设frank用户中有一张表t1,一个栏位a,integer类型,且是主键
ttisql "DSN=test;UID=cacheuser;PWD=cacheuser;OraclePWD=cacheuser"
create readonly cache group readt1
autorefresh interval 1 seconds
from frank.t1(a integer primary key);
6,第一次手动加载cache group
ttisql "DSN=test;UID=cacheuser;PWD=cacheuser;OraclePWD=cacheuser"
load cache group readt1 commit every 100 rows;
其他可以手动unload然后再load,或是使用refresh直接加载一下, 有很多种方式。