达梦数据库主备集群部署及测试
1、架构
2台虚拟机,一主一备,主库对外提供读写服务,备库试试同步主库数据,主库故障时可主备切换到备库提供服务。
主库172.20.10.2 DMOA
备库172.20.10.4 DMOABY
2、主备集群配置
初始化实例
主库执行
su - dmdba
cd /home/dmdba/dmdbms/bin./dminit path=/dmdata/data PAGE_SIZE=16 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=0 DB_NAME=DMOA INSTANCE_NAME=DMOA PORT_NUM=5236 SYSDBA_PWD=Dameng@123 SYSAUDITOR_PWD=Dameng@123
# 启动一次数据库(使配置生效)
./dmserver /dmdata/data/DAOA/dm.ini
# 看到 "system is ready" 后正常退出(输入exit)
备库执行
su - dmdba
cd /home/dmdba/dmdbms/bin./dminit path=/dmdata/data PAGE_SIZE=16 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=0 DB_NAME=DMOABY INSTANCE_NAME=DMOABY PORT_NUM=5236 SYSDBA_PWD=Dameng@123 SYSAUDITOR_PWD=Dameng@123
# 注意:备库初始化后不要正常启动,后面直接mount
主备库均修改dm.ini文件
INSTANCE_NAME = DMOA/DMOABY
MAL_INI = 1
ARCH_INI = 1
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
RLOG_APPEND_LOGIC = 1
配置归档文件 dmarch.ini
主备库均写入,以主库为例
vi /dmdata/data/DMOA/dmarch.ini
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DMOABY[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
配置MAL系统 dmmal.ini
主备库均写入,以主库为例
vi /dmdata/data/DMOA/dmarch.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 15[MAL_INST1]
MAL_INST_NAME = DMOA
MAL_HOST = 172.40.20.2
MAL_PORT = 7336
MAL_INST_HOST = 172.40.20.2
MAL_INST_PORT = 5236
MAL_DW_PORT = 7436
MAL_INST_DW_PORT = 7536[MAL_INST2]
MAL_INST_NAME = DMOABY
MAL_HOST = 172.40.20.4
MAL_PORT = 7336
MAL_INST_HOST = 172.40.20.4
MAL_INST_PORT = 5236
MAL_DW_PORT = 7436
MAL_INST_DW_PORT = 7536
配置守护进程 dmwatcher.ini
主备库均写入,以主库为例
vi /dmdata/data/DMOA/dmwatcher.ini
[GRP_DW]
DW_TYPE = GLOBAL
DW_MODE = MANUAL # MANUAL手动切换,AUTO自动切换
DW_ERROR_TIME = 30
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 20
INST_OGUID = 453331
INST_INI = /dmdata/data/DMOA/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceDMOA start
以mount状态启动数据库
主备库分别执行
cd /home/dmdba/dmdbms/bin
# 主备库分别执行 ./dmserver /dmdata/data/DAMENG/dm.ini mount
设置OGUID和数据库模式
新开终端连接数据库(主备库分别执行):
-- 允许手动修改
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);-- 设置OGUID
sp_set_oguid(453331);-- 主库执行:
ALTER DATABASE PRIMARY;-- 备库执行:
ALTER DATABASE STANDBY;-- 禁止手动修改
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);-- 退出
exit;
注册并启动服务
主备库分别执行(root用户):
cd /home/dmdba/dmdbms/script/root
# 注册守护进程服务
./dm_service_installer.sh -t dmwatcher -p DMOA -watcher_ini /dmdata/data/DMOA/dmwatcher.ini# 注册数据库实例服务
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMOA/dm.ini -p DMOA# 启动服务
systemctl start DmServiceDMOA
systemctl start DmWatcherServiceDMOA
测试主备同步:
-- 主库创建测试表
CREATE TABLE test (id int);
INSERT INTO test VALUES (1);
COMMIT;
-- 备库查询(切换为只读模式)
SELECT * FROM test;
更多推荐




所有评论(0)