一、概述
DM 数据守护(Data Watch)是一种集成化的高可用、高性能数据库解决方案,是数据库异地容灾的首选方案。通过部署 DM 数据守护,可以在硬件故障(如磁盘损坏)、自然灾害(地震、火灾)等极端情况下,避免数据损坏、丢失,保障数据安全,并且可以快速恢复数据库服务,满足用户不间断提供数据库服务的要求。
与常规的数据库备份(Backup)、还原(Restore)技术相比,数据守护可以更快地恢复数据库服务。随着数据规模不断增长,通过还原手段恢复数据,往往需要数个小时、甚至更长时间,而数据守护基本不受数据规模的影响,只需数秒时间就可以将备库切换为主库对外提供数据库服务。
DM 数据守护提供多种解决方案,可以配置成实时主备,并且 DSC 也支持配置成数据守护集群。满足用户关于系统可用性、数据安全性、性能等方面的综合需求,有效降低总体投入,获得超值的投资回报。
• 实时主备由一个主库以及一个或者多个配置了实时(Realtime) 归档的备库组成,其主要目的是保障数据库可用性,提高数据安全性。
实时主备系统中,主库提供完整的数据库功能,备库提供只读服务。主库修改数据产生的 REDO 日志,通过实时归档机制,在写入联机 REDO 日志文件之前发送到备库,实时备库通过重演 REDO 日志与主库保持数据同步。当主库出现故障时,备库在将所有 REDO 日志重演结束后,就可以切换为主库对外提供数据库服务。
• DMDSC 主备与单节点主备功能一致,DMDSC 主备支持 DMDSC 集群和单节点之间互为主备库,一般建议将 DMDSC 集群部署为主库,将单节点部署为备库。
当 DMDSC 集群为主库时,DMDSC 集群控制节点收集所有节点的 Redo 日志发送到备库,备库严格按照各节点修改数据页的先后顺序重演 Redo 日志保持数据同步;当 DMDSC 集群为备库时,主库将 Redo 日志发送至 DMDSC 集群控制节点,DMDSC 集群控制节点重演 Redo 日志保持数据同步。
二、数据守护
DM 数据守护 (Data Watch) 的实现原理非常简单:将主库(生产库)产生的 REDO 日志传输到备库,备库接收并重新应用 REDO 日志,从而实现备库与主库的数据同步。DM 数据守护的核心思想是监控数据库状态,获取主、备库数据同步情况,为 REDO 日志传输与重演过程中出现的各种异常情况提供一系列的解决方案。
DM 数据守护系统主要由主库、备库、REDO 日志、REDO 日志传输、REDO 日志重演、守护进程 (dmwatcher)、监视器 (dmmonitor) 组成,如下图所示:

