TimesTen CacheGroup配置标准操作步骤
1. 编写目的
鉴于最近网上很多朋友都在问关于CacheGroup的操作,很多兄弟按照官方文档操作,出现大量的问题,又不知道如何解决。为了帮助初学的兄弟快速搭建CacheGroup环境,所以才编写该操作文档,按照该操作文档操作即简单又清晰,希望对正在学习TimesTen的你有帮助。
2. Oracle数据库配置
2.1 创建CG表空间
SQL> create tablespace TBS_TT_CG datafile '+DATADG' size 20g;
TT在Oracle端的表空间统一使用TBS_TT_CG,“+DATADG”根据各个地市的具体情况指定。
2.2 创建并赋权CG管理用户
SQL> create user TTABM indentified by TTABM default tablespace TBS_TT_CG;
SQL> create user TTCBE indentified by TTCBE default tablespace TBS_TT_CG;
SQL> create user TTBILL indentified by TTBILL default tablespace TBS_TT_CG;
SQL> grant connect,unlimited tablespace,resource,select any table,create any trigger to TTABM;
SQL> grant connect,unlimited tablespace,resource,select any table,create any trigger to TTCBE;
SQL> grant connect,unlimited tablespace,resource,select any table,create any trigger to TTBILL;
--create by tangyun-[tony.tang]-----
这里的密码属于安全保护文件,具体实施过程由新炬TT组的同事指定。
3. TimesTen内存库配置
3.1 TimesTen环境变量配置
export TNS_ADMIN=/oracle/client_64/network/admin
export ORACLE_HOME=/oracle/client_64
将上面两行添加到环境变量.profile文件中
3.2 配置sys.odbc.ini文件
OracleNetServiceName=GZCRM2
在sys.odbc.ini文件中添加OracleNetServiceName连接参数,后面的值GZCRM2是连接Oracle的TNS连接串。
$ chmod 600 sys.odbc.ini
由于sys.odbc.ini文件涉及密码安全问题,将该文件的权限修改为600.
3.3 配置ttendaemon.options文件
--create by tangyun-[tony.tang]-----
-tns_admin /oracle/client_2/network/admin
tns_admin参数的配置属于数据库级别的参数,该参数需要首先是要ttmodinstall进行修改后再做配置,配置完成后需要重启deamon进程;该参数的值是指定Oracle的tnsnames.ora的路径。
$ chmod 600 ttendaemon.options
由于ttendaemon.options文件涉及数据库级安全问题,将该文件的权限修改为600.
3.4 配置tnsnames.ora文件
ORA11G=
(DESCRIPTION =
(ENABLE=BROKEN)
(FAILOVER=YES)
(LOAD_BALANCE=OFF)
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.132)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.26.130)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =sora)
)
)
)
这里需要注意的是,SERVICE_NAME的值为连接Oracle端的服务名,该服务运行在哪个节点,那么TT将从哪个节点进行CacheGroup刷新;一旦Oracle端运行该服务的节点出现问题时,需要服务能正常自动切换;如果该服务无法正常切换,那么CacheGroup将不能正常刷新,待Oracle端数据库恢复后,TT端需要重启说有节点(包括主备节点)的CacheAgent进程,重新与Oracle建立连接。
4. 创建CacheGroup
4.1 创建CacheGroup管理账号
--ABM
$ ttisql abm
Command> create user TTABM indentified by TTABM;
Command> grant create session,admin,cache_manager to TTABM;
--create by tangyun-[tony.tang]-----
Command> create user TTBILL indentified by TTBILL;
Command> grant create session,admin,cache_manager to TTBILL;
这里的密码属于安全保护文件,具体实施过程由新炬TT组的同事指定,而且这里TT管理账号权限很高,必须注意密码保护。
4.2 设置CacheGroup管理账号
--ABM
$ ttisql abm
Command> call ttcacheuidpwdset(‘TTABM’,‘TTABM’);
--create by tangyun-[tony.tang]-----
单引号的第一个值为CacheGroup管理账号的用户名,第二个值为CG管理账号的密码,密码按照真实密码填写。
4.3 创建CacheGroup
---这里以ABM为例
$ ttadmin -repstop ABM
$ ttisql "dsn=ABM;uid=TTABM;pwd=TTABM;oraclepwd=TTABM"
Command> call ttCacheStart;
Command>create readonly cache group TTABM.XXXX_CACHE
> autorefresh mode incremental
> interval 30000 milliseconds
> from GZABM1.XXXX (
> TID TT_BIGINT NOT NULL,
> TNAME TT_INTEGER,
> primary key (TID));
Command> create index GZABM1.IDX_TNAME on GZABM1.XXXX (TNAME);
Command> load cache group TTABM.XXXX_CACHE commit every 25600 rows parallel 4;
Command> ALTER CACHE GROUP TTABM.XXXX_CACHE SET AUTOREFRESH STATE PAUSED;
--create by tangyun-[tony.tang]-----
Command> alter active standby pair include cache group TTABM.XXXX_CACHE;
Command> ALTER CACHE GROUP TTABM.XXXX_CACHE SET AUTOREFRESH STATE on;
Command> exit
$ ttadmin -repstart GZABM
4.4 重启CacheAgent并检查Oracle端状态
a)重启CacheAgent
Command> call ttcachestop;
Command> call ttcachestart;
b)获取Oracle端表的object_id。
select object_id from dba_objects where owner='TTABM' and object_name='&tabName' and object_type='TABLE';
c)、确定CacheGroup在Oracle端的对象
select object_name,object_type,owner from dba_objects where object_name like 'TT_05_object_id%';
d)、确定CacheGroup在Oracle端的注册信息
select object_id,bookmark,host,owner,cgname,status from ttabm.tt_05_agent_status
where owner='TTABM' and cgname='&cgName';
4.5 重建备机
---参考重建备机操作手册。
参考脚本:
ttRepAdmin /
-duplicate -from ${STORENAME} -host ${ACTIVEHOST} /
-setMasterRepStart -ramLoad -delXla /
-UID ${UID} -PWD ${PWD} /
-compression 0 -verbosity 2 /
-keepCG -cacheUid ${CACHEUID} -cachePwd ${CACHEPWD} /
-localhost ${STANDBYHOST} /
-connStr "dsn=$DSN;uid=$UID;pwd=$PWD" /
5. 注意事项
--create by tangyun-[tony.tang]-----
a)、配置TNS后,需要提前进行测试。
b)、文件tnsnames.ora建议采用属主为timesten,并回收其他用户的修改权限,避免误修改引发的问题
c)、对CacheGroup的任何变更需要重启CacheAgent.
Created by Tony.Tang[TangYun]2016.01
------------------------End---------------------------
正文到此结束