前置准备
拥有DSC0、DSC1、monitor、Salve
DSC0与DSC1为DSC集群作为主机
monitor作为监控DSC集群监控器
Slave作为备机
./dmcss dcr_ini=/dm8/data/dmdcr.ini #启动css集群
monitor操作:ep startup GRP_ASM#启动asm集群
monitor操作:ep startup GRP_DSC#启动dsc集群
数据库服务
对DSC0或者DSC1备份数据库。
./dmrman dcr_ini=/dm8/data/dmdcr.ini
backup database '/dm8/data/dsc0_config/dm.ini' backupset '/dm8/bak/';
初始化实例Salve
Salve还原
发送备份
scp -r /dm8/bak 192.168.0.4:/dm8
还原操作
./dmrman
RESTORE DATABASE '/dm8/data/Slave/dm.ini' FROM BACKUPSET'/dm8/bak';
RECOVER DATABASE '/dm8/data/Slave/dm.ini' FROM BACKUPSET '/dm8/bak';
RECOVER DATABASE '/dm8/data/Slave/dm.ini' UPDATE DB_MAGIC;
编辑DSC集群DSC0与DSC1的dm.ini文件
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
ARCH_INI = 1 #开启归档模式
MAL_INI = 1
修改dmmal.ini
[mal_inst0]
mal_inst_name = DSC0
mal_host = 192.168.0.2
mal_port = 9340
[mal_inst1]
mal_inst_name = DSC1
mal_host = 192.168.0.3
mal_port = 9341
[mal_inst2]
mal_inst_name = Salve
mal_host = 192.168.0.4
mal_port = 9342
修改 DSC0 的 dmarch.ini 文件
ARCH_WAIT_APPLY = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/dsc0_config/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 51200
ARCH_INCOMING_PATH = /dm8/data/dsc1_config/arch
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = Salve
修改 DSC1 的 dmarch.ini 文件
ARCH_WAIT_APPLY = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/dsc0_config/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REMOTE]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 51200
ARCH_INCOMING_PATH = /dm8/data/dsc1_config/arch
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = Salve
修改DSC0与DSC1的dmwatcher.ini文件
DSC0
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 35
INST_INI = /dm8/data/dm.ini
DCR_INI = /dm8/data/dmdcr.ini
INST_OGUID = 1000
INST_AUTO_RESTART = 0
DSC1
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 35
INST_INI = /dm8/data/DSC1/dm.ini
DCR_INI = /dm8/data/DSC1/dmdcr.ini
INST_OGUID = 1000
INST_AUTO_RESTART = 0
修改Salve的dm.ini
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
ARCH_INI = 1 #开启归档模式
MAL_INI = 1 #开启 MAL 系统
修改Salve的dmarch.ini
arch_wait_apply=1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/data/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 51200
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DSC0/DSC1
配置备库Salve的dmmal.ini
[mal_inst0]
mal_inst_name = DSC0
mal_host = 192.168.0.2
mal_port = 9340
[mal_inst1]
mal_inst_name = DSC1
mal_host = 192.168.0.3
mal_port = 9341
[mal_inst2]
mal_inst_name = Salve
mal_host = 192.168.0.4
mal_port = 9342
配置Salve的dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 60
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 35
INST_INI = /dm8/data/Salve/dm.ini
INST_OGUID = 1000
INST_STARTUP_CMD = /dm8/bin/dmserver
INST_AUTO_RESTART = 1
将所有实例配置成mount状态后配置主备
在这里插入代码片
DSC0
./dmcss dcr_ini=/dm8/data/dsc0_config/dmdcr.ini
./dmasmsvr dcr_ini=/dm8/data/dsc0_config/dmdcr.ini
./dmserver /dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dsc0_config/dmdcr.ini mount
DSC1
./dmcss dcr_ini=/dm8/data/dsc1_config/dmdcr.ini
./dmasmsvr dcr_ini=/dm8/data/dsc1_config/dmdcr.ini
./dmserver /dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dsc1_config/dmdcr.ini mount
Slave
./dmserver /dm8/data/Slave/dm.ini mount
设置主备库
启动命令行工具 DIsql,连接 DMDSC 集群中的任意一个节点
SP_SET_OGUID(1000);#设置OGUID
ALTER DATABASE PRIMARY;#修改库为Primary 模式。
DIsql 连接单节点备库,修改OGUID及修改库为 Standby 模式
SP_SET_OGUID(1000);#修改OGUID
ALTER DATABASE STANDBY;#修改库为 Standby 模式
启动所有节点守护进程
./dmwatcher /dm8/config/dsc0_config/dmwatcher.ini
./dmwatcher /dm8/config/dsc1_config/dmwatcher.ini
./dmwatcher /dm8/data/DAMENG/dmwatcher.ini
配置监视器 dmmonitor.ini
MON_DW_CONFIRM = 0 #0监控监视器模式 1确认监视器模式
MON_LOG_PATH = /dm8/data/monitor_log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 64
MON_LOG_SPACE_LIMIT = 0
MON_DW_CONFIRM = 0
[GRP1]
MON_INST_OGUID = 1000
MON_DW_IP = 192.168.20.15:3567/192.168.20.16:3567
MON_DW_IP = 192.168.20.14:3567
启动监视器
./dmmonitor /dm8/data/dmmonitor.ini
登录数据库测试,验证数据库是否正常同步
更多资讯请上达梦技术社区了解:https://eco.dameng.com