注意
本文档将不再严格区分数据库和数据库实例的概念,很多地方会笼统的以库来代替。考虑到数据守护系统中,数据库实例名是唯一的,为了更准确地进行描述,很多情况下我们会以实例 xxx 来标记某一个主库或者备库。
• 数据库 (Database) 是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件),保存在物理磁盘或文件系统中。
• 数据库实例 (Instance) 是一组操作系统进程(或者是一个多线程的进程)以及一些内存。通过数据库实例,可以操作数据库,一般情况下,我们访问、修改数据库都是通过数据库实例来完成的。
2.1 主库
Primary 模式,提供完整数据库服务的实例,一般来说主库是用来直接支撑应用系统的生产库。
2.2 备库
Standby 模式,提供只读数据库服务的实例。备库除了用于容灾,还可以提供备份、查询等只读功能,并且备库还支持临时表的 Insert/Delete/Update 操作,备库支持临时表修改主要基于以下两个因素:
• 临时表数据的修改不会产生 REDO 日志,主库对临时表的修改无法同步到备库;
• 可以提供更大灵活性,适应更多应用场景。
根据数据同步情况,备库又可以分为可切换备库和不可切换备库。可切换备库是指,主备库之间数据完全同步,主库发生故障、备库切换为主库后,不会造成任何数据丢失的备库。
2.3 REDO 日志
REDO 日志记录物理数据页内容变动情况,是数据库十分重要的一个功能,在数据库系统故障(比如服务器掉电)重启时,利用 REDO 日志可以把数据恢复到故障前的状态。
REDO 日志也是数据守护的实现基础,数据库中 Insert、Delete、Update 等 DML 操作以及 Create TABLE 等 DDL 操作最终都会体现为对某一个或者多个物理数据页的修改,因此备库通过重做 REDO 日志可以与主库数据保持一致。
2.4 REDO 日志传输
主备库之间的 REDO 日志传输,以日志包 RLOG_PKG 为单位,主库通过 MAL 系统发送 REDO 日志到备库。各种不同数据守护类型的区别,就在于主库日志包 RLOG_PKG 的发送时机,以及备库收到 REDO 日志后的处理策略。
2.5 REDO 日志重演
REDO 日志重演的过程,就是备库收到主库发送的 REDO 日志后,在物理数据页上,重新修改数据的过程。REDO 日志重演由专门的 REDO 日志重演服务完成,重演服务严格按照 REDO 日志产生的先后顺序,解析 REDO 日志、修改相应的物理数据页,并且重演过程中备库会生成自身的 REDO 日志写入联机日志文件。
2.6 守护进程
守护进程 (dmwatcher) 是数据守护系统的核心工具,监控数据库实例的运行状态和主备库数据同步情况,在出现故障时启动各种处理预案。守护进程是各种消息的中转站,接收数据库实例、其他守护进程、以及监视器发送的各种消息;同时,守护进程也会将收到的数据库实例消息转发给其他守护进程和监视器。守护进程必须和被守护的数据库实例部署在同一台机器上。
2.7 监视器
监视器 (dmmonitor) 用来监控守护系统内守护进程、数据库实例信息,执行用户输入命令、监控实例故障、实现自动切换等。监视器一般配置在数据库实例和守护进程以外的机器上。
三、数据守护系统特性
• 完整功能的主库
• 活动的备库
• 多重数据保护
• 高可用性
• 多种守护模式
• 多种守护类型
• 故障自动重连
• 故障库自动重加入
• 历史数据自动同步
• 自动负载均衡
• 滚动升级
• 灵活的搭建方式
• 完备的监控工具
• 完善的监控接口
• 丰富的守护命令
• 支持 DMDSC 守护
四、实时主备
实时主备系统由主库、实时备库、守护进程和监视器组成。通过部署实时主备系统,可以及时检测并处理各种硬件故障、数据库实例异常,确保持续提供数据库服务。实时主备系统主要包括以下功能:
• 实时数据同步
主备库通过实时归档完成数据同步,实时归档要求主库将 RLOG_PKG 发送到备库后,再将 RLOG_PKG 写入本地联机 REDO 日志文件。但要注意的是,备库确认收到主库发送的 REDO 日志,并不保证备库已经完成重演这些 REDO 日志,因此主备库之间的数据同步存在一定的时间差。
• 主备库切换
主备库正常运行过程中,可以通过监视器的 Switchover 命令,一键完成主备库角色转换。主备库切换功能可以确保在软、硬件升级,或系统维护时,提供不间断的数据库服务。
• 自动故障处理
备库故障,不影响主库正常提供数据库服务,守护进程自动通知主库修改实时归档为 Invalid 状态,将实时备库失效。
• 自动数据同步
备库故障恢复后,守护进程自动通知主库发送归档 REDO 日志,重新进行主备库数据同步。并在历史数据同步后,修改主库的实时归档状态为 Valid,恢复实时备库功能。备库接管后,原主库故障恢复,守护进程自动修改原主库的模式为 Standby,并重新作为备库加入主备系统。
• 备库接管
主库发生故障后,可以通过监视器的 Takeover 命令,将备库切换为主库,继续对外提供服务。如果配置为自动切换模式,确认监视器可以自动检测主库故障,并通知备库接管,这个过程不需要人工干预。
• 备库强制接管
如果执行 Takeover 命令不成功,但主库可能由于硬件损坏等原因无法马上恢复,为了及时恢复数据库服务,DM 提供了 Takeover Force 命令,强制将备库切换为主库。但需要由用户确认主库故障前,主库与接管备库的数据是一致的(主库到备库的归档是 Valid 状态),避免引发守护进程组分裂。
• 读写分离访问
在备库查询的实时性要求不高的条件下,实时主备也可以配置接口的读写分离属性访问,实现读写分离功能特性。
五、DMDSC 数据守护
DMDSC(数据共享集群)支持多个数据库实例同时访问、修改保存在共享存储中的数据,能够提供更高的数据库可用性和事务吞吐量。但由于数据是保存在共享存储上,当出现存储失效等故障时,数据库服务将会中断。
DM 数据守护包含多个数据库,主库和备库部署在不同的机器上,数据分别保存在各自的存储上,主库传递 Redo 日志到备库,备库重演 Redo 日志实现数据同步。因此,DM 数据守护在容灾(特别是异地容灾)方面具有明显的优势。为了进一步提高 DMDSC 集群的数据安全性,以及系统的可用性,DM 提供了 DMDSC 集群数据守护功能。
DMDSC 集群数据守护功能与单节点数据守护保持一致,支持故障自动切换,支持实时归档与读写分离集群。支持 DMDSC 集群的守护,DMDSC(主)和 DMDSC(备)、DMDSC(主)和单节点(备)、单节点(主)和 DMDSC(备)相互之间都可以作为主备库的数据守护。
以下示例为 DMDSC 和单节点互为主备的守护系统结构简图:

