(1)进入GoldenGate安装目录,运行GGSCI,然后使用info all查看整体的运行状况。
Group表示进程的名称(MGR进程不显示名字);Lag表示进程的延时;Status表示进程的状态,有4种状态。
“ STARTING 表示正在启动过程中。
“ RUNNING 表示进程正常运行。
“ STOPPED 表示进程被正常关闭。
“ ABENDED 表示进程非正常关闭,需要进一步调查原因。
正常情况下,所有进程的状态应该为RUNNING,且Lag应该在一个合理的范围内。
(2)使用view params <进程名> 可以查看进程的参数设置,该命令支持通配符*。
(3)使用info <进程名称> 命令可以查看进程信息,可以查看到的信息包括进程状态、checkpoint信息、延时等。
(4)还可以使用info <进程名称> detail 命令查看更详细的信息,包括所使用的trail文件、参数文件、报告文件、警告日志的位置等。
(5)使用info <进程名称> showch 命令可以查看到详细的关于checkpoint的信息,用于查看GoldenGate进程处理过的事务记录。
其中比较重要的是Extract进程的recovery checkpoint,它表示源数据中最早的未被处理的事务;通过recoverycheckpoint可以查看到该事务的redolog位于哪个日志文件以及该日志文件的序列号。所有序列号比它大的日志文件,均需要保留。
(6)lag <进程名称> 可以查看详细的延时信息。
(7)stats可以查看进程处理的记录数:stats <进程名称>,<时间频度>,table<owner name>.<table name> 该报告会详细地列出处理的类型和记录数
GGSCI> stats eora, total
列出自进程启动以来处理的所有记录数。
GGSCI> stats eora, daily, table scott.dept
列出当天以来处理的有关scott.dept表的所有记录数。
(8)view report <进程名称> 可以查看运行报告。
(9)也可以进入到 <GoldenGate安装目录>/dirrpt/目录下,查看对应的报告文件。
最新的报告总是以<进程名称>.rpt命名的。加后缀数字的报告是历史报告,数字越大对应的时间越久。如果进程运行时有错误,则报告文件中会包括错误代码和详细的错误诊断信息。通过查找错误代码,可以帮助定位错误原因,解决问题。
ggserr.log日志监控
(1)可以用以下方法查看日志文件。
“ 可以通过操作系统命令直接查看ggserr.log文件。
“ 使用GoldenGate Director。
“ 在GGSCI中运行命令view ggsevt。
(2)在日志文件中可以查看到的内容如下。
“ GGSCI命令的历史记录。
“ GoldenGate进程的启动与停止。
“ 已执行的处理。
“ 发生的错误。
“ 信息和警告消息。
8.查看长交易
GGSCI> send extract ext1,showtrans
Ggsci> send extract <进程名> , showtrans [thread n] [count n]
其中,<进程名>为所要察看的进程名,如extsz/extxm/extjx等;
Thread n是可选的,表示只查看其中一个节点上的未提交交易;
Count n也是可选的,表示只显示n条记录。
例如,查看extsz进程中节点1上最长的10个交易,可以通过下列命令:
Ggsci> send extract extsz , showtrans thread 1 count 10
输出结果是以时间降序排列的所有未提交交易列表,通过xid可以查找到对应的事务,查找出未提交原因,通过数据库予以提交或者回滚后GoldenGate的checkpoint会自动向前滚动。
9.使用GoldenGate命令跳过或接受长交易的方法
在GoldenGate中强制提交或者回滚指定事务,可以通过以下命令(<>中的为参数):
Ggsci> SEND EXTRACT <进程名>, SKIPTRANS <5.17.27634> THREAD <2> //跳过交易
Ggsci>SEND EXTRACT <进程名>, FORCETRANS <5.17.27634> THREAD <1> //强制认为该交易已经提交
说明:使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议使用数据库中提交或者回滚交易而不是使用GoldenGate处理。
日常运维监控的自动化脚本
GoldenGate自动化监控的自动脚本主要体现在怎么保证GoldenGate各个进程状态是什么,这个最好由监控软件来做,但是GoldenGate当前以及需要的归档号码,还是由GoldenGate必须用脚本来实现。
以下内容作为参考:
- #!/usr/bin/ksh
- export ORACLE_BASE=/oracle/
- export ORACLE_SID=epmln1
- export ORACLE_HOSTNAME=pmlnpdb1
- export ORA_NLS33=/oracle/db/ocommon/nls/admin/data
- export ORA_CRS_HOME=/oracle/crs
- export ORACLE_HOME=/oracle/db
- export gglog=/GoldenGate/dirrpt/`date "+gg_monitor_%Y-%m-%d_%H:%M:%S"`
- echo "############ gg process status #############">>$gglog
- ps -ef|grep ext|grep -v grep>>$gglog
- ps -ef|grep mgr|grep -v grep>>$gglog
- echo "####################################">>$gglog
- echo "############ gg trail file system usage #############">>$gglog
- bdf /GoldenGate >>$gglog
- echo "####################################">>$gglog
- cd /GoldenGate
- echo "############ info all ############">>$gglog
- echo "info all"|./ggsci >>$gglog
- echo "############ lag * ############">>$gglog
- echo "lag *"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ info er * ############">>$gglog
- echo "info er *"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ info er *,detail ############">>$gglog
- echo "info er *,detail"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ info er *,showch ############">>$gglog
- echo "info er *,showch"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ view params mgr ############">>$gglog
- echo "view params mgr"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ view params EXTYA ############">>$gglog
- echo "view params EXTYA"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ view params EXTYB ############">>$gglog
- echo "view params EXTYB"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ view params DPEYA ############">>$gglog
- echo "view params DPEYA"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ view params DPEYB ############">>$gglog
- echo "view params DPEYB"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ stats * ############">>$gglog
- echo "stats *"|./ggsci >>$gglog
- echo "####################################">>$gglog
- echo "############ tail -1000f /GoldenGate/ggserr.log ############">>$gglog
- tail -1000 /GoldenGate/ggserr.log>>$gglog
- echo "####################################">>$gglog
- echo "############ info er * ,showtrans ############">>$gglog
- echo "send er * ,showtrans"|./ggsci >>$gglog