数据守护以库为单位进行管理,一个 DMDSC 集群的所有实例作为一个整体库来考虑。
DMDSC 集群的库信息,例如库的状态、模式等需要综合考虑集群内所有实例,同时需要结
合 DMDSC 本身的状态。
DM 支持 3 种数据库模式:Normal 模式、Primary 模式和 Standby 模式。
Normal 模式
提供正常的数据库服务,操作没有限制。正常生成本地归档,但不发送实时归档
(Realtime)、即时归档(Timely)和异步归档(Async)。
Primary 模式
主库:全集群只能有一个主库,主库是用来直接支撑应用系统。必须是primary模式。
提供正常的数据库服务,操作有极少限制。该模式下部分功能受限,包括:不支持修改
表空间文件名、不支持修改 arch_ini 参数。正常生成本地归档,支持实时归档
(Realtime)、即时归档(Timely)和异步归档(Async)。Primary 模式下,对临时表空间以外的所有的数据库对象的修改操作都强制生成 Redo 日志。
Standby 模式
备库:全集群至少有一个备库,提供只读数据库服务的实例。必须是standby模式。
可以执行数据库备份、查询等只读数据库操作。正常生成本地归档,正常发送异步归档
Redo 日志;但实时归档(Realtime)、即时归档(Timely)均强制失效。该模式下时间触发器、事件触发器等都失效。
可以通过 SQL 语句切换数据库模式,模式切换必须在 Mount 状态下执行。
DM 的数据库状态包括:
Startup 状态
系统刚启动时设置为 Startup 状态。
After Redo 状态
系统启动过程中联机日志重做完成后,回滚活动事务前设置为 After Redo 状态。非
Standby 模式的实例在执行 alter database open 操作前,也会将系统设置为 After
Redo 状态。
Open 状态
数据库处于正常提供服务的状态,但不能进行归档配置等操作。
Mount 状态
数据库在 Mount 状态下,不能修改数据,不能访问表、视图等数据库对象,但可以执
行修改归档配置、控制文件和修改数据库模式等操作,也可以执行一些不修改数据库内容的
操作,比如查询动态视图或者一些只读的系统过程。由于 Mount 状态不生成 PWR 日志,因此数据页可以正常刷盘,也正常推进检查点。
系统从 Open 状态切换为 Mount 状态时,会强制回滚所有活动事务,但不会强制清理(Purge)已提交事务,不会强制断开用户连接,也不会强制 Buffer 中的脏页刷盘。
Suspend 状态
数据库在 Suspend 状态下,可以访问数据库对象,甚至可以修改数据,但限制 Redo
日志刷盘,一旦执行 COMMIT 等触发 Redo 日志刷盘的操作时,当前操作将被挂起。
Shutdown 状态
实例正常退出时设置为 Shutdown 状态。
用户可以通过 SQL 语句进行数据库状态切换:
1.Open 状态与 Mount 状态可以相互切换;
2.Open 状态与 Suspend 状态可 以相互切换;
3.Mount 和 Suspend 状态不能直接转换
4. 其他状态为系统内部状态,用户不能主动干预。
特性 | 本地归档 | 实时归档 | 即时归档 | 异步归档 |
---|---|---|---|---|
数量限制 |
0 | 1~8 | 1~8 | 1~8 |
归档时机 | 写入联机日志后,再写入到本地归档日志文件 | 写入联机日志前 | 写入联机日志后,发送到备库 | 异步归档线程 |
数据来源 | RLOG_PKG | RLOG_PKG | RLOG_PKG | 本地归档文件 |
适用源库模式 | Primary/Standby/Normal | Primary | 写入联机日志后,发送到备库 | Primary/Standby |
端口参数说明
参数名 | 全称 | 作用 | A机器 | B机器(监视器) |
---|---|---|---|---|
业务IP | / | 对外服务IP | 10.127.17.107 | 10.127.17.110 |
心跳IP(MAL_HOST) | / | 内部通讯IP,监视器用到的ip | 10.127.17.107 | 10.127.17.107 |
实例名 | / | 实例标识 | GRP1_RT_01 | GRP1_RT_02 |
MAL_INST_PORT(dmmal.ini) | 实例端口 | 提供数据库服务的监听端口(客户端连接端口) | 5236 | 5236 |
PORT_NUM(dm.ini) | ||||
MAL_INST_DW_PORT | MAL实例守护端口 | 监控本地实例状态的守护进程通信端口 | 5237 | 5237 |
MAL_PORT | MAL通信端口 | 节点间日志传输端口(发送Redo日志) | 5238 | 5238 |
MAL_DW_PORT | MAL守护进程端口 | 节点间守护进程通信端口(状态同步/故障切换) | 5239 | 5239 |
OGUID | / | 守护系统唯一标识 | 45331 | 45331 |
守护组 | / | 守护组名称 | GRP1 | GRP1 |
安装目录 | / | 达梦数据库安装路径 | /opt/dmdbms | /opt/dmdbms |
实例目录 | / | 数据库实例文件存储路径 | /opt/dmdbms/data/ | /opt/dmdbms/data/ |
```css
两台机器前期准备
创建用户组、用户
groupadd -g 2001 dinstall
useradd -g dinstall dmdba -u 2001
passwd dmdba
#变更目录用户及组 root
mkdir /opt/dmdbms
chown dmdba:dinstall /opt/dmdbms/ -R
chmod 777 /opt/dmdbms/ -R
##关闭防火墙
systemctl stop firewalld && systemctl disable firewalld //关闭防火墙&&关闭自启动
##关闭numa和transparent_hugepage
vi /etc/default/grub
GRUB_CMDLINE_LINUE参数的最后添加numa=off transparent_hugepage=never
查询是UEFI-based机器还是BIOS-based机器
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
重新生成grub.cfg文件
UEFI-based 机器,执行:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub
BIOS-based 机器,执行:
grub2-mkconfig -o /boot/grub2/grub
##关闭swap分区
vi /etc/fstab
注释掉swap分区的一行 #sed -ri 's/.*swap.*/#&/' /etc/fstab
}
修改文件最大打开数
##修改文件最大打开数
vi /etc/security/limits.conf
dmdba soft nice 65536
dmdba hard nice 65536
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
修改system.conf文件
DefaultLimitCORE=infinity
DefaultLimitNOFILE=100000
DefaultLimitNPROC=100000
##/etc/sysctl.conf文件添加以下三项
vi /etc/sysctl.conf
vm.numa_stat = 0
vm.overcommit_memory=0
vm.swappiness=1
执行sysctl -p生效
数据库安装到/opt下 实例存放到/data下面
修改目录属组:chown -R dmdba:dinstall /data
1、数据库安装目录
通过配置管理工具安装完成的数据库安装目录为:/opt/dmdbms
数据库执行码(dminit,disql等)存放目录:/opt/dmdbms/bin/
数据库图形化工具存放目录:/opt/dmdbms/tool
数据库手册存放目录:/opt/dmdbms/doc
数据库驱动存放目录:/opt/dmdbms/drivers
服务器-主库-实例初始、备份数据
./DMInstall.bin -i
/opt/dmdbms/bin/dminit PATH=/opt/dmdbms/data/ \
INSTANCE_NAME=GRP1_RT_01 \
PAGE_SIZE=32 \
EXTENT_SIZE=32 \
LOG_SIZE=2048 \
SYSDBA_PWD=Dameng123 \
SYSAUDITOR_PWD=Dameng123 \
CHARSET=1 \
CASE_SENSITIVE=Y \
SEC_PRIV_MODE=0 \
DB_NAME=DAMENG \
PORT_NUM=5236
/opt/dmdbms/bin/dmserver /opt/dmdbms/data/DAMENG/dm.ini
disql SYSDBA/Dameng123@10.127.17.107:5236
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/opt/dmdbms/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
SQL> BACKUP DATABASE BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE';
--库中执行:
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);
参数的详细解答:
INSTANCE_NAME 数据库实例名(长度不超过 16 个字符),与 dmmal.ini 中的
MAL_INST_NAME 对应。配置数据守护系统时,应该保持INSTANCE_NAME 是全局唯一的。
PORT_NUM 5236 数据库实例监听端口(范围 1024~65534),与 dmmal.ini 中
的 MAL_INST_PORT 对应
DW_INACTIVE_INTERVAL 60 接收守护进程消息超时时间
ALTER_MODE_STATUS 0 是否允许手工修改数据库的模式和状态,1 表示允许,0 表示不允许,此参数可动态修改,默认为 1,数据守护环境下建议配置为 0,避免用户手工干预。
ENABLE_OFFLINE_TS 2 是否允许 offline 表空间,1 表示允许,0 表示不允许,2 表示禁止备库,其他放开。守护环境下建议配置为 2。
MAL_INI 1 系统配置开关,0 表示不启用 MAL 系统,1 表示启用 MAL系统。
ARCH_INI 1 Redo 日志归档配置开关,0 表示不启动 Redo 日志归档,1 表
示启用 Redo 日志归档
RLOG_SEND_APPLY_MON 64 统计最近64次日志发送消息。
[dmdba@~]$ vi /opt/dmdbms/data/DAMENG/dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /opt/dmdbms/data/DAMENG/arch/
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_02
**#-注意限制归档空间大小,防止磁盘撑爆,根据实际环境更改**
[dmdba@~]$ vi /opt/dmdbms/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL = 10
MAL_CONN_FAIL_INTERVAL = 10
MAL_TEMP_PATH = /opt/dmdbms/data/malpath/
MAL_BUF_SIZE = 512
MAL_SYS_BUF_SIZE = 2048
MAL_COMPRESS_LEVEL = 0
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 10.127.17.107
MAL_PORT = 5238
MAL_INST_HOST = 10.127.17.107
MAL_INST_PORT = 5236
MAL_DW_PORT = 5239
MAL_INST_DW_PORT = 5237
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 10.127.17.110
MAL_PORT = 5238
MAL_INST_HOST = 10.127.17.110
MAL_INST_PORT = 5236
MAL_DW_PORT = 5239
MAL_INST_DW_PORT = 5237
[dmdba@~]$ vi /opt/dmdbms/data/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 20
INST_ERROR_TIME = 20
INST_RECOVER_TIME = 60
INST_OGUID = 45331
INST_INI = /opt/dmdbms/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
scp -r /opt/dmdbms/data/DAMENG/bak/BACKUP_FILE dmdba@10.127.17.110:/opt/dmdbms/data/DAMENG/bak
使用root权限用户
# 安装数据库实例服务(GRP1_RT_01),并指定启动模式为 MOUNT(适用于集群初始化)
[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -m mount
# 安装数据库守护进程服务(Watcher),用于监控实例状态并处理集群故障切换。
[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /opt/dmdbms/data/DAMENG/dmwatcher.ini
#若要删除自启,可利用如下方式:
[root@~]# /opt/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceGRP1_RT_01
[root@~]# /opt/dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher
服务器-备库-实例初始、备份数据
./DMInstall.bin -i
/opt/dmdbms/bin/dminit PATH=/opt/dmdbms/data/ \
INSTANCE_NAME=GRP1_RT_02 \
PAGE_SIZE=32 \
EXTENT_SIZE=32 \
LOG_SIZE=2048 \
SYSDBA_PWD=Dameng123 \
SYSAUDITOR_PWD=Dameng123 \
CHARSET=1 \
CASE_SENSITIVE=Y \
SEC_PRIV_MODE=0 \
DB_NAME=DAMENG \
PORT_NUM=5236
[dmdba@~]$/opt/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE'"
[dmdba@~]$/opt/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE'"
[dmdba@~]$ /opt/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"
验证备份集完整性
/opt/dmdbms/bin/dmrman CTLSTMT="CHECK BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE'"
[dmdba@~]$ vi /opt/dmdbms/data/DAMENG/dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /opt/dmdbms/data/DAMENG/arch/
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
#-注意限制归档空间大小,防止磁盘撑爆,根据实际环境更改
在 B 机器上配置备库的实例名为 GRP1_RT_02,dm.ini 参数修改如下:
INSTANCE_NAME = GRP1_RT_02I
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 次的日志重演信息
配置 dmmal.ini 和 dmwatcher.ini
B 机器里 dmmal.ini、
dmwatcher.ini 与 A 机器
GRP1_RT_01 的 dmmal.ini、dmwatcher.ini 相同,
参照 A 机器
dmmal.ini、dmwatcher.ini ``文件进行配置。`
[dmdba@~]$ vi /opt/dmdbms/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL = 10
MAL_CONN_FAIL_INTERVAL = 10
MAL_TEMP_PATH = /opt/dmdbms/data/malpath/
MAL_BUF_SIZE = 512
MAL_SYS_BUF_SIZE = 2048
MAL_COMPRESS_LEVEL = 0
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 10.127.17.107
MAL_PORT = 5238
MAL_INST_HOST = 10.127.17.107
MAL_INST_PORT = 5236
MAL_DW_PORT = 5239
MAL_INST_DW_PORT = 5237
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 10.127.17.110
MAL_PORT = 5238
MAL_INST_HOST = 10.127.17.110
MAL_INST_PORT = 5236
MAL_DW_PORT = 5239
MAL_INST_DW_PORT = 5237
[dmdba@~]$ vi /opt/dmdbms/data/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 20
INST_ERROR_TIME = 20
INST_RECOVER_TIME = 60
INST_OGUID = 45331
INST_INI = /opt/dmdbms/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -m mount
[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /opt/dmdbms/data/DAMENG/dmwatcher.ini
若要删除自启
[root@~]# /opt/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceGRP1_RT_02
[root@~]# /opt/dmdbms/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher
在第二台机器10.127.17.110上配置确认监视器,存放确认监视器配置文件,并注册后台自启服务。
[dmdba@~]$ vi /opt/dmdbms/bin/dmmonitor.ini
MON_DW_CONFIRM=1
MON_LOG_PATH=/opt/dmdbms/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=512
MON_LOG_SPACE_LIMIT=2048
[GRP1]
MON_INST_OGUID=45331
MON_DW_IP=10.127.17.107:5239
MON_DW_IP=10.127.17.110:5239
在配置监视器时,一般配置好确认监视器后,建议再配置一个非确认监视器的配置文件,在主备发生切换时,可以通过前台的方式启动非确认监视器进行手动切换。非确认监视器是通过将监视器配置文件中 MON_DW_CONFIRM 参数值修改为 0 来实现。
MON_DW_CONFIRM=0
MON_LOG_PATH=/opt/dmdbms/log
MON_LOG_INTERVAL=60
MON_LOG_FILE_SIZE=512
MON_LOG_SPACE_LIMIT=2048
[GRP1]
MON_INST_OGUID=45331
MON_DW_IP=10.127.17.107:5239
MON_DW_IP=10.127.17.110:5239
/opt/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /opt/dmdbms/bin/dmmonitor.ini
服务器A-主库启动到mount状态
/opt/dmdbms/bin/dmserver /opt/dmdbms/data/DAMENG/dm.ini mount
服务器B-主库启动到mount状态 root用户
/opt/dmdbms/bin/dmserver /opt/dmdbms/data/DAMENG/dm.ini mount
##A 机器
[dmdba@~]$ /opt/dmdbms/bin/DmServiceGRP1_RT_01 start
[dmdba@~]$ /opt/dmdbms/bin/disql SYSDBA/*****@xxx:5236
##启用参数修改模式(允许修改系统参数)# 1=开启,0=关闭
SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE PRIMARY;
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS',0);
停库
##B 机器
[dmdba@~]$ /opt/dmdbms/bin/DmServiceGRP1_RT_02 start
[dmdba@~]$ /opt/dmdbms/bin/disql SYSDBA/*****@xxx:5236
##启用参数修改模式(允许修改系统参数)# 1=开启,0=关闭
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS',1);
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE STANDBY;
##关闭参数修改模式(防止误操作)
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS',0);
停库
/opt/dmdbms/bin/DmServiceGRP1_RT_01 start
服务器B-备库
/opt/dmdbms/bin/DmServiceGRP1_02 start
启动后,主备库状态应该是mount状态,只有所有DmWatcherServiceWatcher启动后,才会变成open状态
服务器A-主库
/opt/dmdbms/bin/DmWatcherServiceWatcher start
服务器B-备库
/opt/dmdbms/bin/DmWatcherServiceWatcher start
启动确认监视器
/opt/dmdbms/bin/DmMonitorServiceMonitor start
非确认模式前台启动方法
/opt/dmdbms/bin/dmmonitor /opt/dmdbms/bin/dmmonitor_manual.ini
常用命令--show
可以看到数据库状态、守护进程状态,FLSN,CLSN等
如果主库CLSN差异比较大,多输入几次show命令后,主库和备库之间的CLSN差值还是越来越大,就说明主备库存在延时,如果这种情况,保业务的话,可以先停备库。
也可以使用 select cur_lsn from v$rlog; 查看主备库的lsn。比较主备库的差异。
常用命令-choose switchover/choose takeover
使用前必须输入login 登录监视器
再使用:
choose switchover GRP1
主备切换
--执行命令"switchover GRP1.实例名"进行切换
switchover GRP1.GRP1_RT_01
切换成功,GRP1_RT_01 恢复到主库对外提供服务。
监视器常用命令-show arch send info [group_name.]db_name
显示源库到指定备库的日志发送信息,以及源库的控制守护进程本地到指定备库的Recovery 间隔
信息。也支持异步备库的查询。
show arch send info GRP1.GRP1_RT_02
SEND CODE:主库到指定备库的日志发送结果,
Code 小于 0 表示发送失败,
等于 0 表示发送成功,
等于 100 表示实际未发送。
SEND DESC INFO:
主库到指定备库的日志发送结果描述信息。
读写分离集群可以配置为即时归档,也可以配置为实时归档,这两种配置方式仅仅是归档流程上有差别,读写分离集群的特性仍然是一致的。即时归档流程与实时归档流程存在一定差异:
主库先将日志写入本地联机 Redo 日志文件中,再发送 RLOG_PKG 到备库。
备库日志重演时机有两种选择:
事务一致模式 要求备库在重演 Redo 日志完成后再响应主库。
高性能模式 与实时归档一样,收到 Redo 日志后,马上响应主库
dm_svc.conf 是使用达梦数据库时非常重要的配置文件,它包含了达梦各接口和客户端工具所需要配置的一些参数。通过它可以实现达梦各种集群的读写分离和均衡负载,且必须和接口/客户端工具位于同一台机器上才能生效。
初始 dm_svc.conf 文件由达梦安装时自动生成。不同的平台生成目录有所不同,注意相应访问用户需要对该文件有读取权限。
##以#开头的行表示是注释
##全局配置区
TIME_ZONE=(480) #480分钟 = UTC+8(北京时间)
LANGUAGE=(cn)
DMRW=(10.127.17.107:5236,10.127.17.110:5236)
##服务配置
[DMRW]
LOGIN_MODE=(1) #0:普通模式 1:非强制登录(兼容模式)
RW_SEPARATE=(1) #0:关闭 1:开启 2:启用读写分离,备库由客户端选择,且只选择服务名中配置的节点
RW_PERCENT=(30) #30表示30%读请求到主库/70%到备库
SWITCH_TIMES=(60) #故障切换重试次数
SWITCH_INTERVAL=(1000)
区别:
归档模式和主备读写分离架构没太大关系,具体配置什么归档类型根据需求配置,一般读写分离配置的为 ‘即时归档,事务一致’
高性能模式备机收到归档主机即可提交,立即查询可能备机数据与主机不一致
事务一致是备机重演完,主机才提交,确保主备机数据一致,但是数据写入效率等会受到备机的影响。
文章
阅读量
获赞