轉~timesten系列七:配置高可用性的TT,同時實現和cache和後臺oracle整合
這種模式應該是最有價值的
兩臺TT同時對外提供服務,TT直接透過複製實現資料同步,
同時每個TT都透過cache agent把變化的資料傳遞到後臺的ORACLE,這種架構應該是我們最關心的,也是最有用的。
如何配置呢?
以如下環境為例說明
主機 rac01安裝了TT ,data store放在 /oracle/timesten/TimesTen/tt70/info/wzy ,檔案以wzy開頭,DSN=wzy_tt70
主機 rac02安裝了TT ,data store放在 /oracle/timesten/TimesTen/tt70/info/wzy ,檔案以wzy開頭,DSN=wzy_tt70
資料庫為一RAC,分別裝在rac01和rac02,SID分別為rac1和rac2
1.在oracle上面建立需要同步的表
sqlplus tt/tt@rac1
create table t1(id number(2) primary key);
2.配置rac01和rac02的oracle client的tnsnames.ora,
加上
RAC1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac01)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac1)
)
)
3.配置rac01和rac02上得wzy_tt70,最後如下
[wzy_tt70]
Driver=/oracle/timesten/TimesTen/tt70/lib/libtten.so
DataStore=/oracle/timesten/TimesTen/tt70/info/wzy/wzy
DatabaseCharacterSet=WE8ISO8859P1
Authenticate=0
PermSize=64
TempSize=16
UID=tt
OracleId=rac1
OraclePwd=tt
4.在rac01和rac02的TT上面分別建立到oracle的cache
ttIsql wzy_tt70
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);
注意:AUTOREFRESH 的 State 一定要設定為 off,因為我們同時開啟了兩臺TT的寫和複製功能,就不能自動把oracle的變化同步到TT了,所以在這種情況下,就不建議在oracle上面做事物操作了。
5.在rac01和rac02的TT上面分別建立到複製
ttIsql wzy_tt70
Command> CREATE REPLICATION reptest
>ELEMENT e_1 TABLE t1 MASTER wzy on "rac01" SUBSCRIBER wzy on "rac02"
>ELEMENT e_2 TABLE t1 MASTER wzy on "rac02" SUBSCRIBER wzy on "rac01"
6.啟動rac01和rac02上面的replication agent
ttAdmin -repStart wzy_tt70
7.在rac01上面的TT從oracle load data
LOAD CACHE GROUP update_anywhere_t1 COMMIT EVERY 256 ROWS;
完工了,一個具有最高可用性的,而且最有實際價值的TT架構就完成了。。。
希望後面還有時間來寫一些performance tuning ,trouble shooting 和best practices方面的內容。。。
兩臺TT同時對外提供服務,TT直接透過複製實現資料同步,
同時每個TT都透過cache agent把變化的資料傳遞到後臺的ORACLE,這種架構應該是我們最關心的,也是最有用的。
如何配置呢?
以如下環境為例說明
主機 rac01安裝了TT ,data store放在 /oracle/timesten/TimesTen/tt70/info/wzy ,檔案以wzy開頭,DSN=wzy_tt70
主機 rac02安裝了TT ,data store放在 /oracle/timesten/TimesTen/tt70/info/wzy ,檔案以wzy開頭,DSN=wzy_tt70
資料庫為一RAC,分別裝在rac01和rac02,SID分別為rac1和rac2
1.在oracle上面建立需要同步的表
sqlplus tt/tt@rac1
create table t1(id number(2) primary key);
2.配置rac01和rac02的oracle client的tnsnames.ora,
加上
RAC1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac01)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rac)
(INSTANCE_NAME = rac1)
)
)
3.配置rac01和rac02上得wzy_tt70,最後如下
[wzy_tt70]
Driver=/oracle/timesten/TimesTen/tt70/lib/libtten.so
DataStore=/oracle/timesten/TimesTen/tt70/info/wzy/wzy
DatabaseCharacterSet=WE8ISO8859P1
Authenticate=0
PermSize=64
TempSize=16
UID=tt
OracleId=rac1
OraclePwd=tt
4.在rac01和rac02的TT上面分別建立到oracle的cache
ttIsql wzy_tt70
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);
注意:AUTOREFRESH 的 State 一定要設定為 off,因為我們同時開啟了兩臺TT的寫和複製功能,就不能自動把oracle的變化同步到TT了,所以在這種情況下,就不建議在oracle上面做事物操作了。
5.在rac01和rac02的TT上面分別建立到複製
ttIsql wzy_tt70
Command> CREATE REPLICATION reptest
>ELEMENT e_1 TABLE t1 MASTER wzy on "rac01" SUBSCRIBER wzy on "rac02"
>ELEMENT e_2 TABLE t1 MASTER wzy on "rac02" SUBSCRIBER wzy on "rac01"
6.啟動rac01和rac02上面的replication agent
ttAdmin -repStart wzy_tt70
7.在rac01上面的TT從oracle load data
LOAD CACHE GROUP update_anywhere_t1 COMMIT EVERY 256 ROWS;
完工了,一個具有最高可用性的,而且最有實際價值的TT架構就完成了。。。
希望後面還有時間來寫一些performance tuning ,trouble shooting 和best practices方面的內容。。。
感謝原作者!
[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14844492/viewspace-1044929/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 轉~timesten系列六:定義複製,實現timesten的高可用性
- Linux配置雙網路卡繫結實現負載均衡和高可用性配置Linux負載
- Timesten cache group aging 功能的實現
- Timesten學習3(高可用性)
- spring-boot 同時配置Oracle和MySQLSpringbootOracleMySql
- TimesTen中配置只讀Cache Group to Oracle的基本步驟Oracle
- 配置PHP使之能同時支援GIF和JPEG (轉)PHP
- 使用 MaxScale 實現資料庫的高可用性和彈性資料庫
- MySQL中union和order by同時使用的實現方法MySql
- RabbitMQ實戰:可用性分析和實現MQ
- TimesTen Warnings and Errors - TT40005 to TT48119 [ID 1339892.1]Error
- TimesTen Warnings and Errors - TT0400 to TT9999 [ID 1338450.1]Error
- SQL Server 2005和Oracle高可用性對比SQLServerOracle
- TimesTen計算和配置TimesTen的ttmesg日誌儲存空間
- nginx proxy cache的配置實現Nginx
- LRU Cache的原理和python的實現Python
- TimesTen修改CacheGroup管理使用者在ORACLE端及TT端密碼Oracle密碼
- 使用Consul和ProxySQL實現MySQL HA讀寫分離高可用性MySql
- RedHat AS 3.0下高可用性叢集配置(轉)Redhat
- ORACLE臨時表和SQLSERVER臨時表異同OracleSQLServer
- MMM實現mysql高可用性薦MySql
- Timesten cache database的準備Database
- [轉]使用複製來提升MySQL的高可用性和處理能力MySql
- iview input實現點選和enter同時搜尋技巧View
- javascript實現的同時按下ctrl和其他鍵觸發事件JavaScript事件
- 關於持續整合打包平臺的Jenkins配置和構建指令碼實現細節Jenkins指令碼
- 轉~timesten系列一:簡介
- 【原創】ARM平臺記憶體和cache對xenomai實時性的影響記憶體AI
- Oracle_TimesTen_and_In-Memory_Database_Cache_11g_Ed_1OracleDatabase
- 最大個人直播平臺Twitch如何實現99.99%高可用性?
- Python 中 lru_cache 的使用和實現Python
- Timesten新增Cache Groups到 Cache DatabaseDatabase
- zabbix5.0升級6.0,實現原生主備的同時實現高可用
- 淺談iOS和Android後臺實時訊息推送的原理和區別iOSAndroid
- SQL Query Result Cache的使用和配置--Oracle 11G新特性SQLOracle
- oracle高可用性遷移方案簡介_轉摘Oracle
- iBackDoor(愛後門)和DroidBackDoor(安後門):同時影響iOS和Android的”後門”SDK?iOSAndroid
- 在異構平臺配置Oracle11gR2 Streams同時再配置相同平臺的Oracle11gR2 DataguardOracle