GoldenGate软件监控与运维指南.docx
《GoldenGate软件监控与运维指南.docx》由会员分享,可在线阅读,更多相关《GoldenGate软件监控与运维指南.docx(37页珍藏版)》请在冰豆网上搜索。
GoldenGate软件监控与运维指南
Goldengate软件监控与运维指南
XXXGoldenGate软件监控与运维指南
1.引言
1.1概述
本章节所有文本均基于OracleGoldenGateV10.4版本。
所有部署在生产系统的GoldenGate进程,均需要经过XXX开发、测试小组严格认真的测试之后才可以进行部署。
对于运行维护中出现的问题,也需要开发、测试和运维小组密切配合,查找原因,商定解决方案,经过测试之后部署到生产系统。
GoldenGate复制软件本身有一些限制,可能不支持或有限支持某些场景下的数据复制。
应明确了解这些限制,并在实际生产中避免这些情况。
参见参考文档。
1.2术语和缩略语
完整说法
缩略说法
1.
GoldenGate
GG
2.
JavaRumtimeEnvironment
JRE
3.
Extract
GoldenGate软件的抽取进程,又叫Capture进程,一般用于抽取数据库日志抓取数据变化或将本地队列中数据传递到目标端。
4.
Replicat
GoldenGate软件的投递进程,又称为Delivery进程,用于将队列文件中的数据变化转换为sql应用到目标库。
5.
DataPump
专指将本地队列中数据传递到目标端的Extract进程,区别于读取日志的主Extract进程。
6.
Trail
GoldenGate的队列文件,存储增删改等数据变化,以其专有格式存放。
注:
GoldenGate术语中把Capture和Datapump进程都叫做Extract进程,这是因为二者都负责把数据从一个地方抽取出来,放到另一个地方。
但是二者有根本的不同:
Capture进程负责将数据从日志中抽取到本地队列文件,而Datapump进程负责将数据从本地队列文件抽取到目标端队列文件。
本文中,提到Extract进程的地方,都包含了这两类进程;提到Capture和Datapump进程,则分别有所指代。
本文中的Delivery进程和Replicat进程则是同一回事。
2.
基于命令行的监控
2.1说明
对GoldenGate实例进行监控,最简单的办法是通过GGSCI命令行的方式进行。
通过在命令行输入一系列命令,并查看返回信息,来判断GoldenGate运行情况是否正常。
命令行返回的信息包括整体概况、进程运行状态、检查点信息、参数文件配置、延时等。
除了直接通过主机登录GGSCI界面之外,也可以通过GoldenGateDirectorWeb界面登录到每个GoldenGate实例,并运行GGSCI命令。
因为XXX部署了很多GoldenGate实例,如果单独登录到每个实例的GGSCI界面,会很不方便。
所以,建议通过GoldenGateDirectorWeb界面,登录到每个实例,并运行命令行命令。
2.2启动GoldenGate进程
1)首先以启动GoldenGate进程的系统用户(一般为oracle)登录源系统。
2)进入GoldenGate安装目录,执行./ggsci进入命令行模式。
3)启动源端管理进程GGSCI>startmgr
4)同样登陆到目标端GoldenGate安装目录,执行./ggsci,然后执行GGSCI>startmgr启动管理进程。
5)在源端执行GGSCI>starter*启动所有进程
6)同样登录到备份端执行GGSCI>starter*启动所有进程
7)使用GGSCI>infoer*或者GGSCI>info<进程名>察看进程状态是否为Running(表示已经启动)。
注意有的进程需要几分钟起来,请重复命令观察其启动状态。
说明:
无论源还是目标,启动各extract/replicat进程前需要启动mgr进程。
start命令的一般用法是:
start<进程名称>
如:
GGSCI>startextdm启动一个名叫extdm的进程
也可以使用通配符,如:
GGSCI>starter*启动所有的extract和replicat进程
GGSCI>startextract*d*启动所有的包含字符‘d’extract进程
GGSCI>startreplicatrep*启动所有以“rep“开头的replicat进程
2.3停止GoldenGate进程
依照以下步骤停止GoldenGate进程:
1)以启动GoldenGate进程的系统用户(一般为oracle)登录源主机,进入GoldenGate安装目录执行./ggsci进入命令行管理界面
2)(本步骤仅针对抽取日志的主extract进程,datapump进程和replicat进程不需要本步骤)验证GoldenGate的抽取进程重起所需的日志存在,对各个主extXX进程,执行如下命令:
ggsci>infoextXX,showch
…..
ReadCheckpoint#1
….
RecoveryCheckpoint(positionofoldestunprocessedtransactioninthedatasource):
Thread#:
1
Sequence#:
9671
RBA:
239077904
Timestamp:
2008-05-2011:
39:
07.000000
SCN:
2195.1048654191
RedoFile:
Notavailable
CurrentCheckpoint(positionoflastrecordreadinthedatasource):
Thread#:
1
Sequence#:
9671
RBA:
239377476
Timestamp:
2008-05-2011:
39:
10.000000
SCN:
2195.1048654339
RedoFile:
NotAvailable
ReadCheckpoint#2
…..
RecoveryCheckpoint(positionofoldestunprocessedtransactioninthedatasource):
Thread#:
2
Sequence#:
5287
RBA:
131154160
Timestamp:
2008-05-2011:
37:
42.000000
SCN:
2195.1048640151
RedoFile:
/dev/rredo07
CurrentCheckpoint(positionoflastrecordreadinthedatasource):
Thread#:
2
Sequence#:
5287
RBA:
138594492
Timestamp:
2008-05-2011:
39:
14.000000
SCN:
2195.1048654739
RedoFile:
/dev/rredo07
…..
首先察看RecoveryCheckpoint所需要读取的最古老日志序列号,如举例中的实例1需要日志9671及其以后所有归档日志,实例2需要序列号为5287及以后所有归档日志,确认这些归档日志存在于归档日志目录后才可以执行下一步重起。
如果这些日志已经被删除,则下次重新启动需要先恢复归档日志。
3)执行GGSCI>stoper*停止所有源进程,或者分别对各个进程执行stop<进程名>单独停止。
4)以oracle用户登录目标系统,进入安装目录/oraclelog1/goldengate,执行./ggsci进入命令行。
5)在目标系统执行stoper*停止复制
6)在两端进程都已停止的情况下,如需要可通过stopmgr停止各系统内的管理进程。
类似的,stop命令具有跟start命令一样的用法。
这里不再赘述。
注意,如果是只修改抽取或者复制进程参数,则不需要停止MGR。
不要轻易停止MGR进程,并且慎重使用通配符er*,以免对其他复制进程造成不利影响。
2.4查看整体运行情况
进入到GoldenGate安装目录,运行GGSCI,然后使用infoall命令查看整体运行情况。
如下图示:
Group表示进程的名称(MGR进程不显示名字);Lag表示进程的延时;Status表示进程的状态。
有四种状态:
STARTING:
表示正在启动过程中
RUNNING:
表示进程正常运行
STOPPED:
表示进程被正常关闭
ABENDED:
表示进程非正常关闭,需要进一步调查原因
正常情况下,所有进程的状态应该为RUNNING,且Lag应该在一个合理的范围内。
2.5查看参数设置
使用viewparams<进程名>可以查看进程的参数设置。
该命令同样支持通配符*。
2.6查看进程状态
使用info<进程名称>命令可以查看进程信息。
可以查看到的信息包括进程状态、checkpoint信息、延时等。
如:
还可以使用info<进程名称>detail命令查看更详细的信息。
包括所使用的trail文件,参数文件、报告文件、警告日志的位置等。
如:
使用info<进程名称>showch命令可以查看到详细的关于checkpoint的信息,用于查看GoldenGate进程处理过的事务记录。
其中比较重要的是extract进程的recoverycheckpoint,它表示源数据中最早的未被处理的事务;通过recoverycheckpoint可以查看到该事务的redolog位于哪个日志文件以及该日志文件的序列号。
所有序列号比它大的日志文件,均需要保留。
2.7查看延时
GGSCI>lag<进程名称>可以查看详细的延时信息。
如:
此命令比用info命令查看到的延时信息更加精确。
注意,此命令只能够查看到最后一条处理过的记录的延时信息。
此命令支持通配符*。
2.8查看统计信息
GGSCI>stats<进程名称>,<时间频度>,table.可以查看进程处理的记录数。
该报告会详细的列出处理的类型和记录数。
如:
GGSCI>statsedr,total列出自进程启动以来处理的所有记录数。
GGSCI>statsedr,daily,tablegg.test列出当天以来处理的有关gg.test表的所有记录数。
2.9查看运行报告
GGSCI>viewreport<进程名称>可以查看运行报告。
如:
也可以进入到/dirrpt/目录下,查看对应的报告文件。
最新的报告总是以<进程名称>.rpt命名的。
加后缀数字的报告是历史报告,数字越大对应的时间越久。
如下图示:
如果进程运行时有错误,则报告文件中会包括错误代码和详细的错误诊断信息。
通过查找错误代码,可以帮助定位错误原因,解决问题。
3.
基于GoldenGateDirector的监控
3.1GoldenGateDirector概述
GoldenGateDirector提供了图形化的界面,并且可以管理多个GG实例。
XXX需要部署多个GG实例,每个实例部署在一个单独的服务器上。
如果使用命令行方式进行监控和维护,则每次都需要登录到每个单独的服务器,极不方便。
使用GoldenGateDirector,只需要事先配置好连接,就可以在一个Web界面下统一监控所有的GG实例。
在Web界面下,也可以运行GGSCI命令。
第二章介绍的命令,均可以在Web界面下执行。
GoldenGateDirector体系架构
上图中,
1)GoldenGateInstances是需要被管理的实例。
多个实例注册到同一个GoldenGateServer上,统一被管理。
2)DirectorServer是Director服务端,需要部署在WeblogicServer下。
3)DirectorDatabase用来存放DirectorServer资料库的数据库。
4)DirectorAdministrator是管理DirectorServer的客户端工具,主要负责实例的注册和配置。
必须和DirectorClient一起安装。
5)DirectorClient是一款客户端工具,也可以用于监控实例。
在XXX环境下,建议不使用此工具。
但是安装时,必需安装此工具才能使用DirectorAdministrator。
6)DirectorWeb是一款基于浏览器的监控工具,可以通过统一的web界面监控多个GoldeGate实例。
本章主要内容就是介绍DirectorWeb的使用。
3.2GoldenGateDirector的安装部署
3.2.1部署方案及必需条件
GoldenGateDirector部署方案
如上图示,分两台服务器部署GoldenGateDirector:
1)Linux服务器端:
在一台专用的Linux服务器上部署DirectorServer。
要求如下:
a)操作系统与网络:
▪支持Solaris、AIX或者RedhatLinux
▪需要一个专用的端口号,用于DirectorServerHttp服务。
默认是7001。
▪能够连接到被监控GG实例所在的服务器
b)硬件:
1GB以上内存,1.5GB以上磁盘空间
c)软件:
▪安装JRE6.0版本
▪安装OracleWeblogicServer11g标准版。
(不需要预先设置DomainName)
d)数据库:
▪安装OracleDatabase10g,用于存放DirectorServer的资料库
▪资料库约占用200M数据库存储空间
▪创建一个用于存放资料库的数据库用户名(即Schema),其密码至少有8位,并且至少包含一位字母和一位数字。
在该用户使用的表空间上,设置QUATOUNLIMITED。
最好为其赋予DBA角色。
2)Windows服务器端
在一台Windows服务器上安装客户端工具。
要求如下:
a)操作系统与网络:
▪支持WindowsNT、2000、XP或Vista
▪能够连接到DirectorServer所在的服务器
b)硬件:
▪1G以上内存,500M以上磁盘空间
▪显示器分辨率在1024×768以上
c)软件:
▪安装JRE6.0版本
▪浏览器:
IE5.0以上、FireFox1.3以上、Safira1.2以上。
3.2.2安装GoldenGateDirectorServer
安装步骤如下:
1.打开安装文件,在弹出的欢迎界面上点Next。
2.选择安装目录。
3.输入WeblogicServer的安装目录,以及DomainName(如GGMonitor)。
4.输入HTTP端口。
5.选择数据库类型。
选择OracleDatabase。
6.配置数据库连接。
7.配置数据库用户名和密码。
8.检查各项配置之后,就可以开始安装。
输入WeblogicServer安装目录及DomainName
输入HTTP端口
选择数据库类型
配置数据库连接
配置数据库用户名和密码
3.2.3安装GoldenGateDirectorClient
GoldenGateDirectorClient的安装非常简单。
启动安装文件后,一路按照提示安装即可。
需要说明的是,GoldenGateDirectorClient中包含了管理工具。
需要通过管理工具对GoldenGateDirectorServer进行配置。
3.3启动GoldenGateServer
启动DirectorServer之前,必须确保DirectorDatabase已经启动并正常运行。
启动步骤:
1)进入安装目录
2)运行./domain/startWebLogic.sh
3.4配置被监控实例
进入到GoldenGateDirectorClient安装目录,打开GDSCAdminTool.exe。
首次登陆的用户名和密码是admin/admin。
进入到DirectorServer管理界面,点击DataSources选项卡(一个DataSource代表一个GG实例)。
如图:
DirectorAdministratorTool配置界面
这里需要配置需要监管维护的GG实例。
创建DataSource的过程如下:
HostIdentity:
▪FullyQualifiedDomainName:
GG实例所在的服务器名
▪ManagerPort:
GG实例MGR进程端口号
▪DataSourceName:
原则上可以填写任何名称。
建议制定命名规范。
▪点击Check–Connection验证连接。
验证成功后点击Close。
GoldenGateInfo:
▪HostOperatingSystem:
选择WU(即windows/unix意思)
▪Database:
选择数据库类型。
Oracle数据库应选择ORA。
▪GoldenGateVersion:
10.4
▪点击“Save”,然后点击“Yes”。
从左侧的面板上选择刚才创建的DataSource,填写完其他信息,包括:
DefaultDBCredential:
▪DSN:
数据库实例名或服务名
▪Username:
用户名
▪Password&ConfirmPassword:
密码
AccessControl:
▪Owner:
选择admin
▪勾选HostisObservable选项
▪GoldenGateVersion:
10.4(需要再填写一次)
▪点击“Save”
关于DataSource的命名规范,建议采用如下格式:
<源或目标标志符>_<主机名>_<数据库类型>
如:
source_host01_oracle
3.5登录DirectorWeb监控界面
要进入DirectorWeb界面,在浏览器里面输入网址:
http:
//:
/acon。
如:
http:
//gg_director_server:
7001/acon
是DirectorServer所在服务器的主机名或IP地址,为安装时选择的端口号。
要确保开启此端口号给DirectorServer专用。
首次进入DirectorWeb,需要输入用户名和密码(默认为admin/admin)。
进入之后的主界面如下图示:
DirectorWeb主界面
整个主界面分为三个区域:
左侧面板包含了所有GG实例的列表以及一些功能链接。
右侧上方按照GG实例分组列出了每个实例上所有进程的概况。
右侧下方列出了所选实例的事件日志。
3.6监控整体运行情况
首先查看主界面左侧面板,点击一个实例左边的黑三角符号可以展开该实例,查看到具体的进程。
右侧面板也会有相应的变化,列出该实例下所有进程的概要信息以及事件日志。
表示实例正在运行(MGR进程正常运行)
表示实例没有启动(MGR进程已停止)
表示进程正常运行
表示进程正常停止
表示进程非正常停止,需要进一步调查原因。
同时会用红色的Abended字样标示。
3.7监控进程状态
右侧上方的面板显示了每一个进程的概要信息。
点击MoreInfo查看详细的进程信息。
这里可以查看到进程报告文件、详细信息、历史延时情况以及被丢弃的记录。
DiscardFile是进程用来存放丢弃记录的文件。
如果该文件中有记录,需要详细查看记录情况,分析记录被丢弃的原因,并解决相关问题。
3.8手工配置重点监控列表
默认情况下,所有进程都是按照实例分组排列的。
实际监控过程中,需要把某些关联的进程组合在一起(有可能不在同一个实例)。
可以通过配置监控列表的方式实现这个目标。
点击左侧面板的WatchLists旁边的黑三角,然后点击ConfigureWatchLists。
在新弹出的窗口中添加WatchList。
如图示:
▪WatchListName:
为监控列表起一个名字。
▪Includeinlist:
选择需要监控的进程。
▪EventLogFilter:
选择显示哪些类型的事件消息(建议只选择Warning和Error信息)。
填写好以上信息后点击Save。
回到原来的页面,点击新添加的监控列表,可以看到右边面板显示的信息也发生了相应的变化:
只有监控列表中相关进程的信息被显示了出来。
建议把一些重要且相关的进程组合到同一个WatchList中,以方便监控。
一般来讲,同步一张表到目标需要三个进程:
Capture进程,Datapump进程和Delivery进程。
其中,Capture进程和Datapump进程一般在同一个GG实例中,Delivery进程在另一个实例中。
将同步相同表的三个进程组合到一起,能够较好的监控GoldenGate复制过程。
添加WatchList
通过WatchList重点监控
3.9查看事件日志
主界面右侧下方是事件日志。
Info事件只是一般的事件,如收到stats命令等,不会对GoldenGate的正常运行造成影响。
Warning事件是有可能对GoldenGate造成影响的事件,如停止MGR进程等。
Error事件需要引起关注,表示有重大错误发生,已经影响到了GoldenGate的正常运行。
点击右上角的Filter按钮,把ShowInformation和ShowUn-acknowledgedOnly两项勾选掉。
这样,仅Warning和Error信息被显示出来,便于发现问题。
筛选事件类型
筛选后的情况
3.10Email告警
开启Email告警功能需要事先部署一个Mail服务器。
点击主界面左侧面板上MyEmailAlerts链接,在新窗口中填写以下信息:
▪AlertName:
告警的名字
▪AlertType:
有两种类型可供选择。
如果选择ProcessLag,则需要指定一个时限,超过这个时限会引发告警。
如果选择EventText,则需要指定EventType(Error,Warning等),以及Eventtext中包含的文本。
当Event消息中包含此文本时,会引发告警。
支持通配符*。
▪ProcessName:
进程名称,支持通配符*。
▪Sentanemailto:
目标邮件地址
▪Withthesubject:
邮件标题
▪FromAddress:
发送方地址
▪Mailserver:
邮件服务器,需要事先部署。
Email告警
3.11运行GGSCI命令
选择主界面右上方某个实例,点击实例下方的GGSCI图标,进入命令行交互页面。
在这里,可以输入各种命令,并显示输出结果。
具体命令,请参考第二章内容。
GGSCI交互页