在ER的中,可能会用到ifxclone和sec2er来简化ER的相关步骤。
具体用法如下:
1、在源端设置如下两个参数:
CDR_QDATA_SBSPACE
ENABLE_SNAPSHOT_CLONE=1
2、源端的sqlhosts文件设置如下,需要包含目标端的相关信息
gserv1 group - - i=143
serv1 ontlitcp ny.usa.com 1230 g=gserv1
gserv2 group - - i=144
serv2 ontlitcp tokyo.japan.com 1231 g=gserv2
3、在源端和目标端设置如下环变量
INFORMIXDIR
INFORMIXSERVER
INFORMIXSQLHOSTS
ONCONFIG
4、两个机器的如下参数需要设置一样
DRAUTO
DRINTERVAL
DRTIMEOUT
LOGBUFF
LOGFILES
LOGSIZE
LTAPEBLK
LTAPESIZE
ROOTNAME
ROOTSIZE
PHYSBUFF
PHYSFILE
STACKSIZE
TAPEBLK
TAPESIZE
5、在目标端创建和源端一样的chunk文件和权限
6、在目标端执行如下,自动搭建RSS
ifxclone --trusted --source=serv1 --sourceIP=192.168.10.10 --sourcePort=9099 --target=serv2 --targetIP=192.168.10.20 --targetPort=9099 --disposition=RSS
7、在源端执行sec2er检查
$cdr check sec2er -c serv1 serv2
Secondary conversion to ER is possible.
警告可以忽略,但是必须看到如上信息才表名可以把辅助节点转换成ER。
原厂文档里-c后面需要跟踪group name,但是测试发现group name是不行的,需要使用dbservername才可以。
8、cdr start sec2er -c serv1 serv2
原厂文档里-c后面需要跟踪group name,但是测试发现group name是不行的,需要使用dbservername才可以。
通过如下操作RSS辅助节点会自动转化成ER domain中的某个节点,并为每个表自动创建一个复制任务。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
当然在ifxclone中也可以使用如下用法:
ifxclone --trusted --source=ER1 --sourceIP=192.168.10.10 --sourcePort=9099 --target=ER4 --targetIP=192.168.10.40 --targetPort=9099 --disposition=ER
直接创建自动创建ER复制节点。这个事情的基本原理,我理解就是先创建RSS节点,然后再转化成ER节点。
在我看来,通过--disposition=RSS确实是第一次数据追平的一个基础工具。这个我是非常推荐的,省心,省力,至于省不省时间就需要在生产上进行测试了。
cdr start sec2er -c serv1 serv2 实际上是一个比较垃圾想法,因为ER中的若干若干灵活的规则都用不上,简单粗暴是真的,但是我不欣赏此类做法。无法发挥出ER灵活性的特点。