TimesTen在ASP模式下,主备切换是日常运维中比较经常需要实施的操作,虽然我们可以配置HACMP自动切换,但是手动切换也是难免的,无论是配置自动切换还是手动切换。具体的操作步骤基本一致。
1、切换前注意事项:
a、检查主备同步状态,如若有日志复制堆积,则需要等其日志追平。
b、主备切换需要将主备节点上承载的业务全部停止,切换后,必须检查主备角色状况,及主备节点复制状况,保证主备关系正常。
2、手动主备切换步骤
--注释定时脚本
#crontab -e
#:%s/^/#/g
--主节点查看主备复制日志堆积情况
ttrepadmin -log
ttisql -connstr -v 1 -e "call ttbookmark;bye;"
--复制日志无堆积,通知开发商停业务,必须停止所有的业务进程.
--检查ckpt状态,若正处于ckpt执行状态,需等待其执行完成(Completed 状态),才可进行主备切换.
ttisql -connstr -v 1 -e "call ttckpthistory;bye;"
--停止当前主节点Cache Agent进程:
ttadmin -cacheStop
或
ttisql -connstr -v 1 -e "call ttcachestop;bye;"
--主备事务保持一致(主节点执行)
ttisql -connstr -v 1 -e "call ttRepSubscriberWait(,,,,-1);bye;"
--停止主节点复制进程
ttadmin -repStop
或
ttisql -connstr -v 1 -e "call ttrepstop;bye;"
--将原主节点的状态置为 idle状态
ttisql -connstr -v 1 -e "call ttRepDeactivate;call ttrepstateget;bye;"
--将备机的状态置为 active 状态
ttisql -connstr -v 1 -e "call ttrepstateset('ACTIVE');call ttrepstateget;bye;"
--启动新主节点复制进程
ttadmin -repStart
或
ttisql -connstr -v 1 -e "call ttrepstart;bye;"
--启动新主节点Cache Agent进程
ttadmin -cacheStart
或
ttisql -connstr -v 1 -e "call ttcachestart;bye;"
--检查主备节点角色情况
ttisql -connstr -v 1 -e "call ttrepstateget;bye;"
--检查主备复制及Cache Group刷新状态:
ttisql -connstr -v 1 -e "call ttbookmark;bye;"
ttisql -connstr -v 1 -e "select 'PERM' type,
to_char(round(perm_allocated_size/1024)),
to_char(round(perm_in_use_size/1024)),
to_char(round(perm_in_use_high_water/1024)),
to_char(round(perm_in_use_size*100/perm_allocated_size,2))
from sys.monitor
union all
select 'TEMP' type,
to_char(round(temp_allocated_size/1024)),
to_char(round(temp_in_use_size/1024)),
to_char(round(temp_in_use_high_water/1024)),
to_char(round(temp_in_use_size*100/temp_allocated_size,2))
from sys.monitor;
call ttBlockInfo;bye;"
--检查操作日志
--检查Data Store状态
--检查错误日志
--通知开发商启动应用
--启动定时任务
=========================End===========================================================
1、切换前注意事项:
a、检查主备同步状态,如若有日志复制堆积,则需要等其日志追平。
b、主备切换需要将主备节点上承载的业务全部停止,切换后,必须检查主备角色状况,及主备节点复制状况,保证主备关系正常。
2、手动主备切换步骤
--注释定时脚本
#crontab -e
#:%s/^/#/g
--主节点查看主备复制日志堆积情况
ttrepadmin -log
ttisql -connstr -v 1 -e "call ttbookmark;bye;"
--复制日志无堆积,通知开发商停业务,必须停止所有的业务进程.
--检查ckpt状态,若正处于ckpt执行状态,需等待其执行完成(Completed 状态),才可进行主备切换.
ttisql -connstr -v 1 -e "call ttckpthistory;bye;"
--停止当前主节点Cache Agent进程:
ttadmin -cacheStop
或
ttisql -connstr -v 1 -e "call ttcachestop;bye;"
--主备事务保持一致(主节点执行)
ttisql -connstr -v 1 -e "call ttRepSubscriberWait(,,,,-1);bye;"
--停止主节点复制进程
ttadmin -repStop
或
ttisql -connstr -v 1 -e "call ttrepstop;bye;"
--将原主节点的状态置为 idle状态
ttisql -connstr -v 1 -e "call ttRepDeactivate;call ttrepstateget;bye;"
--将备机的状态置为 active 状态
ttisql -connstr -v 1 -e "call ttrepstateset('ACTIVE');call ttrepstateget;bye;"
--启动新主节点复制进程
ttadmin -repStart
或
ttisql -connstr -v 1 -e "call ttrepstart;bye;"
--启动新主节点Cache Agent进程
ttadmin -cacheStart
或
ttisql -connstr -v 1 -e "call ttcachestart;bye;"
--检查主备节点角色情况
ttisql -connstr -v 1 -e "call ttrepstateget;bye;"
--检查主备复制及Cache Group刷新状态:
ttisql -connstr -v 1 -e "call ttbookmark;bye;"
ttisql -connstr -v 1 -e "select 'PERM' type,
to_char(round(perm_allocated_size/1024)),
to_char(round(perm_in_use_size/1024)),
to_char(round(perm_in_use_high_water/1024)),
to_char(round(perm_in_use_size*100/perm_allocated_size,2))
from sys.monitor
union all
select 'TEMP' type,
to_char(round(temp_allocated_size/1024)),
to_char(round(temp_in_use_size/1024)),
to_char(round(temp_in_use_high_water/1024)),
to_char(round(temp_in_use_size*100/temp_allocated_size,2))
from sys.monitor;
call ttBlockInfo;bye;"
--检查操作日志
--检查Data Store状态
--检查错误日志
--通知开发商启动应用
--启动定时任务
=========================End===========================================================
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24930246/viewspace-1173726/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24930246/viewspace-1173726/