达梦数据库DM8读写分离集群安装部署

 

1 系统(软硬件)环境

1.1硬件环境

服务器具体配置信息

名称

CPU

内存

硬盘SSD

硬盘SAS

网卡

长城擎CF520

FT-1500A

64GB

2240GB

标配4个900GB

2块千兆网卡;

1块HBA光纤通道卡:双端口16Gb

长城擎CF520

FT-1500A

64GB

2个240GB

标配4个900GB

2块千兆网卡;

1块HBA光纤通道卡:双端口16Gb

长城擎CF520

FT-1500A

64GB

2个240GB

标配4个900GB

2块千兆网卡;

1块HBA光纤通道卡:双端口16Gb

1.2软件环境

操作系统

数据库版本

 

 

银河麒麟服务器操作系统V4

DM8

 

 

 

 

 

 

 

 

 

 

 

2 安装前规划

2.1 数据库存放路径规划

名称

存放路径

说明

安装路径

/opt/dmdbms

DM安装程序文件和数据文件的路径,挂载在存储设备SSD上。

数据文件路径

/opt/dmdbms/data

归档日志文件

/opt/dmbak/arch

本地服务器的机械磁盘上,不要和上面存储设备在同一介质上。

备份文件

/opt/dmbak/

 

2.2 网络及端口规划

IP规划

主机类型

IP

实例名

主库

10.10.35.117(外部服务)

1.1.1.21(内部通信)

GRP1_RWW_01

备库

10.10.35.118(外部服务)

1.1.1.22(内部通信)

GRP1_RWW_02

备库

10.10.35.119(外部服务)

1.1.1.23(内部通信)

GRP1_RWW_03

监视器

10.10.35.120

1.1.1.2

 

 

端口规划

实例名

PORT_NUM

MAL_INST_DW_PORT

MAL_HOST

MAL_PORT

MAL_DW_PORT

GRP1_RWW_01

5236

5336

1.1.1.21

5436

5536

GRP1_RWW_02

5236

5336

1.1.1.22

5436

5536

GRP1_RWW_03

5236

5336

1.1.1.23

5436

5536

 

2.3 磁盘调度算法的选择

2.3.1 Debian系列

