达梦数据库主备集群部署

2022/1/27 2:04:16

本文主要是介绍达梦数据库主备集群部署,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、网络配置:

数据库服务器名称

db0

(主机)

db1

(备机)

dmm

(监视器)

业务服务名

dm_server

业务IP

192.168.222.129

192.168.222.128

心跳IP

10.10.1.115

10.10.1.116

10.10.1.117

PORT_NUM

5236

MAL_PORT

7336

MAL_DW_PORT

7536

MAL_INST_DW_PORT

7436

MAL_INST_PORT

(与PORT_NUM一致)

5236

二、具体安装步骤:

1.安装前的检查:#前提:安装的DM8数据库版本得要与服务器系统匹配。

cat /proc/cupinfo 			#查看CPU信息;
getconf LONG_BIT		    #查看系统的位数;
cat /proc/version			#查看系统版本;
uname -a		    		#查看内核;
cat /proc/meminfo			#查看内存信息;
df -h						#查看磁盘信息;

2.创建用户:将安装目录放入此用户中

在root用户下

groupadd dinstall                   #创建一个组;
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba     #创建一个用户;

        参数解析:-g:指定用户所属组;

                          -m:自动建用户登入目录;

                          -d:指定用户登录是的起始目录;

                          -s:指定用户使用的shell;

passwd dmdba                        #回车后设置密码;

3.创建目录

(1)在dmdba用户下:

mkdir dmdbms					# 数据库安装路径;
mkdir dmdata                    # 数据文件目录;
mkdir dmarch                    # 归档目录;
mkdir dmbak                     # 数据库备份目录;
mkdir coredump                  # 系统core目录;
mkdir sqllog                    # sql日志;

(2)将所有者权限改为dmdba用户:如果目录所有者权限是root,则改成dmdba;

chown dmdba:dinstall -R dmdbms
chown dmdba:dinstall -R dmdata
chown dmdba:dinstall -R dmarch
chown dmdba:dinstall -R dmbak
chown dmdba:dinstall -R coredump
chown dmdba:dinstall -R sqllog 

4.修改dmdba用户资源限制:

(1)切换回root用户

vi /etc/security/limits.conf 

        编辑limits.conf文件,在文件末尾上添加以下语句:如图

dmdba hard fsize ulimited
dmdba soft fsize ulimited
dmdba hard nproc 65536
dmdba soft nproc 65536
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard core ulimited
dmdba soft core ulimited

        切换到dmdba用户

ulimit -a		# 查看是否执行成功;

        如果显示有open files  (-n) 65536 的字样,表明已经生效;

(2)在 /etc/security/limits.d/目录下,如果存在有其他资源限制文件,也需要添加上这些语句;cat /proc/36/limits 查看资源限制信息;

5.安装前的环境准备

(1)关闭防火墙,设为开机不自启,并关闭selinux;

systemctl stop firewalld         # 关闭防火墙;
systemctl disable firewalld      # 设置为开机不自启;
vim /etc/sysconfig/selinux

        进入编辑文件,在末尾添加:

SELINUX=disabled

        之后重启机器:reboot

(2)编辑网卡信息:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

        编辑变量成ONBOOT=yes

/etc/init.d/network restart        # 重启网络

6.安装DM8数据库

(1)切换到root用户;mkdir dmiso创建一个安放ISO镜像文件的目录;利用远 程传输工具XShell或WinSCP等工具,将ISO文件传送进dmiso目录里;

(2)进入dmiso目录

mount -o loop dm8_20200930_x86_rh6_64_ent_8.1.1.134.iso /dmiso      #挂载ISO镜像文件;

(3)在dmiso挂载目录下,启动安装脚本:

./DMInstall.bin -i

        回车后,根据系统提示现在安装模式和安装路径; 

 (4)配置环境变量:

vim /home/dmdba/.bash_profile

        在末尾添加上 

export PATH=$PATH:/home/dmdba/dmdbms/bin
export DM_HOME=/home/dmdba/dmdbms
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin

 7.初始化实例

(1)主机DW0(到bin目录下执行)

./dminit path=/home/dmdba/dmdbms/data PAGE_SIZE=16 CHARSET=0 LOG_SIZE=2048 DB_NAME=DAMENG INSTANCE_NAME=DW0

