千家信息网

OGG维护优化脚本(二十二)-部署准备篇--脚本部署准备

发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,很抱歉,脚本部署准备放在后面来讲以下内容必须彻底配置完毕前面讲的所有脚本才会成功生效1.环境包安装因为脚本通过shell以及perl实现。系统必须支持bshell才能满足运行环境部分AIX服务器因为缺
千家信息网最后更新 2024年12月04日OGG维护优化脚本(二十二)-部署准备篇--脚本部署准备

很抱歉,脚本部署准备放在后面来讲

以下内容必须彻底配置完毕前面讲的所有脚本才会成功生效


1.环境包安装

因为脚本通过shell以及perl实现。系统必须支持bshell才能满足运行环境

部分AIX服务器因为缺乏bshell需要专门安装rpm

所以需要安装以下两个安装包

gettext-0.17-8.aix6.1.ppc.rpm

bash-4.2-9.aix6.1.ppc.rpm

而上传脚本是通过expect来实现交互式访问功能,因此部分linux和aix服务器

必须安装上expect的软件包。



2.调整OGG运维账户环境

Aix系统中部分账户默认调用ksh而非bsh 必须调整/etc/passwd文件以让其调用bshell

/etc/passwd

ggs2:!:507:301::/oracle/test1/ggs2:/usr/bin/bashggs1:!:204:301::/oracle/test1/ggs1:/usr/bin/bash

修改末尾值为 /user/bin/bash


3.修改系统配置文件 profile

因为部分脚本指令是通过alias别名调用,所以需要修改OGG系统账户的.profile文件或者.bash_profile文件

增加以下指令

alias edit='/bin/bash$HOME/ggscript/ggedit'#调用选择脚本 ggeditalias view='cd$HOME/ggserver&&(echo info all;echo exit)|./ggsci|grep -E"EXTRACT|MANAGER|REPLICAT"&&cd $HOME'#通过view指令获取所有进程状态alias add='/bin/bash$HOME/ggscript/ggadd/add.sh'#通过add指令执行快速加表脚本alias pcsinfo='/bin/bash $HOME/ggscript/ggupload/processinfo.sh'#通过pcsinfo指令调用详细进程信息查询脚本alias repeat='/bin/bash$HOME/ggscript/ggrepeat/repeat.sh'#通过repeat指令调用重复表查询脚本alias area='/bin/bash$HOME/ggscript/ggarea/area.sh'#通过area指令获取 区域查询脚本alias note='/bin/bash$HOME/ggscript/ggnote/note.sh'#通过note指令调用快速注释脚本alias start='/bin/bash$HOME/ggscript/ggoperat/start.sh'#通过start指令调用进程开启脚本alias stop='/bin/bash$HOME/ggscript/ggoperat/stop.sh'#通过stop指令调用进程停止脚本alias info='/bin/bash$HOME/ggscript/ggoperat/info.sh'#通过info指令调用进程状态查看脚本


4.进程命名以及部署规范

所有EXTRACT进程,必须以E开头

所有的发送进程,必须以P开头命名

所有的写入replicat进程,必须以R开头命名

便于脚本通过开头字符区分进程种类


所有机器的OGG程序必须部署于 $HOME/ggserver 路径下

脚本必须放置在$home/ggscript路径下


5.区域信息注释规范

因为OGG的所有进程配置文件都是存在 dirprm中,实际上我所编写的脚本,是对prm文件之直接操作

根据我实际的OGG数据同步配置情况,我们在进程中已经配置的表

是通过地市或者省份来进行分类区分,的以便于今后的维护分类


因此为了让 批量加表等脚本能够准确定位到表名,必须对所有prm表名进行注释



注释范例

--HeBei-Begin

TABLE FMTMP.MANTMP;

TABLE FMTMP.ADDRTMP_ALL;

TABLE FMTMP.TMP;

…………

…………

TABLE FMTMP.TMPPORT;

--HeBei-Insert

--HeBei-End

在每个区域类表前,以区域拼音(开头大写)-Begin开头

在结尾分别以同样的区域拼音-Insert和地市区域拼音(开头大写)-End结尾

脚本会获取 BeginEnd之间配置的所有表与需配置的表进行重复值匹配


而增加的表,会插入InsertEnd之间(AIX系统对sed版本的限制导致)


6 .进程信息注释

部分查询信息脚本需要通过进程信息注释来准确定位信息。

目前已知EXTRACT,PUMPREPLICATE三类进程中,将内容分为参数(PARAMETER)和表(TABLE两部分

注释配置,需要增加info类,用于标注该进程的相关信息

同时将参数和表内容用注释区分,便于今后其他脚本对信息资源的查询汇总,以及批量修改

注释配置规则

EXTRACT进程

EXTRACT XXXX

--[INFO#]

--source: --源端HOSTNAME

--sourceIP: 源端IP

--[#INFO]

--[PARAMETER#]

USERID ggs@…………

…………

--[#PARAMETER]

--[TABLE#]

TABLE XX.XXXXXX;

TABLE XX.XXXXXX;

--[#TABLE]

投递进程

EXTRACT XXXX

--[INFO#]

--source:源端主机名

--sourceIP:源端IP

--target:目标端主机名

--targetIP:目标端IP

--defsfile: dirdef下的定义文件

--defprm:dirprm下的定义配置文件

--[#INFO]

--[PARAMETER#]

RMTHOST…………

…………

--[#PARAMETER]

--[TABLE#]

TABLE XX.XXXXXX;

TABLE XX.XXXXXX;

--[#TABLE]

REPLIAT进程

REPLICAT XXXXXX

--[INFO#]

--source:源端主机名

--sourceIP:源端IP

--target:目标端主机名

--targetIP:目标端IP

--defsfile: dirdef下的定义文件

--[#INFO]

--[PARAMETER#]

USERID ggs@.......

………………

--[#PARAMETER]

--[TABLE#]

MAP XXXX.XXXXX, TARGET XXXXX.XXXXX

--[#TABLE]




7.定义文件信息注释

定义文件自动上传脚本,需要获取发送定义文件的目标端IP,以及路径账户等信息,才能正常的自动生成和发送。

而这类信息需要准确配置dirprm内的定义配置文件中

配置范例

--[INFO#]

--RELEASE:10.4 GG定义文件版本

--TARGET:defzlzxsz 对应系统信息文件内配置的主机名,该信息需要统一协调

--[#INFO]

DEFSFILE ./dirdef/xxxxx 所有的定义文件配置路径必须修改为./dirdef/xxxxx,同时后端不要加其他参数。

USERID…..

--[TABLE#]

TABLE XXXXX

TABLE XXXXX

--[#TABLE]

8.计划任务配置

定义文件自动下发和系统进程信息上传需要通过计划任务自动执行

23 * * * * /bin/bash $HOME/ggscript/ggdef/resend.shdefzlzxdg.prm > $HOME/gglog/ggdef/resend.log

该段根据具体定义配置文件名自行修改

30 * * * * /bin/bash$HOME/ggscript/ggupload/pcsinfoupload.sh >$HOME/gglog/ggupload/pcsinfoupload.log


9.备份文件夹创建

$HOME/ggserver/dirprm $HOME/ggserver/dirdef下创建bak文件夹用于存放进程修改类脚本每次操作自动生成的备份文件


0