TimesTen-CacheGroup配置操作指導[TimesTen運維]

tangyunoracle發表於2014-01-07
一、Oracle資料庫配置
建立CG表空間
SQL> create tablespace TBS_TY datafile '+DATADG' size 20g;
TT在Oracle端的表空間統一使用TBS_TY,“+DATADG”根據各個地市的具體情況指定。
建立並賦權CG管理使用者
SQL> create user ty indentified by ty default tablespace TBS_TY;
SQL> grant connect,unlimited tablespace,resource,select any table,create any trigger to ty;
這裡的密碼屬於安全保護檔案,具體實施過程由TT組的同事指定。
TimesTen記憶體庫配置
二、TimesTen環境變數配置
export TNS_ADMIN=/oracle/client_64/network/admin
export ORACLE_HOME=/oracle/client_64
將上面兩行新增到環境變數.profile檔案中
配置sys.odbc.ini檔案
OracleNetServiceName=tydb
在sys.odbc.ini檔案中新增OracleNetServiceName連線引數,後面的值tydb是連線Oracle的TNS連線串。
配置ttendaemon.options檔案
-tns_admin /oracle/client_2/network/admin
tns_admin引數的配置屬於資料庫級別的引數,該引數需要首先是要ttmodinstall進行修改後再做配置,配置完成後需要重啟deamon程式;該引數的值是指定Oracle的tnsnames.ora的路徑。
配置tnsnames.ora檔案
tydb=
  (DESCRIPTION =
    (ENABLE=BROKEN)
    (FAILOVER=YES)
    (LOAD_BALANCE=OFF)
    (ADDRESS_LIST=
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.12)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =stydb)
      (FAILOVER_MODE=
        (METHOD=BASIC)
        (type=session)
        (retries=120)
        (delay=5)
      )
    )
  )
這裡需要注意的是,SERVICE_NAME的值為連線Oracle端的服務名,該服務執行在哪個節點,那麼TT將從哪個節點進行CacheGroup重新整理;一旦Oracle端執行該服務的節點出現問題時,需要服務能正常自動切換;如果該服務無法正常切換,那麼CacheGroup將不能正常重新整理,待Oracle端資料庫恢復後,TT端需要重啟說有節點(包括主備節點)的CacheAgent程式,重新與Oracle建立連線。
三、建立CacheGroup
建立CacheGroup管理賬號
$ tt si
Command> create user ty indentified by ty;
Command> grant create session,admin,cache_manager to ty;
這裡的密碼屬於安全保護檔案,具體實施過程由TT組的同事指定,而且這裡TT管理賬號許可權很高,必須注意密碼保護。
設定CacheGroup管理賬號
$ tt si
Command> call ttcacheuidpwdset('ty','ty');
單引號的第一個值為CacheGroup管理賬號的使用者名稱,第二個值為CG管理賬號的密碼,密碼按照真實密碼填寫。
建立CacheGroup
$ ttadmin -repstop tytt
$ ttisql "dsn=tydb;uid=ty;pwd=ty;oraclepwd=ty"

Command> call ttCacheStart;
Command>create readonly cache group ty.XXXX_CACHE
       > autorefresh mode incremental
       > interval 30000 milliseconds
    > from test.XXXX (
       > TID       TT_BIGINT NOT NULL,
       > TNAME     TT_INTEGER,
       > primary key (TID));
Command> create index test.IDX_TNAME on test.XXXX (TNAME);
Command> load cache group ty.XXXX_CACHE commit every 25600 rows parallel 32;
Command> ALTER CACHE GROUP ty.XXXX_CACHE SET AUTOREFRESH STATE PAUSED;
Command> alter active standby pair include cache group ty.XXXX_CACHE;
Command> ALTER CACHE GROUP ty.XXXX_CACHE SET AUTOREFRESH STATE on;
Command> exit
$ ttadmin -repstart tytt

重啟CacheAgent並檢查Oracle端狀態
a)重啟CacheAgent
Command> call ttcachestop;
Command> call ttcachestart;
b)獲取Oracle端表的object_id。
select object_id from dba_objects where owner='TY' 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='TY' and cgname='&cgName';

重建備機
參考指令碼:
 ttRepAdmin                       \
  -duplicate -from ${STORENAME} -host ${ACTIVEHOST}   \
  -UID ${UID} -PWD ${PWD}                             \
  -keepCG -cacheUid ${CACHEUID} -cachePwd ${CACHEPWD} \
  -localhost ${STANDBYHOST}                           \
  -connStr "dsn=$DSN;uid=$UID;pwd=$PWD"               \
四、注意事項
a)、配置TNS後,需要提前進行測試。
b)、檔案tnsnames.ora建議採用屬主為timesten,並回收其他使用者的修改許可權,避免誤修改引發的問題
c)、對CacheGroup的任何變更需要重啟CacheAgent.
======================End====================================

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-1068148/,如需轉載,請註明出處,否則將追究法律責任。

相關文章