ER:监督
本节谈论以下主题:
- 概述
- onstat
- syscdr 数据库
概述
本节次要存眷应该 监督什么,而不是可以 监督什么。可以汇集的信息量十分大大,无法在本教程中单方面谈论。所以本节只谈论通常呈现成效的范围,以及在深入钻研之前需求搜检的范围。成效通常只与一个效能器相关,譬喻日志文件写满、引擎住手运转或毗邻成效。只管现实成效能够只发作在一个效能器上,可是应该离别搜检每个 ER 效能器。请记住,ER 是在 IDS、垄断体系和收集之上建立的。这些局部都能够招致 ER 呈现成效。确定成效出今朝某个效能器上之后,就要深入钻研 ER 的数据流。
onstat
表 13 列出了关于 Enterprise Replication 比照紧张的 onstat
选项。本节前面会详细谈论那些粗体施展阐发的选项:
表 13. ER onstat 选项
onstat
成效
刻画
onstat -g cat
全局编目
记录 ER 内部状况和勾当的内存布局
onsat -g ddr
搜刮和重放位置
扫描日志页面并决意要复制的日志记录
onsat -g grp
分组器
在提交事务之前持有事务、紧缩事务、对事务进行排队以便发送
onsat -g nif
收集接口成效
处理每个毗邻的数据包紧缩和发送/汲取线程
onsat -g dss
数据同步统计
在目标实例上重放复制的数据,处理冲突解决,数据映射
onsat -g rcv
汲取统计信息和数据同步摘要
汲取和发送行列器、全局编目和数据同步组件的音讯
onsat -g rqm
行列信息
维护 ER 运用的音讯行列(SENDQ、CNTRLQ、ACKQ、SYNCQ、RECVQ)
onstat -g ddr
这个号令检察三个紧张的逻辑日志位置,从而坚决 ER 的施展阐发。这些位置由逻辑日志专注 ID 和逻辑日志位置指定。这些位置是:
- 以后 ID / 位置 —— 使用法度线程拔出新的逻辑日志记录的位置
- 搜刮 ID / 位置 —— ER 以后在逻辑日志中正在 “搜刮” 的位置
- 重放 ID / 位置 —— 要是停歇的话,ER 重新启动 “搜刮” 的位置
清单 52. 'onstat -g ddr' 的输出
$ onstat -g ddr IBM Informix Dynamic Server Version 11.10.FC1 -- On-Line (Prim) -- Up 16 days 18:50:41 -- 196608 Kbytes DDR -- Running -- # Event Snoopy Snoopy Replay Replay Current Current Buffers ID Position ID Position ID Position 528 11 643018 11 4f3070 11 644000 Log Pages Snooped: From From Tossed Cache Disk (LBC full) 5992 612 0 Total dynamic log requests: 0 DDR events queue Type TX id Partnum Row id
正如在 onstat -g ddr
的输出中看到的,重放位置和搜刮位置应该正在向前推进。要是重放位置没有行进,这声明发送行列已满,能够远程效能器封锁。要是搜刮位置没有移动,那么能够是 ddr_snoopy 线程出了成效。
要是数据库效能器将要笼罩 ER 还没有处理的逻辑日志,ER 就会进入 DDRBLOCK 方式。在效能器处于 DDRBLOCK 方式时期,只管用户事务会被阻塞,可是 ER 勾当可以继承执行。在此时期,ER 实施处理事务,从而将重放位置向前推进,胁制日志文件被用光。
onstat -g nif
这个号令指出(效能器已知)站点能否毗邻,并施展阐发发送和汲取的字节数。这有助于找到停歇的站点(绝关于其他勾当站点)。在上面清单 53 中的输出示例中可以看到,站点 g_90s 处于 SUSPEND 状况。这意味着有人在这个站点上运转了 cdr suspend server
。要是该效能器离线,这个输出中就不会列出它。(拜见 cdr list server
供给的信息。)
清单 53. onstat -g nif 的输出
$ onstat -g nif IBM Informix Dynamic Server Version 11.10.FC1 -- On-Line (Prim) -- Up 16 days 20:17:51 -- 196608 Kbytes NIF anchor Block: fe0a678 nifGState RUN RetryTimeout 300 CDR connections: Id Name State Version Sent Received --------------------------------------------------------------------------- 2000 g_00s RUN 9 5559 18 90 g_90s RUN,SUSPEND 9 5562 17
有意候,在这个输出中能够看到 “BLOCK” 状况。阻塞状况意味着这个站点无法处理更多的信息,并请求不要再向它发送更多的数据。这个状况应该是姑且的,通常只会继承几分钟。要是 BLOCK 状况继承存在,那么要进一步搜检这个站点。
onstat -g rqm
这个号令输出五个 ER 行列的相关信息:SENDQ、CNTRLQ、ACKQ、SYNCQ、RECVQ。每个行列有自己的选项,还可以运用以下选项之一检察全数行列的信息:FULL、BRIEF、VERBOSE。清单 54 中的输出示例施展阐发一个行列的一切信息。输出分为五个局部:
- 行列的勾当和摘要信息
- 行列的进度表
- 行列中与目标效能器相关的条目的效能器和正本细节
- 行列中第一个和末了一个事务的细节
- 正在处理这个行列的线程的细节
清单 54. onstat -g rqm sendq 的输出
$ onstat -g rqm sendq IBM Informix Dynamic Server Version 11.10.FC1 -- On-Line (Prim) -- Up 16 days 20:46:32 -- 196608 Kbytes CDR Reliable Queue Manager (RQM) Statistics: RQM Statistics for Queue (0xfdb1028) trg_send Transaction Spool Name: trg_send_stxn Insert Stamp: 6161/0 Flags: SEND_Q, SPOOLED, PROGRESS_TABLE, NEED_ACK Txns in queue: 4003 Log Events in queue: 0 Txns in memory: 4003 Txns in spool only: 0 Txns spooled: 4001 Unspooled bytes: 210 Size of Data in queue: 849555 Bytes Real memory in use: 849555 Bytes Pending Txn Buffers: 0 Pending Txn Data: 0 Bytes Max Real memory data used: 849555 (1843200) Bytes Max Real memory hdrs used 1206340 (1843200) Bytes Total data queued: 1188006 Bytes Total Txns queued: 6161 Total Txns spooled: 4001 Total Txns restored: 0 Total Txns recovered: 0 Spool Rows read: 0 Total Txns deleted: 2158 Total Txns duplicated: 0 Total Txn Lookups: 29232 Progress Table: Progress Table is Stable On-disk table name............: spttrg_send Flush interval (time).........: 30 Time of last flush............: 1181403392 Flush interval (serial number): 1000 Serial number of last flush...: 5 Current serial number.........: 5 Server Group Bytes Queued Acked Sent ------------------------------------------------------------------------------ 2000 0x500001 0 50/b/4e8118/0 - 50/b/4e8118/0 90 0x500001 0 50/b/4e8118/0 - 50/b/4e8118/0 Traverse handle (0x104f0028) for thread CDRGeval1 at Head_of_Q, Flags: None Traverse handle (0x10483028) for thread CDRGeval0 at Head_of_Q, Flags: None Traverse handle (0x10351028) for thread CDRGeval2 at Head_of_Q, Flags: None Traverse handle (0x1034f028) for thread CDRACK_0 at Head_of_Q, Flags: None Traverse handle (0x1048c028) for thread CDRACK_1 at Head_of_Q, Flags: None Traverse handle (0x10288028) for thread CDRNrA90 at Head_of_Q, Flags: None Traverse handle (0xfe60028) for thread CDRNsA2000 at Head_of_Q, Flags: None Traverse handle (0x102b9028) for thread CDRNrA2000 at Head_of_Q, Flags: None
syscdr 数据库
IBM Informix Dynamic Server Enterprise Replication Guide 中详细刻画了为 ER 添加的一切 SMI(sysmaster 数据库)表。这些 SMI 表是基于 syscdr 数据库的视图,并且能够将几个表组合在一个视图中。在 $INFORMIXDIR/etc/syscdr.sql 中可以找到这些表的方式,在 $INFORMIXDIR/etc/syscdrview.sql 中可以找到在 sysmaster 中建立的视图。
要是 onstat
号令和 cdr
号令的输出之间呈现不合,那么能够需求检察这些表。onstat
适用法度老是从共享内存读守信息,而 cdr
适用法度读取全局编目(也称为 syscdr 数据库)。
表 14. syscdr 表
表名
刻画
hostdef_tab
Enterprise Replication 效能器信息(就像 SQLHOSTS)
protodef_tab
效能器和谈信息
servdef_tab
效能器界说
repdef_tab
正本界说
triggerdef_tab
ER 触发器界说
triggercol_tab
ER 触发器列
partdef_tab
正本的到场效能器
mastered_replicates_tab
主正本刻画
mastered_syscolumns_tab
主正本列
mastered_sysxtdtypes_tab
主扩展类型
mastered_sysattr_tab
扩展类型的属性
rsncjobdef_tab
resync 作业界说表
rsncjobdeps
resync 作业依靠项
rsncprocnames_tab
Resync 历程名
delrepl
删除的正本表
replsetdef_tab
正本集界说
replsetpartdef
正本会集的正本
servroute
效能器路由表
cdr_errors
错误日志
gcversion
全局编目版本
swaploginfo
交换日志位置表
shadow_event_info
影子副技艺宜表
replaytab
重放位置表
recvcntldup
汲取节制音讯反复探测
cdrstatedef_tab
CDR 编目状况
deltabdef_tab
活泼删除表界说
cdrviotabdef_tab
CDR 违例表界说
deltabrep
删除表到正本的映射
freqdef
基于光阴的复制频率信息
rsncrowstats
跟踪 resync 作业的行计数
replevents
正本停歇/继承运转事务
cdr_pcpt
PostCommit 触发器进度表
cdrddlpt
PostCommit DDL 日志进度表
版权声明:
原创作品,容许转载,转载时请务必以超链接方式标明文章 原始因由 、作者信息和本声明。不然将追究法令责任。