热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TimesTen的碎片整理

针对双向复制的tt数据进行碎片整理,有两个方式:ttmigrate和ttrepadmin-duplicate本文主要讲第二种使用克隆的方式进行碎片整

针对双向复制的tt数据进行碎片整理,有两个方式:

ttmigrate和ttrepadmin -duplicate

本文主要讲第二种使用克隆的方式进行碎片整理,前提是源库已经做过碎片整理了。

环境说明:

两台本地虚机,系统centos7.6,tt版本11.2.2.8.0:

复制器:

tt两个库都已经创建好用户ocs,密码ocs。

tt状态:

步骤:

tt备机碎片整理步骤

 

1、业务切换到主机(通过集群操作) root(如果本来就在主机则跳过此步)

          Switch business to standby (through cluster operation)

确保切换成功

cli

service-migrate

 

check list :

检查清单

 

a、备机(rootttocs用户下的crontab都检查下)

检查tt相关crontab,如果有停止掉,主要是避免连接。

业务确认。

 

b、备机

检查tt删除数据脚本,不能在备机运行。有可能是zmc清理,也有可能是crontab清理,需要确认如果是zmc清理,那么确认zmc是否是连的tt的浮动ip,如果是可以无需处理,否则需要停掉;如果是crontab清理,确保备机的定时任务不会运行。

业务确认。

 

c、备机

停备机的ocs进程,因为ocs进程会有连接连到tt,导致无法卸载tt内存。

业务确认。

 

d、备机

停备机的网管,确保网管不会连接备机的tt

业务确认。

 

e、主机

停掉备机的复制器后,tt同步日志会在主节点积压,需要观察文件系统使用增长率,估算是否满足操作时间;

get_ttlogfile_increase.sh”可以获取最近一个小时内的TT事务日志文件增长大小。

#!/usr/bin/bashcd /gfs01/tt/tmp/echo "
set serveroutput on
spool awk_ttckpthistory.log
call ttckpthistory;
spool off
"|ttisql ocs;ckptbytes&#61;&#96;awk -F"," &#39;{a&#43;&#61;$16}END{print a}&#39; awk_ttckpthistory.log&#96;maxtime&#61;&#96;awk -F"," &#39;{ gsub(/<|>|-|:| |Command/,""); print $0 }&#39; awk_ttckpthistory.log | awk -F"," &#39;{if($4 !&#61; null ) print $0}&#39; | awk -F"," &#39;{y1&#61; substr($1,1,4); m1&#61;substr($1,5,2); d1&#61;substr($1,7,2);h1&#61;substr($1,9,2);M1&#61;substr($1,11,2);s1&#61;substr($1,13,2); time1 &#61; strftime("%s",mktime(y1" "m1" "d1" "h1" "M1" "s1));{print time1}}&#39;|head -n 1&#96;
mintime&#61;&#96;awk -F"," &#39;{ gsub(/<|>|-|:| |Command/,""); print $0 }&#39; awk_ttckpthistory.log | awk -F"," &#39;{if($4 !&#61; null ) print $0}&#39; | awk -F"," &#39;{y1&#61; substr($1,1,4); m1&#61;substr($1,5,2); d1&#61;substr($1,7,2);h1&#61;substr($1,9,2);M1&#61;substr($1,11,2);s1&#61;substr($1,13,2); time1 &#61; strftime("%s",mktime(y1" "m1" "d1" "h1" "M1" "s1));{print time1}}&#39;|tail -n 1&#96;difresult&#61;$(($maxtime-$mintime))sumbytes&#61;$(($ckptbytes/$difresult*3600/1024/1024))
echo "Transaction logfile increase is:"$sumbytes" MB"

 

2、查看状态 主备机 tt

          Check the main ocs server TT database status

$ ttstatus

 

3、停tt服务&#xff0c;主要是为了确保tt当前的连接都被断开。

$ttdaemonadmin -stopserver

 

4、调用过程确保更改都被写入两个数据库&#xff0c;在备机上操作。tt用户&#xff08;哪个库需要被碎片整理就在哪个库上执行&#xff09;

此处是gfs02主机上的tt需要被碎片整理&#xff0c;所以就在gfs02上执行。

>call ttRepSubscriberWait(NULL,NULL,&#39;ocs&#39;,&#39;gfs01&#39;, 100);

参数1&#xff1a;需要操作的复制器的名称&#xff0c;为空表示所有的复制器。

参数2&#xff1a;需要操作的复制器的所有者&#xff0c;为空表示所有复制器的所有者。

参数3&#xff1a;订阅数据库的DS名称&#xff0c;为空表示订阅主机的所有DS

参数4&#xff1a;订阅数据库的主机名&#xff0c;为空表示所有的订阅数据库的主机。

参数5&#xff1a;等待时间&#xff0c;单位秒。-1表示永久等待。就是等待订阅数据库同步完成的时间。

 

5、停复制器&#xff0c;只能停备机的复制器&#xff0c;主机的复制器必须要保证是起着的&#xff0c;这样后面的duplicate操作才能进行。&#xff08;tt用户&#xff09;

          stop the main ocs server replicator .

$ttadmin -reppolicy manual ocs

$ttadmin -repstop ocs

 

6、卸载内存&#xff08;备机tt&#xff09;

          unload the tt database memory

$ttadmin -ramPolicy manual ocs

$ttadmin -ramUnload ocs

 

7、备机上destroy数据库

$ttdestroy ocs

 

8、通过主机上的ocs克隆到备机&#xff08;备机上执行&#xff09;

ttRepAdmin -duplicate -from ocs -host gfs01 -UID ocs -PWD ocs -setMasterRepStart ocs

-setMasterRepStart 在数据从源端到目标端传送的时候&#xff0c;保证不会丢失更新。

 

9、启动复制器&#xff08;备机 tt&#xff09;

           start replicator and modify the replication policy

$ttadmin -repstart ocs

$ttadmin -reppolicy always ocs

 

10、内存加载策略&#xff08;备机 tt&#xff09;

           Modify memory loading policy

$ttadmin -ramPolicy always ocs

 

11、起tt服务

ttdaemonadmin -startserver

 

12、检查表数据一致性&#xff0c;验证用户、权限、数据一致性

                   Check for table data consistency

 

13、验证tt同步情况

启动复制器后&#xff0c;需要验证tt的同步情况&#xff0c;必须数据同步后才能切机&#xff1b;

Command> call ttlogholds;

ttstatus;

 

14、手工checkpoint

操作完成后需要手工调整checkpoint&#xff0c;错开checkpoint时间点&#xff0c;错开IO&#xff0c;避免IO争用&#xff0c;如果是本地SSD&#xff0c;可以不用做这个操作&#xff1b;

                  

15、操作完成后恢复crontab&#xff0c;考虑job是否补跑&#xff0c;启动网管等&#xff1b;

业务确认。

 


推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
author-avatar
心痛则痛1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有