注册
DCP培训守护集群搭建
专栏/培训园地/ 文章详情 /

DCP培训守护集群搭建

霄飞练 2025/01/22 201 1 0
摘要

1安装数据库软件

1.1安装前准备

1.检查磁盘容量

df -h

挂载点/tmp容量改为3G才可安装成功,改完使用df -h查看确认

# 使用root用户执行,将tmp容量改为3G mount -o remount,size=3G /tmp

2.关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

1.2安装达梦数据库

1.2.1创建用户与用户组

安装规划:
安装软件:/dm8
数据库文件目录:/dm8/data
归档文件存放目录:/dm8/arch
备份文件存放目录:/dm8/backup

# 创建用户组 groupadd dinstall # 创建用户 useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba # 创建完成后使用以下命令查看是否成功 id dmdba # 设置密码 passwd dmdba

1.2.2创建安装目录,设置最大可打开文件数

# 创建达梦安装路径 mkdir /dm8 # 更改文件夹的所属用户组、所属用户 chown dmdba:dinstall /dm8 # 查看是否更改成功 ll -ld /dm8

查看最大可打开文件数,如果是CentOS的话,默认是比较小的,可能会导致安装过程中报错,所以这边我们提前查看并设置

# 查看最大可打开文件数 ulimit -a # 临时设置(当前会话生效) ulimit -n 20480 # 永久设置,需要用root用户操作 vim /etc/security/limits.conf dmdba soft nofile 102400 dmdba hard nofile 102400 root soft nofile 102400 root hard nofile 102400

1.2.3挂载镜像

将下载的iso镜像文件上传到服务器上后,进行挂载操作

# 在mnt下创建dm目录 mkdir /mnt/dm # 挂载镜像 mount /镜像地址 /挂载的目标路径 mount /opt/dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso /mnt/dm # 切换到dmdba用户下 su - dmdba # 查看挂载目录 cd /mnt/dm ll

2创建数据库实例

# 进入到dm工具包目录 cd /dm8/tool # 打开数据库配置助手 ./dbca.sh #点击创建数据库根据提示创建即可

3守护集群搭建

节点规划

ip 数据库名 实例名 角色
192.168.153.183 DM01 DMSVR01 主库
192.168.153.201 DM01 DMSVR02 备库
192.168.153.202 监视器

3.1主库备份

关闭主库,备份数据库,将备份拷贝到备库的机器上

#在主库上操作 #关闭数据库 cd /dm8/bin ./DmServiceDMSVR01 stop #名字是DMService实例名,实际操作中tab补全即可,回车确认 ./dmrman backup database '/dm8/data/DM01/dm.ini' backupset '/dm8/backup'; #注意替换数据库名 ctr+c 退出RMAN cd /dm8/backup/ scp backup.* dmdba@192.168.153.201:/dm8/backup #ip为备库ip

3.2修改主库配置文件

cd /dm8/data/DM01

修改以下几个文件内容

#vi dmmal.ini MAL_CHECK_INTERVAL= 5 MAL_CONN_FAIL_INTERVAL = 5 [MAL_INST1] MAL_INST_NAME = DMSVR01 #主库实例名 MAL_HOST = 192.168.153.183 #主库ip MAL_PORT = 15236 MAL_INST_HOST = 192.168.153.183 #主库ip MAL_INST_PORT = 5236 MAL_DW_PORT = 65101 MAL_INST_DW_PORT = 45101 [MAL_INST2] MAL_INST_NAME = DMSVR02 #备库实例名 MAL_HOST = 192.168.153.201 MAL_PORT = 15236 MAL_INST_HOST = 192.168.153.201 MAL_INST_PORT = 5236 MAL_DW_PORT = 65101 MAL_INST_DW_PORT =45101
#vi dmarch.ini [ARCHIVE_REALTIME] ARCH_TYPE = REALTIME ARCH_DEST = DMSVR02 #备库实例名 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /dm8/arch ARCH_FILE_SIZE = 128 ARCH_SPACE_LIMIT = 0
#vi dmwatcher.ini [GRP1] DW_TYPE = GLOBAL DW_MODE = AUTO DW_ERROR_TIME = 10 INST_RECOVER_TIME = 60 INST_ERROR_TIME = 10 INST_OGUID = 8888 #数据库oguid INST_INI = /dm8/data/DM01/dm.ini #替换主库名称 INST_AUTO_RESTART = 1 INST_STARTUP_CMD = /dm8/bin/dmserver RLOG_SEND_THRESHOLD = 0 RLOG_APPLY_THRESHOLD = 0
#修改dm.ini MAL_INI = 1 ARCH_INI = 1 ALTER_MODE_STATUS= 0 ENABLE_OFFLINE_TS= 2

