达梦数据库 集群配置异步备库方案

一、在实际应用中,如果数据库规模很大,并且对数据的实时性要求不是很严格,则可以配置多个异步备库用于分担统计报表等任务。
异步备库支持多源配置,目的是在实时或即时主备环境中,当主备库切换或者主库故障时,备库接管以后可以继续向同一个异步备库同步 数据,因此如果主库配置了异步备库,在所有备库上也需要配置相同的异步备库,备库只有在切换为主库时才会向其同步数据。

二、这里采用实时主备环境,增加一台机器用来部署异步备库,其他环境不变;
准备三台服务器,测试实时主备环境加入一台异步备库服务器,

三、参照官方文档,准备环境搭建两节点主备集群,(保证第三节点异步备库数据一致性,)
安装三台数据库软件,初始化服务,打开归档,书写归档配置文件,脱机备份,脱机还原;
前台启动数据库服务,正常退出。

四、如果实时主备守护环境已经处于运行状态,需要先正常退出主备库实例和守护进程。
配置一节点主库:

   #配置dm.ini, 打开定时器
   TIMER_INI = 1
   #配置 dmmal.ini,增加异步备库 GRP1_LOCAL_01 的 MAL 配置项
   [MAL_INST3]
   MAL_INST_NAME = GRP1_LOCAL_01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
   MAL_HOST = 192.168.0.143 #MAL 系统监听 TCP 连接的 IP 地址
   MAL_PORT = 61143 #MAL 系统监听 TCP 连接的端口
   MAL_INST_HOST = 192.168.1.133 #实例的对外服务 IP 地址
   MAL_INST_PORT = 32143 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
   MAL_DW_PORT = 52143 #实例对应的守护进程监听 TCP 连接的端口
   MAL_INST_DW_PORT = 33143 #实例监听守护进程 TCP 连接的端口
   #配置 dmarch.ini, 增加异步归档的配置项
   [ARCHIVE_ASYNC] 
   ARCH_TYPE = ASYNC #异步归档类型
   ARCH_DEST = GRP1_LOCAL_01 #异步归档目标实例名
   ARCH_TIMER_NAME = RT_TIMER #定时器名称,和 dmtimer.ini 中的名称一致
   #配置dmtimer.ini ,用于定时触发实例发送归档日志到异步备库。
  #下面示例中定时器配置为每天 00:00:00 触发主库发送归档日志到异步备库,可以根
  #据实际情况再做调整
    [RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
    TYPE = 2
    FREQ_MONTH_WEEK_INTERVAL = 1
    FREQ_SUB_INTERVAL = 0
    FREQ_MINUTE_INTERVAL = 0
    START_TIME = 00:00:00
    END_TIME = 00:00:00
    DURING_START_DATE = 2016-02-11 17:36:09
    DURING_END_DATE = 9999-12-31 23:59:59
    NO_END_DATE_FLAG = 1
    DESCRIBE = RT TIMER
    IS_VALID = 1

注:此前实时主备环境已经配置完成的,这里对主库不需要再做其他配置。
由于在配置异步备库之前实时主备环境已经被正常关闭,此处可以使用 Mount 方式将主库
重启启动,并启动主库的守护进程。

五、配置二节点备库:

     #配置 dm.ini,打开定时器,定时同步归档到异备库
        TIMER_INI = 1
     #配置 dmmal.ini ,可以直接拷贝主库的dmmal.ini文件到备库实例目录下,保持文件一致
     #配置 dmarch.ini,增加异步归档的配置项
     [ARCHIVE_ASYNC] 
     ARCH_TYPE = ASYNC #异步归档类型
     ARCH_DEST = GRP1_LOCAL_01 #异步归档目标实例名
     ARCH_TIMER_NAME = RT_TIMER #定时器名称,和 dmtimer.ini 中的名称一致
     #配置 dmtimer.ini ,配置 dmtimer.ini,用于备库切换为主库后,定时触发实例发送归档日志到异步备库。
     #下面示例中定时器配置为每天 00:00:00 触发主库发送归档日志到异步备库,可以根
     #据实际情况再做调整。
     [RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
     TYPE = 2
      FREQ_MONTH_WEEK_INTERVAL = 1
      FREQ_SUB_INTERVAL = 0
      FREQ_MINUTE_INTERVAL = 0
      START_TIME = 00:00:00
      END_TIME = 00:00:00
      DURING_START_DATE = 2016-02-11 17:36:09
      DURING_END_DATE = 9999-12-31 23:59:59
      NO_END_DATE_FLAG = 1
      DESCRIBE = RT TIMER
      IS_VALID = 1
     
      注:这里对实时备库不需要再做其他配置,由于在配置异步备库之前实时主备环境已被正常关闭,此处可以使用 Mount 方式将实
             时备库重新启动,并启动实时备库的守护进程。

六、配置三节点异步备库
#配置 dm.ini
#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过 16
INSTANCE_NAME = GRP1_LOCAL_01
PORT_NUM = 32143 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志重演信息
#配置 dmmal.ini,同一个守护进程组中,所有主备库必须使用相同的 dmmal.ini 配置文件,这里可以直接拷贝
#配置 dmarch.ini,本地守护类型的备库只需要配置本地归档。
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/data/DAMENG/arch #本地归档文件路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
#配置 dmwatcher.ini,修改 dmwatcher.ini 配置守护进程,配置为本地守护类型,异步备库不具备故障自动切换等功能,
DW_MODE 配置并不起作用,此处配置为 MANUAL 即可。
[GRP1]
DW_TYPE = LOCAL #本地守护类型
DW_MODE = MANUAL #故障手动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /dm/data/DAMENG/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm/bin/dmserver #命令行方式启动
#启动异步备库,以 Mount 方式启动备库
./dmserver /dm/data/DAMENG/dm.ini mount
一定要以 Mount 方式启动数据库实例,否则系统启动时会重构回滚表空间,生成 Redo
日志;并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。数据
守护配置结束后,守护进程会自动 Open 数据库。

    #设置 OGUID
    SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
    SQL>sp_set_oguid(453331);
    SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
   # 修改数据库模式
    SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 
    SQL>ALTER DATABASE STANDBY; 
    SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
   # 配置监视器
    MON_DW_CONFIRM = 1 #确认监视器模式
    MON_LOG_PATH = /dm/data/log #监视器日志文件存放路径
   MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
   MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
    MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
   [GRP1]
    MON_INST_OGUID = 453331 
    MON_DW_IP = 192.168.0.141:5214 1 #以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置
    MON_DW_IP = 192.168.0.142:52142 #IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
    MON_DW_IP = 192.168.0.143:52143 #新增到异步备库 GRP1_LOCAL_01 守护进程的连接信息

测试:
在这里插入图片描述
在这里插入图片描述
更改异步同步开始时间测试,异步备库完成了同步
在这里插入图片描述
在这里插入图片描述

拓展:DM8系统管理员手册
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值