TimesTen重建備機標準操作[TimesTen營運]
在TimesTen營運過程中,重建備機是日常營運中最經常實施的操作,這裡記錄一下重建備機操作步驟,便於初入門的兄弟參考。
1、注釋定時任務指令碼
$ crontab -e
:%s/^/#/g
2、檢查主備同步情況
ttisql -connstr
Command> call ttbookmark;
Command> call ttbookmark;
3、停止主節點的複製進程
ttisql -connstr -v 1 -e "call ttrepstop;bye;"
4、檢查TT的狀態、檢查動作節點角色
ttstatus
ttisql -connstr -v 1 -e "call ttrepstateget;bye;" --確認備機角色 standby
5、停止並刪除備機
$ttadmin -cachestop
$ ps -fu timesten ---查詢所有應用進程及監控進程並kill掉
Command> call ttckpt; ---做兩次CheckPoint
Command> call ttckpt;
$ttadmin -ramunload ---unload DSN
$ttstatus
$ttdestroy ---刪除DSN
$ttdestroy -force ---刪除DSN,含有Cache Group的Data Store需要加force參數。或者按照正常操作先將所有Cache Group刪除。
6、檢查共用記憶體端
$ttdaemonadmin -stop --若該備機上僅單DSN,則停止Daemon進程,一個instance有多個DataStore則不操作此步驟
$ps -fu timesten
$ipcs -a |grep timesten
7、重建備機
在主節點啟動複製進程
ttisql -connstr -v 1 -e "call ttrepstart;bye;"
$ttdaemonadmin -start
nohup ${TT_HOME}/bin/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" \
> nohup.log
#ACTIVEHOST=主節點主機名稱
#STANDBYHOST=備節點主機名稱
#STORENAME=DS檔案的首碼
#UID=資料庫使用者名稱,這裡一般使用timesten,tt7.x.x則使用資料庫系統管理使用者,需要有admin許可權
#PWD=密碼
#CACHEUID=Cache Group的系統管理使用者,tt7.x.x一般與上面使用者相同
#CACHEPWD=Cache Group的系統管理使用者密碼。
8、檢查記憶體載入策略
Command>host ttadmin -query ##一般設定為manual,ttadmin -rampolicy manual $DSN;
9、啟動複製進程、CacheAgent進程
$ttadmin -cachestop
$ttadmin -repstop ---主備節點都要啟動
10、檢查運行狀態和節點角色
$ttstatus
Command>call ttrepstateget;
10、設定記憶體不自動裝載,TT如果自動裝載容易引起記憶體耗盡故障。
$ttadmin -noautoreload
$ ttstatus -debug|grep -i auto --檢查設定是否成功
11、檢查TT記憶體庫運行是否正常,啟動監控,通知開發商起應用並檢查應用。
重建備機注意事項
a、注意是否有一個Daemon運行多個DSN。
b、一定要檢查共用記憶體段是否正常釋放,避免載入兩份記憶體
c、操作過程中可以多運行ttstatus,有助於時間的確定和確保操作的機器正確。