(2)备机DW1(bin目录下执行)

./dminit path=/home/dmdba/dmdbms/data PAGE_SIZE=16 CHARSET=0 LOG_SIZE=2048 DB_NAME=DAMENG INSTANCE_NAME=DW1

8.数据库脱机备份

(1)主库备份:

        在主库的安装路径的bin目录下,启动DMAP服务:

./DmAPService start		# 启动DMAP服务;
ps -ef|grep dmap		# 查看DMAP服务是否启动;
./dmrman 				# 进入RMAN工具;
backup database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ backupset ‘/home/dmdba/dmbakup/dbfull’;		# 执行全库备份;

(2)还原主库:

        将备份文件/home/dmdba/dmbakup/dbfull复制到备库上,在开启DMAP服务 后,进入RMAN工具,依次执行:

restore database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/home/dmdba/dmbakup/dbfull’;		# 执行restore语句;
recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ from 	backupset ‘/home/dmdba/dmbakup/dbfull’;		# 执行recover语句;
recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ update db_magic;				                    # 执行recover update db_magic语句;

9.修改配置文件

(1)主、备机上分别都修改:

vim /home/dmdba/dmdbms/data/DAMENG/dm.ini

        编辑文件中的参数改为:

        ALTER_MODE_STATUS = 0

        ENABLE_OFFLINE_TS = 2

        MAL_INI = 1

        ARCH_INI = 1

(2)配置归档配置文件:新建dmarch.ini文件(主)

vim /home/dmdba/dmdbms/data/DAMENG/dmarch.ini

        添加内容:

[ARCHIVE_REALTIME1]  
	ARCH_TYPE	     = REALTIME 
    ARCH_DEST	     = dw1

[ARCHIVE_LOCAL1]
	ARCH_TYPE	     = LOCAL
	ARCH_DEST	     = /dmarch
    ARCH_FILE_SIZE	 = 2048
	ARCH_SPACE_LIMIT = 102400 

(3)配置MAL系统配置文件:新建dmmal.ini

vim /home/dmdba/dmdbms/data/DAMENG/dmmal.ini

        添加内容:

MAL_CHECK_INTERVAL     = 5
MAL_CONN_FAIL_INTERVAL = 15

[MAL_INST1]
  	MAL_INST_NAME      = dw0
  	MAL_HOST           = 10.10.1.115
  	MAL_PORT           = 7336
  	MAL_INST_HOST      = 192.168.222.129
  	MAL_INST_PORT      = 5236
  	MAL_DW_PORT        = 7536
  	MAL_INST_DW_PORT   = 7436
	[MAL_INST2]

MAL_INST_NAME          = dw1
  	MAL_HOST           = 10.10.1.116
  	MAL_PORT           = 7336
  	MAL_INST_HOST      = 192.168.222.128
  	MAL_INST_PORT      = 5236
  	MAL_DW_PORT        = 7536
  	MAL_INST_DW_PORT   = 7436

(4)配置守护进程配置文件dmwatcher.ini

vim /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini

        添加内容:

[GRP_DW] 
	DW_TYPE            = GLOBAL  
	DW_MODE            = MANUAL 
	DW_ERROR_TIME      = 30  
	INST_RECOVER_TIME  = 60 
	INST_ERROR_TIME    = 20 
    INST_OGUID     	   = 453331 
	INST_INI           = /home/dmdba/dmdbms/data/DAMENG/dm.ini
	INST_AUTO_RESTART  = 1   
	INST_STARTUP_CMD   = /home/dmdba/dmdbms/data/bin/dmserver

(5)将 dmarch.ini、dmmal.ini、dmwatcher.ini文件scp到备机上:

scp dmarch.ini dmmal.ini dmwatcher.ini root@192.168.222.128:/home/dmdba/dmdbms/data/DAMENG

(6)将dmarch.ini、dmmal.ini、dmwatcher.ini文件所有者权限改为dmdba用户

chown dmdba:dinstall -R /home/dmdba/dmdbms/data/DAMENG/dmarch.ini
chown dmdba:dinstall -R /home/dmdba/dmdbms/data/DAMENG/dmmal.ini
chown dmdba:dinstall -R/home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini

        再将备库的dmarch.ini文件中的ARCH_DEST改成ARCH_DEST=DW0

