Timesten学习3(高可用性)

Normal07.8 磅02

1 高可用性

配置高可用性的TT,同时实现cache以及和后台oracle rac集群这种模式应该是最有价值的,两台TT同时对外提供服务,TT直接通过复制实现数据同步, 同时每个TT都通过cache agent把变化的数据传递到后台的ORACLE,这种架构应该是我们最关心的,也是最有用的。

现在配置环境

192.168.100.105 server1

192.168.100.106 server2

192.168.10.105 server1-priv

192.168.10.106 server2-priv

192.168.100.215 server1-vip

192.168.100.216 server2-vip

server1,server2安装timesten软件,软件目录安装在/timesten/Timesten,data store放在DataStore=/timesten/Timesten/peyton/rac,文件以rac开头,DSN=rac_tt70

数据库为一RAC,分别装在server1server2SID分别为orcl1orcl2

1.1 oracle上面建立需要同步的表

create user tt identified by tt default tablespace users;

SQL> create user tt identified by tt default tablespace users;

SQL> grant connect,resource to tt;

SQL> grant select any dictionary to tt;

SQL> connect tt/tt@orcl1

SQL> create table t1(id number(2) primary key);

1.2 配置tnsnames.ora

1.2.1 节点一server1

ORCL1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.215)(PORT = 1521))

)

(CONNECT_DATA =

(SID = ORCL1)

)

)

ORCL2 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.216)(PORT = 1521))

)

(CONNECT_DATA =

(SID = ORCL2)

)

)

ORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = server1-vip)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = server2-vip)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCL)

(FAILOVER_MODE =

(TYPE = SELECT)

(METHOD = BASIC)

(RETRIES = 180)

(DELAY = 5)

)

)

)

LISTENER_SERVER1 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = server1-vip)(PORT = 1521)(IP = FIRST))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.105)(PORT = 1521)(IP = FIRST))

)

)

LISTENERS_ORCL =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = server1-vip)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = server2-vip)(PORT = 1521))

)

1.2.2 节点二server2

ORCL1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.215)(PORT = 1521))

)

(CONNECT_DATA =

(SID = ORCL1)

)

)

ORCL2 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.216)(PORT = 1521))

)

(CONNECT_DATA =

(SID = ORCL2)

)

)

ORCL=

(DESCRIPTION=

(LOAD_BALANCE=OFF)

(FAILOVER=ON)

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=server2-vip)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=server1-vip)(PORT=1521))

)

(CONNECT_DATA=

(SERVICE_NAME=ORCL)

(SERVER=DEDICATED)

(FAILOVER_MODE=

(TYPE=SELECT)

(METHOD=BASIC)

(RETRIES=180)

(DELAY=5)

)

)

)

LISTENER_SERVER2 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = server2-vip)(PORT = 1521)(IP = FIRST))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.106)(PORT = 1521)(IP = FIRST))

)

)

LISTENERS_ORCL =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = server1-vip)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = server2-vip)(PORT = 1521))

)

1.3 配置rac_tt70

[rac_tt70]

Driver=/timesten/TimesTen/tt70/lib/libtten.so

DataStore=/timesten/Timesten/peyton/rac

DatabaseCharacterSet=ZHS16GBK

ConnectionCharacterSet=ZHS16GBK

Authenticate=0

PermSize=64

TempSize=16

UID=tt

OracleId=orcl

OraclePwd=tt

1.4 配置cache group

在两个节点上创建oraclecache

[tt@server1 bin]$ ttIsql rac_tt70

Copyright (c) 1996-2008, Oracle. All rights reserved.

Type ? or "help" for help, type "exit" to quit ttIsql.

All commands must end with a semicolon character.

connect "DSN=rac_tt70";

Connection successful: DSN=rac_tt70;UID=tt;DataStore=/timesten/Timesten/peyton/rac;DatabaseCharacterSet=ZHS16GBK;ConnectionCharacterSet=ZHS16GBK;DRIVER=/timesten/TimesTen/tt70/lib/libtten.so;OracleId=orcl1;Authenticate=0;PermSize=64;TempSize=16;TypeMode=0;

(Default setting AutoCommit=1)

Command> call ttCacheUidPwdSet('tt','tt');

Command> call ttCacheStart;

Command>

CREATE USERMANAGED CACHE GROUP update_anywhere_t1

AUTOREFRESH State off MODE INCREMENTAL INTERVAL 5 SECONDS FROM t1(id number(2) primary key,PROPAGATE);

You can enable and disable AUTOREFRESH by setting its STATE to either ON or OFF through a CREATE CACHE GROUP or an ALTER CACHE GROUP statement. (ON is the default.)

AUTOREFRESH is scheduled by TimesTen when the transaction that sets its STATE to ON is committed When the STATE is set to OFF, changes to the Oracle tables are not captured or recorded. You can also use the ALTER CACHE GROUP statement to set the STATE to PAUSED. When the cache group is PAUSED, changes to the Oracle tables are captured and recorded on Oracle, but are not applied to the tables in the TimesTen cache group

[tt@server2 bin]$ ttIsql rac_tt70

connect "DSN=rac_tt70";

Connection successful: DSN=rac_tt70;UID=tt;DataStore=/timesten/Timesten/peyton/rac;DatabaseCharacterSet=ZHS16GBK;ConnectionCharacterSet=ZHS16GBK;DRIVER=/timesten/TimesTen/tt70/lib/libtten.so;OracleId=orcl1;Authenticate=0;PermSize=64;TempSize=16;TypeMode=0;

(Default setting AutoCommit=1)

Command> call ttCacheUidPwdSet('tt','tt');

Command> call ttCacheStart;

Command>

CREATE USERMANAGED CACHE GROUP update_anywhere_t1

AUTOREFRESH State off MODE INCREMENTAL INTERVAL 5 SECONDS

FROM t1(id number(2) primary key,PROPAGATE);

1.5 创建复制

在两个节点上分别执行

Command> CREATE REPLICATION reptest

ELEMENT e_1 TABLE t1 MASTER rac on "server1" SUBSCRIBER rac on "server2"

ELEMENT e_2 TABLE t1 MASTER rac on "server2" SUBSCRIBER rac on "server1"

1.6 启动replication agent

[tt@server1 ~]$ ttAdmin -repStart rac_tt70

RAM Residence Policy : inUse

Replication Agent Policy : manual

Replication Manually Started : True

Cache Agent Policy : manual

Cache Agent Manually Started : True

[tt@server2 ~]$ ttAdmin -repStart rac_tt70

RAM Residence Policy : inUse

Replication Agent Policy : manual

Replication Manually Started : True

Cache Agent Policy : manual

Cache Agent Manually Started : True

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/48010/viewspace-1017607/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/48010/viewspace-1017607/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值