设为首页 加入收藏

TOP

TimesTen内存碎片(高水位)回收步骤详解
2016-04-22 22:39:06 】 浏览:281
Tags:TimesTen 内存 碎片 水位 回收 步骤 详解

一、迁移并重建主节点,对主节点进行内存碎片回收

l 使用TT内存库自带的ttMigrate工具迁移备节点内存库


1、停止备节应用及其他进程


a)、检查应用进程


ps -fu timesten ##除了TT数据库进程,其余进程全部停止


b)、检查备节点的其他进程


ttstatus


c)、停止备节点的TTSERVER进程


ttdaemonadmin -stopserver ##这里需要注意是否多个DSN


d)、核查主备节点checkpoint进程是否全部完成


call ttckpthistory


停止主备节点复制进程:


ttadmin -repstop $DSN


2、使用ttMigrate工具迁移备节点内存数据库


ttMigrate -c $DSN /ttbackup/m$DSNstandby.dat


l 删除备节点DSN


1、备份TT内存库对象的创建脚本


ttSchema $DSN


2、unload备节点DSN


call ttckpt; ##unload前先做两次checkpoint


call ttckpt;


ttadmin -ramunload $DSN


3、删除备节点DS


ttdestroy $DSN


4、停止daemon,检查内存段释放情况


ttdaemonadmin -stop ##这里停止daemon需要注意是否有多个DSN


ipcs -map |grep timesten


ps -fu timesten


topas


l 采用之前迁移的备份文件重建备节点DS


1、使用ttisql拉起实例


ttdaemonadmin -start


ttisql $DSN ##这里需要确定autocreate参数是否等于1


Command> host ttadmin -rampolicy manual $DSN


2、使用管理账号把之前迁移出去的备节点备份迁移回来


ttMigrate -r -connstr "dsn=$DSN;uid=timesten" /ttbackup/m$DSNstandby.dat


3、启动主备节点的复制进程并检查主备复制


主节点:


ttadmin -repstart $DSN


call ttrepstatget;


call ttlogholds; ##这里的目的是检查主节点是否出现长事务,引起主备节点不同步


备节点:


ttadmin -repstart $DSN


Command> call ttRepStateGet;


< STANDBY, NO GRID >


1 row found.


4、检查内存碎片是否释放,检查主备复制是否正常


备节点:


Command> dssize m;


Command> call ttblockinfo;


ttadmin -noautoreload $DSN ##设置不自动加载


ttstatus -debug|grep -i auto


主节点:


call ttbookmark;


ttstatus


检查主备节点的tterror.log日志


二、主备切换,迁移并重建主节点内存库


检查主节点内存库是否正常,检查复制进程是否正常。


检查主备同步是否正常


1、停止主备节点的复制进程


停止主备节点复制进程:


ttadmin -repstop $DSN


l 删除新备节点DSN


1、备份备节点对象的创建脚本


ttSchema $DSN


2、unload备节点DSN。


call ttckpt; ##unload前先做两次checkpoint


call ttckpt;


ttadmin -ramunload $DSN


3、删除备节点DS


ttdestroy $DSN


4、停止daemon,检查内存段释放情况


ttdaemonadmin -stop ##这里停止daemon需要注意是否有多个DSN


ipcs -map |grep timesten


ps -fu timesten


topas


l 使用重建备机脚本直接重建备机(新的备节点)


1、使用重建备机脚本直接重建备机


2、启动新备节点的复制进程


ttadmin -repstart $DSN


Command> call ttRepStateGet;


< STANDBY, NO GRID >


1 row found.


3、检查高水位是否释放,检查新主备复制是否正常


新备节点:


Command> dssize m;


Command> call ttblockinfo;


ttadmin -noautoreload $DSN ##


ttstatus -debug|grep -i auto


新主节点:


call ttbookmark;


ttstatus


检查主备节点的tterror.log日志


4、新备节点高水位回收已完成,启动并检查业务是否正常运行。


至此,主备节点的内存碎片回收操作已经完成。


注意事项:


1、在实施备节点内存碎片回收操作如果出现备节点IDLE,可以检查主节点是否存在长事务,如果存在长事务,先处理长事务。


2、在实施过程中如果出现任何异常,采用紧急重建备机的方式回退。
3、在11.2.1.x版本中存在内存碎片回收后无法进入主备模式的情况,建议进行内存碎片回收前分析是否可以正常进入主备模式。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL数据丢失后利用binlog恢复有.. 下一篇TimesTen重建备机标准操作[TimesT..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目