dm8主备集群搭建
第一步 查看配置
第二部 创建管理员
groupadd dinstall 建属组
useradd –g dinstall –m –d /home/dmdba –s /bin/bash dmdba 用户属组
passwd dmdba 重置密码 dmdba
第三部
vi /etc/security/limits.conf
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 10240
dmdba hard nproc 10240
vi /etc/security/limits.d
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 10240
dmdba hard nproc 10240
第四部 创建目录并属组
mkdir -p dmdbms
mkdir -p dmdata
chown -R dmdba:dinstall dmdbms/
chown -R dmdba:dinstall dmdata/
凡是dmdba用到的目录都属组
第五步 上传包
第六步 在包目录下挂载
mount -o loop /镜像文件路径(指到具体路径)/挂载点(一般是mnt)
第七步 切换到dmdba下进行安装 su dmdba
进入挂载点目录
./DMInstall.bin -i
根据提示进行选择。安装类型是典型安装。
Key先不放,最后安装完软件,将key改为dm.key再cp进去,放到dmdbms/bin下边
然后将key属组
切换root用户并执行
exit
/dm/dmdbms/scrip/root/root_installer.sh
第八步初始化实例
su dmdba
进入到dmdbms/bin
./dminit path=/目录/dmdata CHARSET=0 CASE_SENSITIVE=1 PAGE_SIZE=32 EXTENT_SIZE=32
log_size=2048 length_in_char=1
字符集:0代表gbk ,1代表utf-8(默认是0)
大小写: 0不敏感 ,1敏感(默认是1)
页大小支持4,8,16,32(默认是8)
簇:支持16,32,默认16
存储单位:0.是以字节为单位,1是以字符为单位
一般页大小,簇大小都设置成32
以mount方式分别启动主、备数据库
./dmserver /目录/data/DAMENG/dm.ini mount出现SYSTEM IS READY 则成功
exit 退出
第九步备份主机
su dmdba
cd /dm.dmdbms/bin/
./dmrman
backup database ‘/dm/dmdata/DAMENG/dm.ini’ full backupset ‘/dm/dmdate/fullbake’
scp -r /dm/dmdata/fullbake dmdba@192.168.59.135:/dm/data
备机执行
restore database ‘/dm/data/DAMENG/dm.ini’ from backupset ‘/dm/dmdate/fullbake’”
recover database ‘/dm/data/DAMENG/dm.ini’ from backupset ‘/dm/dmdate/fullbake’”
recover database ‘/dm/data/DAMENG/dm.ini’ update db_magic”
第十步配置文件参数
dmdba用户
su dmdba
cd /dm/dmdata/DAMENG/
数据库配置文件 dm.ini
配置dm.ini参数
vi dm.ini
配置项 参数值 配置含义
INSTANCE_NAME GRP1_RT_01 数据库实例名(长度不超过 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次日志发送消息
配置dmmal.ini参数
MAL 配置文件 dmmal.ini (任何情况下,主备都共用同一个脚本)
vi dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME =GRP1_RT_01 #实例名,和dm.ini中的一致
MAL_HOST = 192.168.0.141 #MAL系统监听TCP连接的IP地址
MAL_PORT = 61141 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.1.131 #实例的对外服务IP地址
MAL_INST_PORT = 32141 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端口 (守护V4.0配置,V3.0在dm.ini中配置DW_PORT)
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.0.142
MAL_PORT = 61142
MAL_INST_HOST = 192.168.1.132
MAL_INST_PORT = 32142
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
Redo 日志归档配置文件 dmarch.ini(一般情况下,仅实例名不同)
配置dmarch.ini参数
vi dmarch.ini
GRP1_RT_01(主机)
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME 读写分离集群则是TIMELY
ARCH_DEST = GRP1_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /DM/DATA/DAMENG/ARCH
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 102400
GRP1_RT_02(备机)
[ARCHIVE_REALTIME]ARCH_TYPE = REALTIME 读写分离集群则是TIMELY
ARCH_DEST = GRP1_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCALARCH_DEST = /DM/DATA/DAMENG/ARCH
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 102400
守护进程配置文件 dmwatcher.ini(一般情况下,主备库的脚本相同,但也会经常不一样)
配置dmwatcher.ini参数(红色是自动与非自动切换的区别)
vi dmwatcher.ini
GRP1_RT_01(主机)
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间INST_OGUID = 453331 #守护系统唯一OGUID值
INST_INI = /DM/data/DAMENG/dm.ini #dm.ini配置文件路径INST_AUTO_RESTART = 1 #打开实例的自动拉起功能
INST_STARTUP_CMD = /DM/bin/dmserver
#命令行方式启动
GRP1_RT_02(备机)
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /DM/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1 INST_STARTUP_CMD = /DM/bin/dmserver
守护进程控制文件 dmwatcher.ctl(主备库脚本不一样时,仍共用一个,守护V3.0以下)同一个守护进程组,只需要生成一份
dmwatcher.ctl文件,并拷贝到各个数据库目录下。
配置完dmwatcher.ini后,使用dmctlcvt工具(bin目录下)生成dmwatcher.ctl:
./dmctlcvt t2dwctl /DM/data/DAMENG/dmwatcher.ini /DM/data
拷贝生成的dmwatcher.ctl文件到主、备机的数据文件目录/DM/data/DAMENG。
Disql分别登录主、备数据库设置OGUID值
主库
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);
备库
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);
在监视器上配置(主备外)
配置监视器
编辑dmmonitor.ini配置监视器,在内部网络除主备机之外的任意一台机器上配置监视器,dmmonitor.ini配置文件中的配置项的值
要与守护进程配置文件dmwatcher.ini对应配置项保持一致
su dmdba
mkdir dmmonitor
vi dmmonitor.ini
MON_DW_CONFIRM = 1 #确认监视器模式
MON_LOG_PATH = /DM/data/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
MON_INST_OGUID = 453331 #组GRP1的唯一OGUID值
以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置
#IP对应dmmal.ini中的MAL_HOST,PORT对应
dmmal.ini中的MAL_DW_PORT
MON_DW_IP = 192.168.0.141:52141
MON_DW_IP = 192.168.0.142:52142确认监视器配置文件 dmmonitor_auto.ini (确认监视器和普通监视器仅一个参
数不同)
普通监视器配置文件 dmmonitor_manual.ini
第十一步 注册服务
切换到root用户下
/目录/dmdbms/script/root
./dm_service_installer.sh -t dmserver
-dm_ini /目录/dmdata/DAMENG/dm.ini
-p DM -m mount 数据库服务
./dm_service_installer.sh -t dmwatcher
-watcher_ini 实例的路径 -p 服务名后缀
守护服务
注册好后,
su dmdba
在dmdbms/bin/
./DmServiceDM start 主库启动
ps -ef | grep dmserver 查看进程是否启动
./DmServiceDM start 备库启动
注意:端口号默认是5236,实例名DMSERVER,管理员的密码默认和账号一样
******与数据库有关的操作,尽量都用dmdba
第十二步主,从监视器关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
第十三步启动守护进程启动守护进程
启动主机DM1上的守护进程。
./DmWatcherServiceDM start
启动备机DM2上的守护进程。
./DmWatcherServiceDM start
启动监视机DM_W上的监视器
./dmmonitor /dm/dmdbms/dmmonitor/dmmonitor.ini
show 查看
第十四步停止守护进程和实例 dmdba用户进行
查看进程是否存在
ps -ef | grep dmmon
./DmServiceDM stop 主库停止
./DmServiceDM stop 备库停止
./DmWatcherServiceDM stop 主库守护进程停止
./DmWatcherServiceDM stop 备库守护进程停止
./DmMonitorServiceDM stop 使用dmdba用户停止监视器服务
第十五步启动集群服务
使用dmdba用户
./DmServiceDM start 主库启动
./DmServiceDM start 备库启动
./DmWatcherServiceDM start 主库守护进程启动
./DmWatcherServiceDM start 备库守护进程启动
./DmMonitorServiceDM start 使用dmdba用户启动监视器服务
第一步 查看配置
第二部 创建管理员
groupadd dinstall 建属组
useradd –g dinstall –m –d /home/dmdba –s /bin/bash dmdba 用户属组
passwd dmdba 重置密码 dmdba
第三部
vi /etc/security/limits.conf
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 10240
dmdba hard nproc 10240
vi /etc/security/limits.d
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 10240
dmdba hard nproc 10240
第四部 创建目录并属组
mkdir -p dmdbms
mkdir -p dmdata
chown -R dmdba:dinstall dmdbms/
chown -R dmdba:dinstall dmdata/
凡是dmdba用到的目录都属组
第五步 上传包
第六步 在包目录下挂载
mount -o loop /镜像文件路径(指到具体路径)/挂载点(一般是mnt)
第七步 切换到dmdba下进行安装 su dmdba
进入挂载点目录
./DMInstall.bin -i
根据提示进行选择。安装类型是典型安装。
Key先不放,最后安装完软件,将key改为dm.key再cp进去,放到dmdbms/bin下边
然后将key属组
切换root用户并执行
exit
/dm/dmdbms/scrip/root/root_installer.sh
第八步初始化实例
su dmdba
进入到dmdbms/bin
./dminit path=/目录/dmdata CHARSET=0 CASE_SENSITIVE=1 PAGE_SIZE=32 EXTENT_SIZE=32
log_size=2048 length_in_char=1
字符集:0代表gbk ,1代表utf-8(默认是0)
大小写: 0不敏感 ,1敏感(默认是1)
页大小支持4,8,16,32(默认是8)
簇:支持16,32,默认16
存储单位:0.是以字节为单位,1是以字符为单位
一般页大小,簇大小都设置成32
以mount方式分别启动主、备数据库
./dmserver /目录/data/DAMENG/dm.ini mount出现SYSTEM IS READY 则成功
exit 退出
第九步备份主机
su dmdba
cd /dm.dmdbms/bin/
./dmrman
backup database ‘/dm/dmdata/DAMENG/dm.ini’ full backupset ‘/dm/dmdate/fullbake’
scp -r /dm/data/fullbake dmdba@192.168.59.135:/dm/data
备机执行
restore database ‘/dm/data/DAMENG/dm.ini’ from backupset ‘/dm/dmdate/fullbake’”
recover database ‘/dm/data/DAMENG/dm.ini’ from backupset ‘/dm/dmdate/fullbake’”
recover database ‘/dm/data/DAMENG/dm.ini’ update db_magic”
第十步配置文件参数
dmdba用户
su dmdba
cd /dm/dmdata/DAMENG/
数据库配置文件 dm.ini
配置dm.ini参数
vi dm.ini
配置项 参数值 配置含义
INSTANCE_NAME GRP1_RT_01 数据库实例名(长度不超过 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次日志发送消息
配置dmmal.ini参数
MAL 配置文件 dmmal.ini (任何情况下,主备都共用同一个脚本)
vi dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间
[MAL_INST1]
MAL_INST_NAME =GRP1_RT_01 #实例名,和dm.ini中的一致
MAL_HOST = 192.168.0.141 #MAL系统监听TCP连接的IP地址
MAL_PORT = 61141 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.1.131 #实例的对外服务IP地址
MAL_INST_PORT = 32141 #实例的对外服务端口,和dm.ini中的PORT_NUM一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端口 (守护V4.0配置,V3.0在dm.ini中配置DW_PORT)
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 192.168.0.142
MAL_PORT = 61142
MAL_INST_HOST = 192.168.1.132
MAL_INST_PORT = 32142
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
Redo 日志归档配置文件 dmarch.ini(一般情况下,仅实例名不同)
配置dmarch.ini参数
vi dmarch.ini
GRP1_RT_01(主机)
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME 读写分离集群则是TIMELY
ARCH_DEST = GRP1_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /DM/DATA/DAMENG/ARCH
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 102400
GRP1_RT_02(备机)
[ARCHIVE_REALTIME]ARCH_TYPE = REALTIME 读写分离集群则是TIMELY
ARCH_DEST = GRP1_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCALARCH_DEST = /DM/DATA/DAMENG/ARCH
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 102400
守护进程配置文件 dmwatcher.ini(一般情况下,主备库的脚本相同,但也会经常不一样)
配置dmwatcher.ini参数(红色是自动与非自动切换的区别)
vi dmwatcher.ini
GRP1_RT_01(主机)
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间INST_OGUID = 453331 #守护系统唯一OGUID值
INST_INI = /DM/data/DAMENG/dm.ini #dm.ini配置文件路径INST_AUTO_RESTART = 1 #打开实例的自动拉起功能
INST_STARTUP_CMD = /DM/bin/dmserver
#命令行方式启动
GRP1_RT_02(备机)
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /DM/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1 INST_STARTUP_CMD = /DM/bin/dmserver
守护进程控制文件 dmwatcher.ctl(主备库脚本不一样时,仍共用一个,守护V3.0以下)同一个守护进程组,只需要生成一份
dmwatcher.ctl文件,并拷贝到各个数据库目录下。
配置完dmwatcher.ini后,使用dmctlcvt工具(bin目录下)生成dmwatcher.ctl:
./dmctlcvt t2dwctl /DM/data/DAMENG/dmwatcher.ini /DM/data
拷贝生成的dmwatcher.ctl文件到主、备机的数据文件目录/DM/data/DAMENG。
Disql分别登录主、备数据库设置OGUID值
主库
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);
备库
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);
在监视器上配置(主备外)
配置监视器
编辑dmmonitor.ini配置监视器,在内部网络除主备机之外的任意一台机器上配置监视器,dmmonitor.ini配置文件中的配置项的值
要与守护进程配置文件dmwatcher.ini对应配置项保持一致
su dmdba
mkdir dmmonitor
vi dmmonitor.ini
MON_DW_CONFIRM = 1 #确认监视器模式
MON_LOG_PATH = /DM/data/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
MON_INST_OGUID = 453331 #组GRP1的唯一OGUID值
以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置
#IP对应dmmal.ini中的MAL_HOST,PORT对应
dmmal.ini中的MAL_DW_PORT
MON_DW_IP = 192.168.0.141:52141
MON_DW_IP = 192.168.0.142:52142确认监视器配置文件 dmmonitor_auto.ini (确认监视器和普通监视器仅一个参
数不同)
普通监视器配置文件 dmmonitor_manual.ini
第十一步 注册服务
切换到root用户下
/目录/dmdbms/script/root
./dm_service_installer.sh -t dmserver
-dm_ini /目录/dmdata/DAMENG/dm.ini
-p DM -m mount 数据库服务
./dm_service_installer.sh -t dmwatcher
-watcher_ini 实例的路径 -p 服务名后缀
守护服务
注册好后,
su dmdba
在dmdbms/bin/
./DmServiceDM start 主库启动
ps -ef | grep dmserver 查看进程是否启动
./DmServiceDM start 备库启动
注意:端口号默认是5236,实例名DMSERVER,管理员的密码默认和账号一样
******与数据库有关的操作,尽量都用dmdba
第十二步主,从监视器关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
第十三步启动守护进程启动守护进程
启动主机DM1上的守护进程。
./DmWatcherServiceDM start
启动备机DM2上的守护进程。
./DmWatcherServiceDM start
启动监视机DM_W上的监视器
./dmmonitor /dm/dmdbms/dmmonitor/dmmonitor.ini
show 查看
第十四步停止守护进程和实例 dmdba用户进行
查看进程是否存在
ps -ef | grep dmmon
./DmServiceDM stop 主库停止
./DmServiceDM stop 备库停止
./DmWatcherServiceDM stop 主库守护进程停止
./DmWatcherServiceDM stop 备库守护进程停止
./DmMonitorServiceDM stop 使用dmdba用户停止监视器服务
第十五步启动集群服务
使用dmdba用户
./DmServiceDM start 主库启动
./DmServiceDM start 备库启动
./DmWatcherServiceDM start 主库守护进程启动
./DmWatcherServiceDM start 备库守护进程启动
./DmMonitorServiceDM start 使用dmdba用户启动监视器服务