总体原则说明:
1. DMDSC 集群各个节点分别部署守护进程(dmwatcher)。
2. DMDSC 集群数据库控制节点的守护进程,称为控制守护进程,普通节点的守护进程称为普通守护进程,如果控制节点发生变化,则控制守护进程也相应变化。
3. 守护进程会连接 DMDSC 集群所有实例,但只有控制守护进程会发起 OPEN、故障处理、故障恢复等各种命令。普通守护进程不处理用户命令,但接收其他库的控制守护进程消息。
4. 主备实时同步数据时,DMDSC 集群主库各个节点将各自产生的联机日志发送到备库控制节点(重演节点)进行重演,备库普通节点不接收日志。
六、部署主备集群
主备集群规划
安装前准备
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld.service
创建用户所在的组,命令如下:
groupadd dinstall -g 12345
创建用户,命令如下:
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 12345 dmdba
修改用户密码,命令如下:
passwd dmdba
mkdir -p /dmdata/dm8/backup /dmdata/dm8/arch /dmdata/dm8/log /dmdata/dm8/data /dm8/dmdbms
chown -R dmdba:dinstall /dm8/dmdbms
chown -R dmdba:dinstall /dmdata/dm8/backup
chown -R dmdba:dinstall /dmdata/dm8/arch
chown -R dmdba:dinstall /dmdata/dm8/log
chown -R dmdba:dinstall /dmdata/dm8/data
chmod -R 755 /dm8/dmdbms
chmod -R 755 /dmdata/dm8/backup
chmod -R 755 /dmdata/dm8/arch
chmod -R 755 /dmdata/dm8/log
chmod -R 755 /dmdata/dm8/data
使用 root 用户打开 /etc/security/limits.conf 文件进行修改,命令如下:
vi /etc/security/limits.conf
在最后需要添加如下配置:
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
su - dmdba
ulimit -a
镜像传到了/目录下
cd /
unzip 一下文件
mount -o loop dm8_20240116_x86_rh7_64.iso /mnt
su - dmdba
cd /mnt
./DMInstall.bin -i
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /home/dmdba/dmdbms/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。