(7)修改主备库状态和oguid

        在主库上,将目录/home/dmdba/dmdbms/bin/service_template中的DmService 复制到bin目录下:

cp DmService /home/dmdba/dmdbms/bin		# 将DmService	复制到bin目录;
vim DmService			# 进入DmService编辑;

        修改DmService文件内的INI_PATH的值为主库的dm.ini路径;启动主库模 式为mount;

(8)后台启动数据库(主库):

./DmService start			#后台启动数据库服务;
./disql SYSDBA/SYSDBA@192.168.129:5236    #用disql连接主库;
SP_SET_OGUID(453331);        # 修改oguid;
alter database primary;      # 将数据库改成primary模式;

同样的步骤配置备库,将数据库模式改成standby;

./DmService start			#后台启动数据库服务;
./disql SYSDBA/SYSDBA@192.168.128:5236    #用disql连接主库;
SP_SET_OGUID(453331);        # 修改oguid;
alter database standby;      # 将数据库改成standby模式;

 10.修改后台启动脚本

(1)修改守护进程后台启动脚本:

      在主机、备机上,将目录/home/dmdba/dmdbms/bin/service_template中的DmWatcherService复制到bin下:

cp DmWatcherService /home/dmdba/dmdbms/bin

        再编辑vim DmWatcherService,修改参数为主备机的dmwatcher.ini文件目录:

INI_PATH=/home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini

(2)修改监视器后台启动进程脚本:

      先将监视器服务器在目录/home/dmdba/dmdbms/bin/service_templat中的DmMonitorService复制到bin目录下,然后新建监视器配置文件dmmonitor.ini:

vim /home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini

        添加内容:

MON_DW_CONFIRM      = 0                       #普通监视器模式
MON_LOG_PATH        = /home/dmdba/dmdbms/log  #监视器日志文件存放路径
MON_LOG_INTERVAL    = 60                      #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 200                     #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT = 1024                    #不限定日志文件总占用空间

[GRP_DW] 
MON_INST_OGUID      = 453331                  #组 GRP_DW 的唯一 OGUID 值
MON_DW_IP           = 10.10.1.115:7536
MON_DW_IP           = 10.10.1.116:7536

        之后vim DmMonitorService修改参数为:

INI_PATH=/home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini

(3)配置sql日志

        主、备机分别都切换到/home/dmdba/dmdbms/data/DAMENG目录下

vim sqllog.ini

        修改内容为:

BUF_TOTAL_SIZE 	= 10240
BUF_SIZE 		= 1024
BUF_KEEP_CNT	= 6

[SLOG_ALL]
FILE_PATH 		=/home/dmdba/dmdbms/sqllog
PART_STOR 		= 1
SWITCH_MODE 	= 2
SWITCH_LIMIT 	= 512
ASYNC_FLUSH 	= 1
FILE_NUM 	    = 10
ITEMS           = 0
SQL_TRACE_MASK  = 7:14:15:22:24:25:26:27:28
MIN_EXEC_TIME 	= 1500
USER_MODE 		= 0
USERS 			= 

11.启动守护进程/监视器进程

(1)启动守护进程:(主备机都执行)

        切换su - dmdba,进入目录/home/dmdba/dmdbms/bin

./DmWatcherService satrt    # 开启守护进程;
./DmMonitorService start    # 后台开启监视器;
./dmmonitor /home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini    # 前台启动监视器

 输入 show 命令查看集群状态:

 其中守护进程状态 WSTATUS 为 OPEN,实例状态 ISTATUS 为 OPEN, 归档类型 RTYPE为 TIMELY,归档状态 RSTAT 为VALID。

 (2)登录主库:

./disql SYSDBA/SYSDBA@192.168.222.129:5236

        新建一个测试 表,并插入数据:

create table test(id int);
insert into test values(1);
commit;

(3)登录备库查看同步情况:

./disql SYSDBA/SYSDBA@192.168.222.128:5236
select * from test;

三、注意事项:

        修改打开文件资源限制,如果设置数目小于65536,在安装数据库时,系统会显示打开文件数过少,至少设置为65536或更多。如果设置打开文件数少于65536而继续安装,系统则会自动更改规划安装目录。

更多资讯请上达梦技术社区了解: https://eco.dameng.com



这篇关于达梦数据库主备集群部署的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程