1 环境规划
读写分离集群适合读多写少的应用环境。 1写2读3节点读写分离集群部署规划
1.1 IP规划:
主机名 | 服务ip | 心跳ip | 数据库名 | 实例名 |
---|
dmdb01 | 192.168.25.94 | 10.10.10.94 | dmdb | rw4 | dmdb02 | 192.168.25.95 | 10.10.10.95 | dmdb | rw5 | dmdb03 | 192.168.25.96 | 10.10.10.96 | dmdb | rw6 |
1.2 端口规划
实例名 | PORT_NUM | DW_PORT | MAL_HOST | MAL_PORT | MAL_DW_PORT |
---|
rw4 | 5236 | 7436 | 10.10.10.94 | dmdb | 7336 | rw5 | 5236 | 7436 | 10.10.10.95 | dmdb | 7336 | rw6 | 5236 | 7436 | 10.10.10.96 | dmdb | 7336 |
1.3 磁盘规划
对应服务器上创建目录owner为dmdba组为dinstall
数据库软件安装目录 | /home/dmdba/dmdbms/dm8 |
---|
实例安装目录 | /dm/dmdata/ | 归档日志存放目录 | /dm/dmarch | 备份文件存放目录 | /dm/dmbak/ |
2 操作系统配置
2.1 修改资源限制参数
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
cat /etc/security/limits.conf
2.3 设置系统安全策略
2.3.1 SELinux
echo "SELINUX=disabled" > /etc/selinux/config
echo "SELINUXTYPE=targeted" >> /etc/selinux/config
cat /etc/selinux/config
setenforce 0
2.3.2.关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
2.4 修改内核参数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern = /home/dmdba/dmdbms/core.%p
vm.swappiness=10
vm.dirty_background_ratio = 0
vm.min_free_kbytes = 2097152
vm.swappiness=1
使参数生效,执行
sysctl -p
3 创建数据库用户和组
groupadd dinstall -g 2001
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
passwd dmdba
--密码
dameng
配置目录权限
mkdir -p /home/dmdba/dmdbms
mkdir -p /dm/dmdata
mkdir -p /dm/dmarch
mkdir -p /dm/dmback
chown -R dmdba:dinstall /dm/
chmod -R 775 /dm/
4 配置环境变量
su - dmdba
vi ~/.bash_profile
export LANG=zh_CN.UTF8
export DM_INSTALL_TMPDIR=/tmp
export DM_HOME=/home/dmdba/dmdbms
export PATH=$DM_HOME/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DM_HOME/bin"
5 安装数据库
5.1 使用root用户挂载数据库软件的iso文件
mkdir -p /dmiso
mount /dev/cdrom /dmiso
5.2.使用dmdba用户安装软件
su - dmdba 执行以下命令,切换到 /dmiso 目录下 cd /dmiso 执行 DMInstall.bin 文件开始安装,选择【-i】参数以命令行方式安装。 ./DMInstall.bin -i 选择安装程序的语言 c/C 为中文,e/E 为英文。 提示是否安装 key 文件,输入 N 跳过。 选择时区,21 即东 8 区。 选择安装类型,默认典型安装(包含所有内容)。 选择软件安装目录,默认/home/dmdba/dmdbms 确认安装 安装完成提示使用root执行脚本: /home/dmdba/dmdbms/script/root/root_installer.sh
安装第一台:
[root@dm94 dmdbms]
Last login: Sat Jan 22 11:34:35 CST 2022 on pts/0
[dmdba@dm94 ~]$ cd /dmiso
[dmdba@dm94 dmiso]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:c
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1026M
请选择安装目录 [/home/dmdba/dmdbms]
可用空间: 98G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1026M
可用空间: 98G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2022-01-22 11:43:41
[INFO] 安装达梦数据库...
2022-01-22 11:43:42
[INFO] 安装 基础 模块...
2022-01-22 11:43:44
[INFO] 安装 服务器 模块...
2022-01-22 11:43:45
[INFO] 安装 客户端 模块...
2022-01-22 11:43:45
[INFO] 安装 驱动 模块...
2022-01-22 11:43:46
[INFO] 安装 手册 模块...
2022-01-22 11:43:46
[INFO] 安装 服务 模块...
2022-01-22 11:43:47
[INFO] 移动ant日志文件。
2022-01-22 11:43:47
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
[dmdba@dm94 dmiso]$ exit
登出
[root@dm94 dmdbms]
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@dm94 dmdbms]
安装第二台
[dmdba@dm95 dmdbms]$ cd /dmiso/
[dmdba@dm95 dmiso]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:c
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1026M
请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 98G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1026M
可用空间: 98G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2022-01-22 11:43:41
[INFO] 安装达梦数据库...
2022-01-22 11:43:42
[INFO] 安装 基础 模块...
2022-01-22 11:43:44
[INFO] 安装 服务器 模块...
2022-01-22 11:43:44
[INFO] 安装 客户端 模块...
2022-01-22 11:43:45
[INFO] 安装 驱动 模块...
2022-01-22 11:43:45
[INFO] 安装 手册 模块...
2022-01-22 11:43:46
[INFO] 安装 服务 模块...
2022-01-22 11:43:47
[INFO] 移动ant日志文件。
2022-01-22 11:43:47
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
[dmdba@dm95 dmiso]$ exit
登出
[root@dm95 dmback]
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@dm95 dmback]
[dmdba@dm94 bin]$
安装第三台:
[dmdba@dm96 dmdbms]$ cd /dmiso/
[dmdba@dm96 dmiso]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:c
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1026M
请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 98G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1026M
可用空间: 98G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2022-01-22 11:43:42
[INFO] 安装达梦数据库...
2022-01-22 11:43:42
[INFO] 安装 基础 模块...
2022-01-22 11:43:45
[INFO] 安装 服务器 模块...
2022-01-22 11:43:45
[INFO] 安装 客户端 模块...
2022-01-22 11:43:46
[INFO] 安装 驱动 模块...
2022-01-22 11:43:46
[INFO] 安装 手册 模块...
2022-01-22 11:43:46
[INFO] 安装 服务 模块...
2022-01-22 11:43:47
[INFO] 移动ant日志文件。
2022-01-22 11:43:47
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
[dmdba@dm96 dmiso]$ exit
登出
[root@dm96 ~]
移动 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@dm96 ~]
5.3 使用 dminit 工具初始化实例
初始化实例 --大小写敏感 case_sensitive=1 0/1是y/n -- charset=0 0代表GBK 1是utf-8
初始化主库,执行以下命令:
[root@dm94 dmdbms]
Last login: Sat Jan 22 11:38:04 CST 2022 on pts/0
[dmdba@dm94 ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@dm94 bin]$ ./dminit path=/dm/dmdata page_size=32 extent_size=32 log_size=2048 charset=1 case_sensitive=0 LENGTH_IN_CHAR=0 db_name=dmdb instance_name=dmdb SYSDBA_PWD="dameng123" SYSAUDITOR_PWD="dameng123"
initdb V7.6.1.108-Build(2021.06.30-142705-10017)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2022-06-30
log file path: /dm/dmdata/dmdb/dmdb01.log
log file path: /dm/dmdata/dmdb/dmdb02.log
write to dir [/dm/dmdata/dmdb].
create dm database success. 2022-01-22 11:48:47
[dmdba@dm94 bin]$ exit
登出
5.4 拷贝主库数据文件到两台备库
拷贝主库上的数据文件到备库对应目录下,主库操作: su - dmdba
scp -r /dm/dmdata/dmdb dmdba@192.168.25.95:/dm/dmdata/ scp -r /dm/dmdata/dmdb dmdba@192.168.25.96:/dm/dmdata/ dameng
5.5 注册数据库服务
注册主备服务,操作方式如下
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -i /dm/dmdata/dmdb/dm.ini -t dmserver -p dmdb
[root@dm94 dmdbms]
[root@dm94 root]
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedmdb.service to /usr/lib/systemd/system/DmServicedmdb.service.
创建服务(DmServicedmdb)完成
[root@dm94 root]
Last login: Sat Jan 22 11:48:16 CST 2022 on pts/0
[dmdba@dm94 ~]$ cd /dm/dmdbms/bin
[dmdba@dm94 bin]$ ./DmServicedmdb start
Starting DmServicedmdb: [ OK ]
注:对于新初始化的库,首次启动不允许使用mount方式,需要先正常启动并正常退出,然后才允许mount 方式启动。 或者切换用户,进入bin目录 su - dmdba cd /home/dmdba/dmdbms/bin ./DmServicedmdb start
5.6 登录数据库
dmdba用户下执行以下命令: ./disql SYSDBA/’“dameng123”’
3.6 归档配置 (在线方式配置归档) 生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法: 1.设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB)。 2.定期删除归档日志(设置定时作业)。 例如开启归档并限制归档空间为 100 G(按实际存储空间给合适的值),如下所示
alter database mount;
alter database add archivelog 'dest=/dm/dmarch ,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=153600';
alter database archivelog;
alter database open;
5.7 备份主库
./dmrman/dmrman use_ap=2
BACKUP DATABASE '/dm/dmdata/dmdb/dm.ini' FULL TO BACKUP_FILE2 BACKUPSET '/dm/dmback/bakfull';
check backupset '/dm/dmback/bakfull';
5.8 拷贝备份文件到两台备库
–拷贝到备库 scp -r /dm/dmback/bakfull dmdba@192.168.25.95:/dm/dmback/ scp -r /dm/dmback/bakfull dmdba@192.168.25.96:/dm/dmback/ dameng
5.9 恢复两台备库
还原备库1、备库2
su - dmdba
cd /home/dmdba/dmdbms/bin
./DmServicedmdb stop
./dmrman /dmrman use_ap=2
check backupset '/dm/dmback/bakfull';
RESTORE DATABASE '/dm/dmdata/dmdb/dm.ini' FROM BACKUPSET '/dm/dmback/bakfull';
RECOVER DATABASE '/dm/dmdata/dmdb/dm.ini' FROM BACKUPSET '/dm/dmback/bakfull';
5.10 检查数据一致性
– 主备启动到mount状态 su - dmdba cd /home/dmdba/dmdbms/bin/ ./DmServicedmdb start mount 使用以下命令登录到数据 ./disql SYSDBA/’“dameng123”’
select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
SQL> select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
行号 file_LSN cur_LSN
1 56837 56837
已用时间: 12.592(毫秒). 执行号:1.
SQL>
行号 permanent_magic
1 1277393152
已用时间: 1.643(毫秒). 执行号:2.
SQL>
SQL> select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
行号 file_LSN cur_LSN
1 56837 56837
已用时间: 13.978(毫秒). 执行号:1.
SQL>
行号 permanent_magic
1 1277393152
已用时间: 1.388(毫秒). 执行号:2.
SQL>
SQL> select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
行号 file_LSN cur_LSN
1 56837 56837
已用时间: 212.584(毫秒). 执行号:1.
SQL>
行号 permanent_magic
1 1277393152
已用时间: 148.802(毫秒). 执行号:2.
SQL>
6 修改dm.ini文件
第一: 修改所有实例的配置文件dm.ini vi /dm/dmdata/dmdb/dm.ini
vim dm.ini INSTANCE_NAME = RW1 PORT_NUM = 5236 #数据库实例监听端口 DW_PORT = 7436 #守护环境下,监听守护进程连接端口 DW_ERROR_TIME = 60 #接收守护进程消息超时时间 ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态 ENABLE_OFFLINE_TS = 2 #不允许备库OFFLINE表空间 MAL_INI = 1 #打开MAL系统 ARCH_INI = 1 #打开归档配置 HA_INST_CHECK_FLAG = 1 #检测是否多个实例进程同时启动
– 备库95 vim dm.ini INSTANCE_NAME = RW2 PORT_NUM = 5236 DW_PORT = 7436 DW_ERROR_TIME = 60 ALTER_MODE_STATUS = 0 ENABLE_OFFLINE_TS = 2 MAL_INI = 1 ARCH_INI = 1 HA_INST_CHECK_FLAG = 1
– 备库96 vim dm.ini INSTANCE_NAME = RW3 PORT_NUM = 5236 #数据库实例监听端口 DW_PORT = 7436 #守护环境下,监听守护进程连接端口 DW_ERROR_TIME = 60 #接收守护进程消息超时时间 ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态 ENABLE_OFFLINE_TS = 2 #不允许备库OFFLINE表空间 MAL_INI = 1 #打开MAL系统 ARCH_INI = 1 #打开归档配置 HA_INST_CHECK_FLAG = 1 #检测是否多个实例进程同时启动
7 配置dmmal.ini文件
三台服务器配置一样 vi /dm/dmdata/dmdb/dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = RW4
MAL_HOST = 10.10.10.94
MAL_PORT = 7336
MAL_INST_HOST = 192.168.25.94
MAL_INST_PORT = 5236
MAL_DW_PORT = 7536
[MAL_INST2]
MAL_INST_NAME = RW5
MAL_HOST = 10.10.10.95
MAL_PORT = 7336
MAL_INST_HOST = 192.168.25.95
MAL_INST_PORT = 5236
MAL_DW_PORT = 7536
[MAL_INST3]
MAL_INST_NAME = RW6
MAL_HOST = 10.10.10.96
MAL_PORT = 7336
MAL_INST_HOST = 192.168.25.96
MAL_INST_PORT = 5236
MAL_DW_PORT = 7536
8 配置归档配置文件 dmarch.ini
主库
vi /dm/dmdata/dmdb/dmarch.ini
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = rw5
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = rw6
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
备库95
vi /dm/dmdata/dmdb/dmarch.ini
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = rw4
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = rw6
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
备库96
vi /dm/dmdata/dmdb/dmarch.ini
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = rw4
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = rw5
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm/dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
9 配置守护进程配置文件 dmwatcher.ini
MANUAL 手动切换 AUTO 自动切换 三个节点一样
vi /dm/dmdata/dmdb/dmwatcher.ini
[GRP_RW2]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453332
INST_INI = /dm/dmdata/dmdb/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
10 配置dmwatcher.ctl
同一个守护进程组,必须使用同一份 dmwatcher.ctl。因此,只需要使用 dmctlcvt 工具生成一份dmwatcher.ctl 文件,然后分别拷贝到各个数据库目录下即可。在配置完成dmwatcher.ini 后,使用 dmctlcvt 工具生成 dmwatcher.ctl:
cd /home/dmdba/dmdbms/bin
./dmctlcvt t2dwctl /dm/dmdata/dmdb/dmwatcher.ini /dm/dmdata
拷贝生成的dmwatcher.ctl 文件到数据文件目录下:
cd /dm/dmdata/GRP_RW2
cp dmwatcher.ctl /dm/dmdata/dmdb
scp -r /dm/dmdata/dmdb/dmwatcher.ctl dmdba@192.168.25.95:/dm/dmdata/dmdb/
scp -r /dm/dmdata/dmdb/dmwatcher.ctl dmdba@192.168.25.96:/dm/dmdata/dmdb/
dameng
11 设置 OGUID和修改数据库模式
以 Mount 方式启动数据库实例 (主备库)使用 dmdba 用户,到数据库安装目录的 bin 下执行。 su - dmdba
cd /home/dmdba/dmdbms/bin/
./DmServicedmdb start mount
设置 OGUID和修改数据库模式
cd /home/dmdba/dmdbms/bin
disql SYSDBA/'"dameng123"'
sp_set_oguid(453332);
alter database primary;
sp_set_oguid(453332);
alter database standby;
12 配置sql日志
所有节点修改sqllog.ini(实例路径下)
vi /dm/dmdata/dmdb/sqllog.ini
BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
[SLOG_ALL]
FILE_PATH = ../log
PART_STOR = 1
SWITCH_MODE = 2
SWITCH_LIMIT = 512
ASYNC_FLUSH = 1
FILE_NUM = 5
ITEMS = 0
SQL_TRACE_MASK = 2:3:25
MIN_EXEC_TIME = 1500
USER_MODE = 0
USERS =
13 部署普通监视器
新建确认监视器配置文件 dmmonitor.ini,执行以下命令:
vi /dm/dmdata/dmdb/dmmonitor.ini
MON_DW_CONFIRM = 0
MON_LOG_PATH = /home/dmdba/dmdbms/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 200
MON_LOG_SPACE_LIMIT = 1024
[GRP_RW2]
MON_INST_OGUID = 453332
MON_DW_IP = 10.10.10.94:7536
MON_DW_IP = 10.10.10.95:7536
MON_DW_IP = 10.10.10.96:7536
14 注册守护进程服务
三台都需要注册,方式如下:
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmwatcher -i /dm/dmdata/dmdb/dmwatcher.ini -p RW
注册服务:(root用户)
[root@dm94 root]
[root@dm94 root]
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceRW.service to /usr/lib/systemd/system/DmWatcherServiceRW.service.
创建服务(DmWatcherServiceRW)完成
[root@dm94 root]
启动守护进程:
systemctl start DmWatcherServiceRW
15 注册监视器服务
注意:监视器服务器最好单独一台服务器,本次放主库上(只需要在主库操作)
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmmonitor -i /dm/dmdata/dmdb/dmmonitor.ini -p DMM
[root@dm94 bin]
[root@dm94 root]
Created symlink from /etc/systemd/system/multi-user.target.wants/DmMonitorServiceDMM.service to /usr/lib/systemd/system/DmMonitorServiceDMM.service.
创建服务(DmMonitorServiceDMM)完成
[root@dm94 root]
cd /home/dmdba/dmdbms/bin
./dmmonitor /dm/dmdata/dmdb/dmmonitor.ini
16 验证主备集群同步状态
使用 disql 客户端登录备库,查询测试表验证,执行以下命令:
disql SYSDBA/'"dameng123"'@192.168.25.94:5236
SQL 提示符下执行以下命令:
create table test(id int);
insert into test values (1);
commit;
使用 disql 客户端登录备库,查询测试表验证,执行以下命令:
disql SYSDBA/'"dameng123"'@192.168.25.95:5236
select * from test;
使用 disql 客户端登录备库,查询测试表验证,执行以下命令:
disql SYSDBA/'"dameng123"'@192.168.25.96:5236
select * from test;
查看数据是否正常同步。
17 优化dm.ini参数
参数优化 集群部署完成后,需要优化dm.ini 参数,主备库都需要修改。参数值优化详见参数优化部分。 具体参考:https://eco.dameng.com/docs/zh-cn/ops/standard-rw-cluster.html#%E5%8F%82%E6%95%B0%E4%BC%98%E5%8C%96
重启集群 读写分离集群重启与主备相同:
重启顺序 集群部署完成后,需要优化 dm.ini 参数,主备库都需要修改。参数值优化详见3.8单机参数优化部分。 重启集群(参数修改后需要重启集群) 严格安装顺序执行
关闭监视器:systemctl stop DmMonitorServiceDMM
关闭主库守护进程:systemctl stop DmWatcherServiceRW
关闭备库守护进程:systemctl stop DmWatcherServiceRW
关闭主库实例:systemctl stop DmServicedmdb
关闭备库实例:systemctl stop DmServicedmdb
启动主库实例:systemctl start DmServicedmdb
启动备库实例:systemctl start DmServicedmdb
启动主库守护进程:systemctl start DmWatcherServiceRW
启动备库守护进程:systemctl start DmWatcherServiceRW
启动监视器:systemctl start DmMonitorServiceDMM
18 定制备份策略
生产环境同时也需要指定备份策略,可以参考以下链接学习: https://eco.dameng.com/docs/zh-cn/ops/standard-stand-alone.html#%E5%AE%9A%E5%88%B6%E5%A4%87%E4%BB%BD%E7%AD%96%E7%95%A5
24小时免费服务热线:400 991 6599 达梦技术社区:https://eco.dameng.com
|