主库执行
su - dmdba
/dm8/dmdbms/bin/dminit PATH=/dmdata/dm8/data/ INSTANCE_NAME=dmgrid1 PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y DB_NAME=DMDG INSTANCE_NAME=DMGRID1 PORT_NUM=5236 LOG_SIZE=2048 SYSDBA_PWD=Dameng@123 SYSAUDITOR_PWD= Dameng@123
su - root
cd /dm8/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/dm8/data/DMDG/dm.ini -p DMGRID1 -m mount
./DmServiceDMGRID1 start

主库开启归档
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG ‘DEST=/dmdata/dm8/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200’;
ALTER DATABASE OPEN;
select name,arch_mode from v$database;
备份数据
BACKUP DATABASE BACKUPSET ‘/dmdata/dm8/backup/fullback’;
SP_SET_PARA_VALUE (2,‘PORT_NUM’,5236);
SP_SET_PARA_VALUE (2,‘DW_INACTIVE_INTERVAL’,60);
SP_SET_PARA_VALUE (2,‘ALTER_MODE_STATUS’,0);
SP_SET_PARA_VALUE (2,‘ENABLE_OFFLINE_TS’,2);
SP_SET_PARA_VALUE (2,‘MAL_INI’,1);
SP_SET_PARA_VALUE (2,‘RLOG_SEND_APPLY_MON’,64);
DW_INACTIVE_INTERVAL ##服务器认定守护进程未启动的时间,取值范围 0~1800,单位秒。
如果服务器距离上次收到守护进程消息的时间间隔在设定的时间范围内,则认为守护进程处于活动状态,此时,不允许手工
执行修改服务器模式、状态的 SQL 语句;
如果超过设定时间仍没有收到守护进程消息,则认为守护进程未启动,此时,允许手工方式执行这类 SQL 语句
RLOG_SEND_APPLY_MON ##数据守护中,对于主库,用于指定统计最近 N 次主库到每个备库的归档发送时间;对于备库,用于指定统计最近 N
次备库重演日志的时间,N 为此参数设置的值。取值范围 1~1024
ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 ##不允许备库 OFFLINE 表空间
MAL_INI = 1 ##打开 MAL 系统
ARCH_INI = 1 ##打开归档配置
ALTER_TABLE_OPT=3 ##加快带默认值的字段添加(看情况需要)
su - dmdba
cd /dmdata/dm8/data/DMDG/
vi dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/dm8/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
ARCH_FLUSH_BUF_SIZE = 2
ARCH_HANG_FLAG = 1
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMGRID2 #实时归档目标实例名
创建 dmmal.ini
cd /dmdata/dm8/data/DMDG/
vi dmmal.ini
MAL_CHECK_INTERVAL = 10 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间
MAL_TEMP_PATH = /dmdata/dmdbms/data/malpath/ #临时文件目录
MAL_BUF_SIZE = 512 #单个 MAL 缓存大小,单位 MB
MAL_SYS_BUF_SIZE = 2048 #MAL 总大小限制,单位 MB
MAL_COMPRESS_LEVEL = 0 #MAL 消息压缩等级,0 表示不压缩
[MAL_INST1]
MAL_INST_NAME = DMGRID1 #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST = 192.168.132.209 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.132.209 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DMGRID2
MAL_HOST = 192.168.142.71
MAL_PORT = 5336
MAL_INST_HOST = 192.168.142.71
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536
cd /dmdata/dm8/data/DMDG/
vi dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /dmdata/dm8/data/DMDG/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDMGRID1 start #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
cd /dmdata/dm8/backup/fullback
scp * dmdba@192.168.142.71:/dmdata/dm8/backup
/dm8/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dmdata/dm8/data/DMDG/dmwatcher.ini
备库执行
su - dmdba
/dm8/dmdbms/bin/dminit PATH=/dmdata/dm8/data/ INSTANCE_NAME=dmgrid1 PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y DB_NAME=DMDG INSTANCE_NAME=DMGRID2 PORT_NUM=5236 LOG_SIZE=2048 SYSDBA_PWD= Dameng@123 SYSAUDITOR_PWD= Dameng@123
恢复主库传来的备份
/dm8/dmdbms/bin/dmrman CTLSTMT=“RESTORE DATABASE ‘/dmdata/dm8/data/DMDG/dm.ini’ FROM BACKUPSET ‘/dmdata/dm8/backup’”
/dm8/dmdbms/bin/dmrman CTLSTMT=“RECOVER DATABASE ‘/dmdata/dm8/data/DMDG/dm.ini’ FROM BACKUPSET ‘/dmdata/dm8/backup’”
/dm8/dmdbms/bin/dmrman CTLSTMT=“RECOVER DATABASE ‘/dmdata/dm8/data/DMDG/dm.ini’ UPDATE DB_MAGIC”
vi dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/dm8/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
ARCH_FLUSH_BUF_SIZE = 2
ARCH_HANG_FLAG = 1
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMGRID1 #实时归档目标实例名
注册服务
cd /dm8/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/dm8/data/DMDG/dm.ini -p DMGRID2 -m mount
vi dm.ini
INSTANCE_NAME = GRP1_RT_02 PORT_NUM = 5236 #数据库实例监听端口
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 次的日志重演信息
vi dmmal.ini
MAL_CHECK_INTERVAL = 10 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间
MAL_TEMP_PATH = /dmdata/dm8/data/DMDG #临时文件目录
MAL_BUF_SIZE = 512 #单个 MAL 缓存大小,单位 MB
MAL_SYS_BUF_SIZE = 2048 #MAL 总大小限制,单位 MB
MAL_COMPRESS_LEVEL = 0 #MAL 消息压缩等级,0 表示不压缩
[MAL_INST1]
MAL_INST_NAME = DMGRID1 #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST = 192.168.132.209 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.132.209 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DMGRID2
MAL_HOST = 192.168.142.71
MAL_PORT = 5336
MAL_INST_HOST = 192.168.142.71
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536
vi dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /dmdata/dm8/data/DMDG/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDMGRID2 start #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
/dm8/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dmdata/dm8/data/DMDG/dmwatcher.ini
测试主从同步
主库备库都执行
/dm8/dmdbms/bin/dmserver /dmdata/dm8/data/DMDG/dm.ini mount
主库
/dm8/dmdbms/bin/disql sysdba/’" Dameng@123"’
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
SP_SET_OGUID(45331);
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);
select status$ from vinstance;
LINEID STATUS
1 MOUNT
备库
/dm8/dmdbms/bin/disql sysdba/’" Dameng@123"’
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);
select status$ from vinstance;
LINEID STATUS
1 MOUNT
主库备库启动datawatcher
/dm8/dmdbms/bin/dmwatcher /dmdata/dm8/data/DMDG/dmwatcher.ini
查看数据库状态
SQL> select status,mode from vinstance;
LINEID STATUS MODE$
1 OPEN PRIMARY
SQL> select status,mode from vinstance;
LINEID STATUS MODE$
1 OPEN STANDBY
主节点启动monitor,后期为规范格外部署一台服务器安装monnitor
/dm8/dmdbms/bin/dmmonitor /dmdata/dm8/data/DMDG/dmmonitor.ini
/dm8/dmdbms/bin/dmmonitor /dm8/dmdbms/bin/dmmonitor.ini

测试数据同步
create tablespace hsx datafile ‘/dmdata/dm8/data/DMDG/hsx.DBF’ size 128 autoextend on maxsize 10240;
create user hsx identified by " Dameng@123" default tablespace hsx default index tablespace hsx;
grant dba to hsx;
主节点登录hsx用户

备节点查询表
https://eco.dameng.com
文章
阅读量
获赞
