ER:效劳器
本节联系以下主题:
- 效劳器界说
- 拓扑
- 措置惩罚
- 训练
- 措置惩罚方案
效劳器界说
运用呼吁行界面是界说 ER 环境的最将近领。至多需求运转两个呼吁。第一个呼吁界说初始效劳器。在此之后,可以界说随意数量的效劳器,可是必需运用 -S
或 --sync
选项将新效劳器与曾经界说的效劳器之连续接起来。如果没有运用 sync
选项,效劳器就无法从 ER 的视角彼此理解。
上面是可用的效劳器界说选项和一个运转呼吁的示例:
清单 12. 'cdr define server' 呼吁选项和示例
$ cdr define server missing server name usage: cdr define server {options} servername -c server --connect=server connect to server -i min --idle=min idle timeout -s space --send=space dbspace where send queue created (obsolete) -r space --recv=space dbspace where recv queue created (obsolete) -A dir --ats=dir directory for Aborted Transaction Spool -R dir --ris=dir directory for Row Information Spool -I --init initialize server -S server --sync=server synchronize catalog (use with -I) -N --nonroot non root server -L --leaf leaf server $ cdr define server -A /informix/ats-ris/boy -R /informix/ats-ris/boy -I g_80s
设置告成的证实
议决以下检查,确定设置曾经告成:
- 两个效劳器上都树立了 syscdr 数据库
onstat -g ath
显露以 ‘CDR’ 扫尾的复制线程onstat -g nif
显露另一个复军效劳器站点 id 项cdr list server
显露活泼的跟尾onstat -g cat
显露两个效劳器都处于 ‘Active’ 外形- online.log 显露与清单 13 相似的新闻:
清单 13. 执行 'cdr define server' 之后发作的 online.log 新闻12:50:57 Building 'syscdr' database ... 12:51:00 'syscdr' database built successfully. 12:51:01 CDR queuer initialization complete 12:51:01 CDR NIF listening on asf://server_g_1
![](https://i-blog.csdnimg.cn/blog_migrate/4235e483c52b5ce0b9e9131f8e81078d.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/db6c26e26e5c82a0b8bb4065f252f3a3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/db6c26e26e5c82a0b8bb4065f252f3a3.gif)
拓扑
拓扑次如果搜集路由标题成绩,与复制本人关连不大年夜。ER 支撑多节点环境和多种拓扑。如果路由要求正本跳过几个节点抵达目标,那么被跳过的节点不需求理解正本、数据库或复制的表。
ER 节点每每是全跟尾的根节点,就像图 1 所示的环境:
图 1. 全跟尾的节点
可是,营业需求可以或许要求回收其他拓扑。譬喻,每每回网络中星型(hub-spoke)拓扑,在这种拓扑中有一个大年夜型中心节点(集线器)和一些小型节点。在这种环境下,集线器节点是专注理解全部其他节点的节点,而 spoke 节点界说为叶节点。其余,ER 环境中的任何节点都可以是 HDR 对。
图 2. 集中星型拓扑
非根节点有父节点,还可以有子节点。叶节点有父节点,可是不克不及有子节点。叶节点也不包括统统的 syscdr 数据库。它们只理解它们到场复制的正本的环境。
图 3. 根节点、非根节点和叶节点
请记着,复制环境中的任何节点都可以复制到环境中的任何其他节点。
图 4 给出一个层次化树型拓扑:
图 4. 层次化树型拓扑
图 5 给出一个树型拓扑的森林:
图 5. 树型拓扑的森林
表 5 形貌可用的效劳器节点类型及其性质:
表 5. 效劳器节点选项
根节点 无 有 有 n/a
非根节点 有 有 有 -N
叶节点 有 无 无 -L
![](https://i-blog.csdnimg.cn/blog_migrate/4235e483c52b5ce0b9e9131f8e81078d.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/db6c26e26e5c82a0b8bb4065f252f3a3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/db6c26e26e5c82a0b8bb4065f252f3a3.gif)
措置惩罚
本节联系如何处理 Enterprise Replication 效劳器,包括列出、点窜、停止、从新启动、停息、接受运转、跟尾、断开跟尾和删除效劳器。
列出 ER 效劳器
可以议决运转 cdr list server
审查当地效劳器已知的每个效劳器的细节。这个呼吁还输出效劳器组的行列队伍的大年夜小。
表 6. 效劳器外形/情况值
Active 效劳器是活泼的,正在停止复制。 Connected 效劳器跟尾曾经树立。
Deleted 效劳器曾经删除,不再捕获或发送数据,行列队伍被清空。 Connecting 效劳器正在测验考试跟尾。
Quiescent 效劳器处于界说历程中。 Disconnect 效劳器跟尾显式地停止。
Suspended 停息向这个效劳器发送复制数据。 Dropped 效劳器跟尾由于搜集错误而停止,效劳器不成接见。
Error 发作一个错误(检查日志,如果需求的话,联结客户支撑职员)。
Local 这个效劳器是当地效劳器,而不是近程效劳器。
Timeout 跟尾由于空闲超时而停止。
清单 14 演示运转这个呼吁的不同体式格局:
清单 14. cdr list server 的语法
$ cdr list server -x usage: cdr list server [-c server] servername -c server --connect=server connect to server $ cdr list server SERVER ID STATE STATUS QUEUE CONNECTION CHANGED ----------------------------------------------------------------------- g_00s 2000 Active Dropped 0 Jun 5 10:35:29 g_80s 80 Active Local 0 g_90s 90 Suspend Dropped 0 Jun 5 10:35:39 $ cdr list server g_80s NAME ID ATTRIBUTES --------------------------------------- g_80s 80 atsdir=/informix/ats-ris/boy risdir=/informix/ats-ris/boy $ cdr list server -c g_90s g_90s NAME ID ATTRIBUTES --------------------------------------- g_90s 90 atsdir=/informix/ats-ris/uf risdir=/informix/ats-ris/uf
点窜 ER 效劳器
可以运用 cdr modify server
呼吁点窜三个效劳器属性:
- 空闲超时
- Aborted Transaction Spooling(ATS)文件的目次职位处所
- Row Information Spooling(RIS)文件的目次职位处所
清单 15. 'cdr modify server' 的选项
usage: cdr modify server [-i min] [-A dir] [-R dir] [-m p | r] [-l on|off] server -c server --connect=server connect to server -i min --idle=min idle timeout -A dir --ats=dir directory for Aborted Transaction Spool -R dir --ris=dir directory for Row Information Spool -m mode --mode=mode set server mode (primary or readonly)
另有几个与 ER 相干的效劳器设置参数,可以静态地点窜这些参数。更多信息请参考 IBM Informix Dynamic Server Enterprise Replication Guide。
停止 ER 效劳器
可以运用 cdr stop
呼吁暂时停止 ER 线程,而不遏制效劳器。在运用 cdr stop
时,ER 停止读取逻辑日志和寻觅要复制的数据。在 ER 停止时,要确保当时');没无数据库举止发作(不然,这个站点就会与其他效劳器不同步)。这个站点上的 ER 线程会不时停止,直到运转 cdr start
呼吁为止。
警告:在停止 ER 时,向这个站点停止复制的其他 ER 效劳器会把未完成的事务在它们的发送行列队伍中蕴蓄起来,直到这个站点规复运转(或删除)。
清单 16. cdr stop 语法
$ cdr stop -x usage: cdr stop [-c server]
从新启动 ER 效劳器
要想从新启动曾经停止的 ER 效劳器,应该运用 cdr start
。在从新启动效劳器时,ER 线程启动并从重放职位处所(正本停止的职位处所)接受策画逻辑日志。如果重放的职位处所指向的逻辑日志不再存在,那么从新启动失败,在效劳器上 ER 不处于活泼外形。
清单 17. cdr start 语法
$ cdr start -x usage: cdr start [-c server] -c server --connect=server connect to server
停息 ER 效劳器
cdr stop
呼吁会完全关闭全部 ER 线程;与其相反,可以运用 cdr suspend server
呼吁停息向效劳器复制数据。当 ER 停息时,源效劳器将复制的数据放到发送行列队伍中,并停息向目标效劳器发送数据。源效劳器会接受发送其他新闻,比方确认和控制新闻。
清单 18. cdr suspend server 的语法
usage: cdr suspend server [-c server] servername -c server --connect=server connect to server
接受运转 ER 效劳器
要想在停息的效劳器上接受运转 ER,应该运用 cdr resume server
。在效劳器接受运转之后,发送行列队伍中的数据。
清单 19. cdr resume server 的语法
$ cdr resume server -x usage: cdr resume server [-c server] servername -c server --connect=server connect to server
跟尾 ER 效劳器
connect
呼吁测验考试从新跟尾一个用 cdr disconnect server
呼吁停止了跟尾的数据库效劳器。
清单 20. cdr connect server 的语法
$ cdr connect server -x usage: cdr connect server [-c server] servername -c server --connect=server connect to server
断开 ER 效劳器的跟尾
disconnect
呼吁停止两个效劳器(servername 和 --connect
选项中指定的效劳器)之间的跟尾。如果没有运用 --connect
选项,那么这个呼吁停止 servername 和默许效劳器(由 INFORMIXSERVER
环境变量指定)之间的跟尾。
清单 21. cdr disconnect server 的语法
$ cdr disconnect server -x usage: cdr disconnect server [-c server] servername -c server --connect=server connect to server
删除 ER 效劳器
要想删除 ER 效劳器,应该运用 cdr delete server
。新鲜之处在于,必需运转 cdr delete server
两次。譬喻,要想从三节点的 ER 环境中删除效劳器组 g_80s,那么需求运转以下呼吁:
清单 22. cdr delete server 的示例
cdr delete server g_80s cdr delete server --connect=g_90s g_80s
第一个呼吁从 ER 环境中删除当地效劳器组(g_80s),第二个呼吁跟尾复制环境中的另一个效劳器并从谁人效劳器上删除 g_80s。然后,这个点窜会复制到复制环境中的全部其他效劳器。
清单 23. cdr delete server 的语法
$ cdr delete server -x usage: cdr delete server servername -c server --connect=server connect to server -f --force force the server to be deleted, even in an error condition
![](https://i-blog.csdnimg.cn/blog_migrate/4235e483c52b5ce0b9e9131f8e81078d.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/db6c26e26e5c82a0b8bb4065f252f3a3.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/db6c26e26e5c82a0b8bb4065f252f3a3.gif)
训练
目前来训练设置 ER 效劳器。这个训练救济您回首 cdr
呼吁并设置本教程中用来测试的两个效劳器。
训练:运用曾经界说的两个测试引擎和 cdr
呼吁,设置两个彼此跟尾的 ER 效劳器,并在每个效劳器上审核对方。
措置惩罚方案
训练:应该执行以下步骤:
- 添加一个 SBSPACE,并在 onconfig 文件参数
CDR_QDATA_SBSPACE
中设置它的称呼。 - 界说两个 ER 效劳器:
- 在第一个效劳器上:
cdr define server -A /informix/ats-ris/boy -R /informix/ats-ris/boy -I g_80s
- 在第二个效劳器上:
cdr define server -A /informix/ats-ris/uf -R /informix/ats-ris/uf -I g_90s -S g_80s
- 在第一个效劳器上:
- 检查效劳器可否可以或许看到对方:
- 检查 syscdr 数据库可否存在
- 在新闻日志中,检查与启动 ER 和树立 syscdr 数据库相干的新闻
- 运转
onstat -g nif
,应该会看到另一个效劳器。在每个节点上运转这个呼吁 - 运转
cdr list server
。应该会在列表中看到界说的两个效劳器。在每个节点上运转这个呼吁
版权声明: 原创作品,答应转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。不然将清查规律责任。