【达梦】实时备库/同步备库、实时备库/异步备库、异步备库/实时备库动态切换 前言本文主要介绍 实时备库到同步备库、实时备库到异步备库、异步备库到实时备库的动态切换环境环境主库 DW0实时备库 DW1。其中主库、实时备库的 dmwatcher.ini 中配置项 DW_TYPE 为 GLOBAL、DW_MODE 为 AUTO。场景1 实时备库切换为同步备库1、退出守护进程主库和备库都需执行DmWatcherService stop2、修改DW_TYPE为LOCAL、DW_MODE为MANUAL(主备库全部节点执行)vi/dmdata/DAMENG/dmwatcher.ini-- 根据实际修改DW_TYPELOCALDW_MODEMANUAL3、登录主库设置状态为SUSPEND然后使备库实时归档失效后进行删除最后将库进行OPENSP_SET_PARA_VALUE(1,ALTER_MODE_STATUS,1);ALTERDATABASESUSPEND;SP_SET_ARCH_STATUS(DW1,1);ALTERDATABASEDELETEARCHIVELOGDESTDW1;ALTERDATABASEOPENFORCE;4、登录备库删除即时归档配置ALTERDATABASEDELETEARCHIVELOGDESTDW0;5、登录主库新增同步归档配置ALTERDATABASEADDARCHIVELOGDESTDW1, TYPESYNC, ARCH_RECOVER_TIME1;6、启动主备库的守护进程检查集群状态以及数据同步(主备库全部节点执行)DmWatcherServicestart场景2 实时备库切换为异步备库1、退出主备库的守护进程修改DW_TYPE为LOCAL、DW_MODE为MANUAL(主备库全部节点执行)DmWatcherService stop vi/dmdata/DAMENG/dmwatcher.ini-- 根据实际修改DW_TYPELOCALDW_MODEMANUAL2、登录主库设置状态为SUSPEND然后使备库实时归档失效后进行删除最后将库进行OPENSP_SET_PARA_VALUE(1,ALTER_MODE_STATUS,1);ALTERDATABASESUSPEND;SP_SET_ARCH_STATUS(DW1,1);ALTERDATABASEDELETEARCHIVELOGDESTDW;ALTERDATABASEOPENFORCE;3、登录备库删除即时归档配置ALTERDATABASEDELETEARCHIVELOGDESTDW0;4、登录主库配置定时器(TIMER_INI1)以及新增定时器新增异步归档配置sp_set_para_value(1,TIMER_INI,1);SP_ADD_TIMER(RT_TIMER,2,1,0,0,00:00:00,23:59:59,2025-02-01 14:30:34,9999-12-31 23:59:59,1,RT_TIMER,1);ALTERDATABASEADDARCHIVELOGDESTDW1, TYPEASYNC, ARCH_TIMER_NAMERT_TIMER;5、启动主备库的守护进程检查集群状态以及数据同步(主备库全部节点执行)DmWatcherServicestart场景3 异步备库切换为实时备库1、主库中删除异步归档ALTERDATABASEDELETEARCHIVELOGDESTDW1;2、退出主备库的守护进程修改DW_TYPE为GLOBAL、DW_MODE为AUTO(主备库全部节点执行)DmWatcherSerivce stop vi/dmdata/DAMENG/dmwatcher.ini-- 根据实际修改DW_TYPEGLOBALDW_MODEAUTO3、修改备库归档配置新增主库的归档配置ALTERDATABASEADDARCHIVELOGDESTDW0, TYPEREALTIME;4、修改主库归档配置新增备库的归档配置两节点执行修改ini参数timer_ini0ALTERDATABASEADDARCHIVELOGDESTDW1, TYPEREALTIME;sp_set_para_value(1,TIMER_INI,0);5、启动主备库的守护进程检查集群状态以及数据同步(主备库全部节点执行)DmWatcherServicestart注意1、只有实时备库和即时备库是存在到主库以及到所有其他实时备库和即时备库的归档路径2、只有在实例在当前或者将来会作为实时备库或即时备库的情况下dmwatcher.ini才配置DW_TYPEGLOBAL、DW_MODEAUTO社区 https://eco.dameng.com