为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
cat /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(cn)
dmwrite=(192.168.10.123:7900,192.168.10.124:7900,192.168.10.125:7900,192.168.10.126:7900)
dmread=(192.168.10.123:7900,192.168.10.124:7900,192.168.10.125:7900,192.168.10.126:7900)
#服务配置连主库
[dmwrite]
LOGIN_MODE=(1)
RW_SEPARATE=(1)
RW_PERCENT=(30)
SWITCH_TIMES=(60)
SWITCH_INTERVAL=(1000)
#服务配置连从库
[dmread]
LOGIN_MODE=(2)
RW_SEPARATE=(1)
RW_PERCENT=(30)
SWITCH_TIMES=(60)
SWITCH_INTERVAL=(1000)
[dmdba@host-10-204-128-172 bin]$ ./disql SYSDBA/SYSDBA@dmwrite
服务器[10.204.218.82:7900]:处于主库打开状态
登录使用时间 : 10.793(ms)
disql V8
SQL> exit
[dmdba@host-10-204-128-172 bin]$ ./disql SYSDBA/SYSDBA@dmread
服务器[10.204.218.82:7900]:处于主库打开状态
登录使用时间 : 5.129(ms)
disql V8
SQL> exit
为何这种配置读写不分离呢
开启读写分离(即设置RW_SEPARATE=(1))的时候,LOGIN_MODE的设置是不生效的。设置RW_SEPARATE=(1)时读写分离由驱动来进行自动分发,不需要手动设置LOGIN_MODE。如果要手动指定连接主库还是备库,可以把RW_SEPARATE修为0
注意配置的是读写分离集群还是数据守护集群,他俩的dm_svc.conf 是有稍微区别的