altibase的replication配置

下面介绍复制的配置方法,这里是主备的配置。
如果要组成active-active,再加一条复制即可。当然你还需要考虑其他应用分布,数据冲突等更多的问题。

1、修改主库的参数文件
#=================================================================
# Replication Properties
#=================================================================
REPLICATION_PORT_NO          = 30300  #用于复制的端口号,两个库配置一致。
REPLICATION_MAX_LOGFILE      = 2000   #传送日志数积压上限,当积压数达到这个数之后,就不再同步。
REPLICATION_UPDATE_REPLACE   = 1      #为1忽略更新时的数据冲突,0则报错。
REPLICATION_CONNECT_TIMEOUT  = 10     #数据库启动之后连接的超时设置,单位秒
REPLICATION_RECEIVE_TIMEOUT  = 300    #复制接收超时设置,单位秒
REPLICATION_SYNC_LOG         = 0
REPLICATION_LOCK_TIMEOUT     = 5
REPLICATION_HBT_DETECT_HIGHWATER_MARK  = 10 #复制链路的心跳检测次数上限,>3*10秒,即为心跳超时
REPLICATION_HBT_DETECT_TIME  = 3      #复制链路的心跳检测间隔时间,单位秒
REPLICATION_PREFETCH_LOGFILE_COUNT = 10 #发送线程预读取的日志数,加快传送的速度。
REPLICATION_PREFETCHER_RETRY_TIME = 200
REPLICATION_SYNC_MODE        = 0      #表示异步传送日志。如果设置为1,则为同步模式。
REPLICATION_SENDER_SLEEP_TIME = 10    #发送线程在空闲的时候转入睡眠的睡眠时间,单位秒。
REPLICATION_KEEP_ALIVE_CNT   = 600    #当复制线程随眠次数达到600次,就发送一个keep_alive信号。
REPLICATION_SYNC_TUPLE_COUNT = 20000000  #同步模式下一个线程允许积压的记录数。

备库的参数拷贝主库即可。

2、在复制的两个节点创建同样的用户和同样的表(需要加入到复制中的)。

3、用sys用户创建复制,如果有多个不同用户下的表,那就按用户创建多个用户。
1)在主库创建复制
CREATE REPLICATION REP1 AS MASTER
WITH '192.168.0.2',30300  --192.168.0.2为client端的IP
FROM username.tablename1 to username.tablename1,
FROM username.tablename2 to username.tablename2;

2)在备库创建复制
CREATE REPLICATION REP1 AS slave
WITH '192.168.0.1',30300  --192.168.0.1为server端的IP
FROM username.tablename1 to username.tablename1,
FROM username.tablename2 to username.tablename2;

在这里,复制所使用的网络建议使用一条专用网络。如果数据库的变化量大,则网络压力比较大。一旦因为网络速度跟不上,导致积压,则容易造成主库上的性能问题。
另外一点,复制传送的包体是128K的,为了或得比较好的性能,需要对主机的网络参数做优化。

4、做第一次全同步操作
在主库使用sys用户登录执行:
iSQL>alter replication rep1 sync only parallel 8 ;
并行度的设置与系统的配置和复制的表的数量有关。可以简单设置为core数/2。
在复制的时候,假如我们的并行度设置为8,在同步开始之后,会有8个线程同时被复制8张表,各个线程相互独立。所以同步的时间决定于最后那一张表同步完成的时间。

5、同步完成后,开启同步
在主库和备库开启同步
iSQL>alter replication rep1 start ;

6、变更同步中的表
假如我们同步的表中有月表,每个月都需要增加新的表到同步中,要删除同步中的老表。可以利用alter replication进行操作。
1)在主备库都停掉同步
iSQL>alter replication rep1 stop ;
2)在主备库将不需要同步的老表从复制中去除
iSQL>alter replication rep1 drop table
from username.tablename1 to username.tablename1 ;
iSQL>alter replication rep1 add table
from username.tablename3 to username.tablename3 ;
3)在主备库重启同步
iSQL>alter replication rep1 start ;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10867315/viewspace-573364/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10867315/viewspace-573364/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值