数据库服务器使用 deadline 磁盘调度算法。(注意:银河麒麟V4和中标麒麟的修改方法不一样,该操作可能会引起操作系统无法启动,请在系统工程师的协助下进行

sudo vi /etc/default/grub

 

找到GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"这一行,修改为:

GRUB_CMDLINE_LINUX_DEFAULT="elevator=deadline quiet splash"

保存退出后执行: sudo update-grub

重启系统生效

2.3.2 Redhat系列

# 确认块设备1

[root@localhost log]# ps -ef|grep jbd2

# 确认块设备2(存储)

[root@localhost log]# multipath -ll

# 查看当前磁盘调度算法

[root@localhost log]# cat /sys/block/sda/queue/scheduler

noop anticipatory deadline [cfq]

# 修改对应磁盘调度算法为 deadline

[root@localhost log]# echo deadline >/sys/block/sda/queue/scheduler

# 确认修改后的磁盘调度算法

[root@localhost log]# cat /sys/block/sda/queue/scheduler

noop anticipatory [deadline] cfq

 

 

同时,也可以通过修改内核引导参数,加入elevator= deadline 如:

grubby --update-kernel=ALL --args="elevator=deadline"

执行完后重启

 

注意:如想通过这种方式调整,务必请操作系统工程师协助。因为,该操作如果修改错误,会导致服务器无法启动。

2.4 必要的工具包安装

2.4.1 设置yum源

#挂载光驱

mount /dev/cdrom /mnt/

编辑yum源

vim /etc/yum.repos.d/CentOS-Base.repo

[EL]

name=Linux 7

baseurl=file:///mnt

gpgcheck=0

enabled=1

#清空yum缓存

yum clean all

 

2.4.2 安装依赖包

yum install dstat

yum install expect

yum install perf

yum install kernel-devel

yum install kernel

yum install kernel-headers

yum install gdbm

yum install gdb

yum install cmake

yum install gdbm-devel

yum install binutils

yum install compat-libstdc++-33

yum install elfutils-libelf

yum install elfutils-libelf-devel

yum install gcc

yum install gcc-c++

yum install glibc

yum install glibc-common

yum install glibc-devel

yum install glibc-headers

yum install libaio

yum install libaio-devel

yum install libgcc-4.1.2

yum install libstdc++

yum install libstdc++-devel

yum install make

yum install unzip

yum install zip

yum install numactl-devel

yum install sysstat

yum install unixODBC     

yum install unixODBC-devel

yum install vnc

yum install xterm

yum install ksh

yum install pdksh

2.5 其他调整及处理

2.5.1 新建dmdba用户

[root@dw01 ~]# groupadd dinstall

[root@dw01 ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba [root@dw01 ~]# passwd dmdba

 

2.5.2 设置时间同步脚本

服务器应该保持时间一致。如下以 159.59.2.5 为 ntp 服务器,设置定时任务:

[root@dw01 ~]# crontab -l

# Time sync

0,10,20,30,40,50 * * * * /root/sync_time.sh

[root@localhost ~]# cat /root/sync_time.sh

#!/bin/bash

. /etc/profile

. /root/.bash_profile

ntpdate 10.10.35.111; hwclock -w

 

chmod 775 /root/sync_*

 

2.5.3 关闭防火墙及selinux

[root@dw01 ~]# systemctl disable firewalld.service

[root@dw01 ~]# systemctl stop firewalld.service

[root@dw01 ~]# vi /etc/selinux/config

SELINUX=disabled

 

2.5.3 定时清理 cache

设置为 5小时 清理一次:

# sync cache for load large date to dmserver

* 5 * * * /root/sync_cache.sh

[root@localhost ~]# vi /root/sync_cache.sh

sync

sync

echo 1 > /proc/sys/vm/drop_caches

 

chmod 775 sync_*

 

2.5.4 调整 sysctl.conf

vim /etc/sysctl.conf

注释掉kernel.shmmax和kernel.shmall两行,并添加以下行数

fs.file-max = 6815744    

fs.aio-max-nr = 1048576    

kernel.shmall = 2097152    

kernel.shmmax = 2147483648    

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.swappiness = 0

vm.dirty_background_ratio = 3

vm.dirty_ratio = 80

vm.dirty_expire_centisecs = 500

vm.dirty_writeback_centisecs = 100

 

:x保存退出

sysctl -p 立即生效

 

2.5.5 调整 Limits.conf

vim /etc/security/limits.conf添加以下内容

* soft nproc  65536

* hard nproc  65536

* soft nofile  65536

* hard nofile  65536

:x保存退出

备注:如果有该文件:/etc/security/limits.d/90-nproc.conf ,也需要修改。该文件主要限制 nproc,优先级比 /etc/security/limits.conf 高,即:如果 /etc/security/limits.d/90-nproc.conf 设置了 nproc 参数时,生效的是 /etc/security/limits.d/90-nproc.conf 文件中的限制,而不是 /etc/security/limits.conf 的限制

vim /etc/security/limits.d/90-nproc.conf

*          soft    nproc     65536

 

2.5.6 调整 login

vim /etc/pam.d/login添加以下内容

session    required        /lib64/security/pam_limits.so

session    required        pam_limits.so

:x保存退出

 

2.5.7 目录及权限

mkdir /opt/dmdbms

mkdir /opt/dmbak

mkdir /opt/dmbak/arch

chown -R dmdba:dinstall /opt/dmdbms

chown -R dmdba:dinstall /opt/dmbak

 

2.5.8 数据库初始化参数

参数名称

页大小

16

簇大小

16

字符集

GB18030

Varchar类型以字符为单位

大小写敏感

 

3 安装部署数据守护

3.1 安装DM数据库软件

3.1.1 配置环境变量

Debian系列

换dmdba用户,在~/..bashrc添加

cd /home/dmdba

vi .bashrc

export DM_HOME=/opt/dmdbms

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

 

Redhat系列

换dmdba用户,在~/.bash_profile添加

vim /home/dmdba/.bash_profile

 

export DM_HOME=/opt/dmdbms

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

 

3.1.2 更改主机名

 

vi /etc/hostname

 

3.1.3 安装DM

[dmdba@dw01 dm]$ ./DMInstall.bin -i

 

3.2 初始化实例

3.2.1 初始化实例,注册实例服务

 

#初始化实例(GRP1_RWW_01)

dminit PATH=/opt/dmdbms/data INSTANCE_NAME=GRP1_RWW_01 PAGE_SIZE=16 LOG_SIZE=1024 SYSDBA_PWD=DMDBA1234 ARCH_FLAG=1

#初始化实例(GRP1_RWW_02)

dminit PATH=/opt/dmdbms/data INSTANCE_NAME=GRP1_RWW_02 PAGE_SIZE=16 LOG_SIZE=1024 SYSDBA_PWD=DMDBA1234 MAL_FLAG=1 ARCH_FLAG=1

#初始化实例(GRP1_RWW_03)

dminit PATH=/opt/dmdbms/data INSTANCE_NAME=GRP1_RWW_03 PAGE_SIZE=16 LOG_SIZE=1024 SYSDBA_PWD=DMDBA1234 MAL_FLAG=1 ARCH_FLAG=1

 

#root用户注册服务(GRP1_RWW_01)

/opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -p GRP1_RWW_01

#root用户注册服务(GRP1_RWW_02)

/opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -p GRP1_RWW_02

#root用户注册服务(GRP1_RWW_03)

/opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -p GRP1_RWW_03

 

#启停一次主库

[root@dw01 dm]# systemctl start DmServiceGRP1_RWW_01 

[root@dw01 dm]# systemctl stop DmServiceGRP1_RWW_01

3.3 准备数据

3.3.1 脱机备份、脱机还原方式

1. 正常关闭主库

2. 进行脱机备份

dmrman CTLSTMT="BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/opt/dmbak/BACKUP_FILE_01'"

  1. 拷贝备份文件到备库所在机器

scp -r /opt/dmbak/BACKUP_FILE_01 [email protected]:/opt/dmbak

scp -r /opt/dmbak/BACKUP_FILE_01 [email protected]:/opt/dmbak

4. 执行脱机数据库还原与恢复

dmrman CTLSTMT="RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmbak/BACKUP_FILE_01'"

dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmbak/BACKUP_FILE_01'"

dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

 

3.4 配置主库GRP1_RWW_01

3.4.1 配置主库dm.ini

#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过 16

 

INSTANCE_NAME  = GRP1_RWW_01

PORT_NUM  = 5236  #数据库实例监听端口

DW_INACTIVE_INTERVAL  = 60 #接收守护进程消息超时时间

ALTER_MODE_STATUS  = 0  #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS  = 2  #不允许备库 OFFLINE 表空间

MAL_INI = 1  #打开 MAL 系统

ARCH_INI  = 1  #打开归档配置

RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息

 

3.4.2 配置主库dmmal.ini

3节点配置配置一样。具体如下:

MAL_CHECK_INTERVAL = 5 #MAL链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间

 

[MAL_INST1]

MAL_INST_NAME = GRP1_RWW_01 #实例名和dm.ini中的INSTANCE_NAME一致

MAL_HOST = 1.1.1.21 #MAL 系统监听TCP连接的IP地址

MAL_PORT = 5436 #MAL  #系统监听TCP连接的端口

MAL_INST_HOST = 10.10.35.117 #实例的对外服务IP地址

MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM一致

MAL_DW_PORT = 5536 #实例对应的守护进程监听TCP连接的端口

MAL_INST_DW_PORT = 5336

 

[MAL_INST2]

MAL_INST_NAME = GRP1_RWW_02 

MAL_HOST = 1.1.1.22 

MAL_PORT = 5436

MAL_INST_HOST = 10.10.35.118 

MAL_INST_PORT = 5236

MAL_DW_PORT = 5536

MAL_INST_DW_PORT = 5336

 

[MAL_INST3]

MAL_INST_NAME = GRP1_RWW_03 

MAL_HOST = 1.1.1.23 

MAL_PORT = 5436

MAL_INST_HOST = 10.10.35.119 

MAL_INST_PORT = 5236

MAL_DW_PORT = 5536

MAL_INST_DW_PORT = 5336

 

3.4.3 配置主库dmarch.ini

[ARCHIVE_TIMELY2]

ARCH_TYPE = TIMELY  #即时归档类型

ARCH_DEST = GRP1_RWW_02  #即时归档目标实例名

 

[ARCHIVE_TIMELY3]

ARCH_TYPE = TIMELY  #即时归档类型

ARCH_DEST = GRP1_RWW_03  #即时归档目标实例名

 

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL #本地归档类型

ARCH_DEST = /opt/dmbak/arch #本地归档文件存放路径

ARCH_FILE_SIZE = 512  #单位Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT  = 40960 #单位Mb,0表示无限制,范围1024~4294967294M

 

3.4.4 配置主库dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

DW_ERROR_TIME = 10 #远程守护进程故障认定时间

INST_RECOVER_TIME = 60 #主库检测备库故障恢复的时间间隔

INST_ERROR_TIME = 10 #本地实例故障认定时间

INST_OGUID = 453332 #守护系统唯一OGUID值

INST_INI = /opt/dmdbms/data/DAMENG/dm.ini #dm.ini配置文件路径

INST_AUTO_RESTART = 1 #实例自动重启

INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

 

 

3.4.5 主库启动至mount状态

su - dmdba

#启动主库至mount状态

dmserver /opt/dmdbms/data/DAMENG/dm.ini mount

3.4.6 主库设置OGUID

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> sp_set_oguid(453332);

 

3.4.7 主库修改数据库模式

#主库修改数据库为 primary

SQL>alter database primary;

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

 

3.4.8 拷贝主库配置文件至备库

scp -r /opt/dmdbms/data/DAMENG/dmwatcher.ini [email protected]:/opt/dmdbms/data/DAMENG

scp -r /opt/dmdbms/data/DAMENG/dmmal.ini [email protected]:/opt/dmdbms/data/DAMENG

scp -r /opt/dmdbms/data/DAMENG/dmarch.ini [email protected]:/opt/dmdbms/data/DAMENG

 

scp -r /opt/dmdbms/data/DAMENG/dmwatcher.ini [email protected]:/opt/dmdbms/data/DAMENG

scp -r /opt/dmdbms/data/DAMENG/dmmal.ini [email protected]:/opt/dmdbms/data/DAMENG

scp -r /opt/dmdbms/data/DAMENG/dmarch.ini [email protected]:/opt/dmdbms/data/DAMENG

 

 

 

3.5 配置备库GRP1_RWW_02

3.5.1 配置dm.ini

 

#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过 16

 

INSTANCE_NAME  = GRP1_RWW_02

PORT_NUM  = 5236  #数据库实例监听端口

DW_INACTIVE_INTERVAL  = 60 #接收守护进程消息超时时间

ALTER_MODE_STATUS  = 0  #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS  = 2  #不允许备库 OFFLINE 表空间

MAL_INI = 1 #打开 MAL 系统

ARCH_INI  = 1 #打开归档配置

RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息

 

3.5.2 配置dmmal.ini

3节点配置配置一样,此处不用修改。具体如下:

MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间

 

[MAL_INST1]

MAL_INST_NAME = GRP1_RWW_01 #实例名和dm.ini中的INSTANCE_NAME 一致

MAL_HOST = 1.1.1.21 #MAL 系统监听TCP连接的 IP 地址

MAL_PORT = 5436 #MAL  #系统监听 TCP 连接的端口

MAL_INST_HOST = 10.10.35.117 #实例的对外服务IP地址

MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的 PORT_NUM 一致

MAL_DW_PORT = 5536 #实例对应的守护进程监听TCP连接的端口

MAL_INST_DW_PORT  = 5336

 

[MAL_INST2]

MAL_INST_NAME = GRP1_RWW_02 

MAL_HOST = 1.1.1.22 

MAL_PORT = 5436

MAL_INST_HOST = 10.10.35.118 

MAL_INST_PORT = 5236

MAL_DW_PORT = 5536

MAL_INST_DW_PORT  = 5336

 

[MAL_INST3]

MAL_INST_NAME = GRP1_RWW_03 

MAL_HOST = 1.1.1.23 

MAL_PORT = 5436

MAL_INST_HOST = 10.10.35.119 

MAL_INST_PORT = 5236

MAL_DW_PORT = 5536

MAL_INST_DW_PORT  = 5336

 

3.5.3 配置dmarch.ini

[ARCHIVE_TIMELY1]

ARCH_TYPE = TIMELY  #即时归档类型

ARCH_DEST = GRP1_RWW_01  #即时归档目标实例名

 

[ARCHIVE_TIMELY3]

ARCH_TYPE = TIMELY  #即时归档类型

ARCH_DEST = GRP1_RWW_03  #即时归档目标实例名

 

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL #本地归档类型

ARCH_DEST = /opt/dmbak/arch #本地归档文件存放路径

ARCH_FILE_SIZE = 512  #单位Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT  = 40960 #单位Mb,0表示无限制,范围1024~4294967294M

 

 

3.5.4 配置dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

DW_ERROR_TIME = 10 #远程守护进程故障认定时间

INST_RECOVER_TIME = 60 #主库检测备库故障恢复的时间间隔

INST_ERROR_TIME = 10 #本地实例故障认定时间

INST_OGUID = 453332 #守护系统唯一OGUID值

INST_INI = /opt/dmdbms/data/DAMENG/dm.ini #dm.ini配置文件路径

INST_AUTO_RESTART = 1 #实例自动重启

INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭 

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

 

 

3.5.5 启动至mount状态

su - dmdba

#启动数据库至mount状态

dmserver /opt/dmdbms/data/DAMENG/dm.ini mount

 

 

3.5.6 设置OGUID

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> sp_set_oguid(453332);

 

3.5.7 修改数据库模式

#主库修改数据库为 primary

SQL>alter database standby;

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

3.6 配置备库GRP1_RWW_03

3.6.1 配置dm.ini

#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过 16

 

INSTANCE_NAME  = GRP1_RWW_03

PORT_NUM  = 5236  #数据库实例监听端口

DW_INACTIVE_INTERVAL  = 60 #接收守护进程消息超时时间

ALTER_MODE_STATUS  = 0  #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS  = 2  #不允许备库 OFFLINE 表空间

MAL_INI = 1 #打开 MAL 系统

ARCH_INI  = 1 #打开归档配置

RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息

 

3.6.2 配置dmmal.ini

3节点配置配置一样,此处不用修改。具体如下:

MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 5 #判定MAL链路断开的时间

 

[MAL_INST1]

MAL_INST_NAME = GRP1_RWW_01 #实例名和dm.ini中的INSTANCE_NAME一致

MAL_HOST = 1.1.1.21 #MAL 系统监听TCP连接的IP地址

MAL_PORT = 5436 #MAL  #系统监听TCP连接的端口

MAL_INST_HOST = 10.10.35.117 #实例的对外服务IP地址

MAL_INST_PORT = 5236 #实例的对外服务端口,和dm.ini中的PORT_NUM 一致

MAL_DW_PORT = 5536 #实例对应的守护进程监听 TCP 连接的端口

MAL_INST_DW_PORT  = 5336

 

[MAL_INST2]

MAL_INST_NAME = GRP1_RWW_02 

MAL_HOST = 1.1.1.22 

MAL_PORT = 5436

MAL_INST_HOST = 10.10.35.118 

MAL_INST_PORT = 5236

MAL_DW_PORT = 5536

MAL_INST_DW_PORT  = 5336

 

[MAL_INST3]

MAL_INST_NAME = GRP1_RWW_03 

MAL_HOST = 1.1.1.23 

MAL_PORT = 5436

MAL_INST_HOST = 10.10.35.119 

MAL_INST_PORT = 5236

MAL_DW_PORT = 5536

MAL_INST_DW_PORT  = 5336

 

 

3.6.3 配置dmarch.ini

[ARCHIVE_TIMELY1]

ARCH_TYPE = TIMELY  #即时归档类型

ARCH_DEST = GRP1_RWW_01  #即时归档目标实例名

 

[ARCHIVE_TIMELY2]

ARCH_TYPE = TIMELY  #即时归档类型

ARCH_DEST = GRP1_RWW_02  #即时归档目标实例名

 

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL #本地归档类型

ARCH_DEST = /opt/dmbak/arch #本地归档文件存放路径

ARCH_FILE_SIZE = 512  #单位Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT  = 40960 #单位Mb,0 表示无限制,范围1024~4294967294M

 

 

3.6.4 配置dmwatcher.ini

 

[GRP1]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #自动切换模式

DW_ERROR_TIME = 10 #远程守护进程故障认定时间

INST_RECOVER_TIME = 60 #主库检测备库故障恢复的时间间隔

INST_ERROR_TIME = 10 #本地实例故障认定时间

INST_OGUID = 453332 #守护系统唯一OGUID值

INST_INI = /opt/dmdbms/data/DAMENG/dm.ini #dm.ini配置文件路径

INST_AUTO_RESTART = 1 #实例自动重启

INST_STARTUP_CMD = /opt/dmdbms/bin/dmserver #命令行方式启动

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭 

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

 

 

3.6.5 启动至mount状态

su - dmdba

#启动数据库至mount状态

dmserver /opt/dmdbms/data/DAMENG/dm.ini mount

 

 

3.6.6 设置OGUID

SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL> sp_set_oguid(453332);

 

3.6.7 修改数据库模式

#主库修改数据库为 primary

SQL>alter database standby;

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

 

3.7 注册并启动守护进程

注册守护进程服务:

#root用户注册服务(GRP1_RWW_01)

/opt/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dmdbms/data/DAMENG/dmwatcher.ini -p rww1

#root用户注册服务(GRP1_RWW_02)

/opt/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dmdbms/data/DAMENG/dmwatcher.ini -p rww2

#root用户注册服务(GRP1_RWW_03)

/opt/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dmdbms/data/DAMENG/dmwatcher.ini -p rww3

 

systemctl start DmWatcherServicerww1

systemctl start DmWatcherServicerww2

systemctl start DmWatcherServicerww3

 

 

3.8 执行优化脚本

执行优化性能参数脚本,3节点都执行

4 配置监视器

4.1 配置dmmonitor.ini

 

MON_DW_CONFIRM = 1 #确认监视器模式

MON_LOG_PATH = /opt/dmdbms/log #监视器日志文件存放路径

MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32 #每个日志文件最大32M

MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

 

[GRP1]

MON_INST_OGUID = 453332 #组 GRP1 的唯一OGUID 值

MON_DW_IP = 1.1.1.21:5536

MON_DW_IP = 1.1.1.22:5536

MON_DW_IP = 1.1.1.23:5536

 

4.2 注册监视器服务

#root用户注册服务

/opt/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -monitor_ini /opt/dmdbms/dmmonitor.ini -p m1

#后台启动监视器

systemctl start DmMonitorServicem1

 

5 主备同步测试及主备切换测试

5.1 主备同步

-----主库创建表test1

SQL> create table test1 as select * from sysobjects;

-----备库查询

SQL> select count(*) from test1;

 

5.2 主备切换

show

login

switchover GRP1.GRP1_RWW_02

switchover GRP1.GRP1_RWW_03

switchover GRP1.GRP1_RWW_01

 

6 定时备份策略

全备

增备

定时删除过期备份

每周六00:00点全备

每周日、周一至周五01:00增备

每周五删除60天前的备份数据

 

你可能感兴趣的:(达梦数据库)