3.3将数据库启动到mount状态

cd /dm8/bin ./dmserver /dm8/data/DM01/dm.ini mount #注意修改数据库名

3.4初始化备库实例

#创建备库数据库实例 ./dminit db_name=DM01 instance_name=DMSVR02 path=/dm8/data SYSDBA_PWD=Dameng8888 SYSAUDITOR_PWD=Dameng8888 #还原恢复数据库 ./dmrman restore database '/dm8/data/DM01/dm.ini' from backupset '/dm8/backup'; #注意数据库名 recover database '/dm8/data/DM01/dm.ini' from backupset '/dm8/backup'; #注意数据库名 recover database '/dm8/data/DM01/dm.ini' update db_magic; #注意数据库名

3.5修改备库配置文件

#将主库的文件copy过去 scp dmmal.ini dmdba@192.168.153.201:/dm8/data/DM01/ scp dmarch.ini dmdba@192.168.153.201:/dm8/data/DM01/ scp dmwatcher.ini dmdba@192.168.153.201:/dm8/data/DM01/
#修改dmarch.ini
将ARCH_DEST 修改为主库实例名
#修改dm.ini MAL_INI = 1 ARCH_INI = 1 ALTER_MODE_STATUS= 0 ENABLE_OFFLINE_TS= 2

3.6将备库启动到 mount 状态

cd /dm8/bin ./dmserver /dm8/data/DM01/dm.ini mount #注意修改数据库名

3.7修改模式与角色

1.修改主库的 oguid 和修改数据库模式为主库

cd /dm8/bin ./disql #执行sql sp_set_oguid(8888); alter database primary;

2.修改备库的 oguid 和修改数据库模式为备库

cd /dm8/bin ./disql #执行sql sp_set_oguid(8888); alter database standby;

3.8启动守护进程

#主库执行 cd /dm8/bin ./dmwatcher /dm8/data/DM01/dmwatcher.ini #注意修改数据库名 #备库执行 cd /dm8/bin ./dmwatcher /dm8/data/DM01/dmwatcher.ini #注意修改数据库名

3.9验证

#守护进程不要关,执行show查看状态

image.png

3.10配置监视器

#登录监视器节点 cd /dm8 mkdir data cd data vi dmmonitor.ini MON_DW_CONFIRM = 1 MON_LOG_PATH = /dm8/data/log MON_LOG_INTERVAL = 60 MON_LOG_FILE_SIZE = 32 MON_LOG_SPACE_LIMIT = 0 [GRP1] MON_INST_OGUID= 8888 MON_DW_IP = 192.168.153.183:65101 #主库ip MON_DW_IP = 192.168.153.201:65101 #备库ip

登录到监视器

cd /dm8/bin ./dmmonitor /dm8/data/dmmonitor.ini login 输入数据库用户名密码 show

image.png

#登录器执行主备切换命令
Switchover

3.11测试主备

在主库上建表,备库查询 create table tongbu (id int); insert into tongbu values(1); insert into tongbu values(2); commit; select * from tongbu;

3.12注册服务

#主机与备机都执行(注册服务) #切换root用户 su - root cd /dm8/script/root #主机执行 ./dm_service_installer.sh -t dmserver -p DMSVR01 -dm_ini /dm8/data/DM01/dm.ini #备机执行 ./dm_service_installer.sh -t dmserver -p DMSVR02 -dm_ini /dm8/data/DM01/dm.ini

注册守护服务

#主机执行 ./dm_service_installer.sh -t dmwatcher -p DMSVR01 -watcher_ini /dm8/data/DM01/dmwatcher.ini
#备机执行 ./dm_service_installer.sh -t dmwatcher -p DMSVR02 -watcher_ini /dm8/data/DM01/dmwatcher.ini

3.13重启服务

#先重启两个库的注册服务
systemctl start DmServiceDMSVR01.service
systemctl start DmServiceDMSVR02.service
#再重启两个库的守护进程
systemctl start DmWatcherServiceDMSVR01.service
systemctl start DmWatcherServiceDMSVR02.service
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服