达梦数据库实时主备环境的搭建(DM7)

本文详细介绍了DM7数据库实时主备库的搭建过程,包括环境配置、软件安装、数据同步、守护进程及监视器配置等关键步骤,确保数据高可用性和一致性。

1 环境说明

各主备库的实例名建议采用“组名_守护环境_序号”的方式命名,方便按组区分不同实
例,注意总长度不能超过16。本示例中组名为“GRP1”,配置为实时主备,主库命名为“GRP1_DM_01”,备库命名为“GRP1_DM_02”。
配置环境说明:

主机类型 IP地址 实例名 操作系统
主库 10.10.35.114(外部服务)1.1.1.10(内部通信) GRP1_DM_01 Linux 6
备库 10.10.35.115(外部服务)1.1.1.11(内部通信) GRP1_DM_02 Linux 6
监控 1.1.1.1 Linux 6

端口规划:

实例名 PORT_NUM DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
GRP1_DM_01 5236 5336 1.1.1.10 5436 5536
GRP1_DM_02 5236 5336 1.1.1.11 5436 5536

2 安装DM7数据库并初始化实例

2.1 安装DM7数据库软件

2.1.1 安装前准备(可以3台服务器同时安装)

查看操作系统版本

[root@ep01 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.6 (Santiago)

关闭防火墙 和 Selinux

[root@ep01 ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:                                 [确定]
iptables:正在卸载模块:                                   [确定]
[root@ep01 ~]# chkconfig  iptables off
[root@ep01 ~]# vi /etc/selinux/config
                SELINUX=disabled

创建DM用户

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

创建目录:安装数据库文件的空间提前规划好,我这里放在/dm目录下

[root@ep01 ~]# mkdir -p /dm/dmdbms
[root@ep01 ~]# mkdir -p /dm/dmarch
[root@ep01 ~]# mkdir -p /dm/dmbak
[root@ep01 ~]# chown -R dmdba:dinstall /dm/
[root@ep01 ~]# chmod -R 775 /dm/

配置系统限制,在/etc/security/limits.conf 文件中添加如下内容

cat >> /etc/security/limits.conf << EOF   
*  soft  nofile  65536
*  hard  nofile  65536
EOF
[root@ep02 ~]# ulimit -a

配置环境变量:在dmdba用户的~/.bash_profile 里添加如下内容

export DM_HOME="/dm/dmdbms"
export LD_LIBRARY_PATH="/dm/dmdbms/bin:$LD_LIBRARY_PATH"
export PATH="/dm/dmdbms/bin:$PATH"

[dmdba@ep01 ~]#source /etc/profile

在DM 软件安装时会自动添加DM_HOME和LD_LIBRARY_PATH变量,这里只需添加PATH即可

2.1.2 安装达梦数据库软件

[root@ep01 dm_install]# chown dmdba.dinstall DMInstall.bin dm.key
[root@ep01 dm_install]# su - dmdba
[dmdba@ep01 dm_install]$ ./DMInstall.bin -i

在这里插入图片描述
注意安装路径
在这里插入图片描述
安装结束后记住需要在root用户运行脚本

/dm/dmdbms/script/root/root_installer.sh

脚本会自动创建AP服务
在这里插入图片描述

2.2 数据同步说明

配置数据守护之前,必须先同步实例数据,确保两者保持完全一致;主库可以是新初始化的数据,也可以是正在生产、使用中的数据。DM 提供了两种方式初始化同步实例数据,数据文件拷贝以及备份还原方式。
不能分别初始化库的原因如下:

  • 1. 每个库都有一个永久魔数(permenant_magic),主库传送日志时会判断这个值是否一样,确保来自同一个库,不同的库传送不了日志。
  • 2. 由于 dminit 初始化数据库时,会生成随机密钥用于加密,每次生成的密钥都不相同,备库无法解析采用主库密钥加密的数据。

注意:
对于新初始化的库,首次启动不允许使用 mount 方式,需要先正常启动并正常
退出,然后才允许 mount 方式启动。
准备数据时,如果主库是新初始化的库,先正常启动并正常退出,然后再使用
数据文件拷贝或者备份还原方式准备备库数据。

2.2.1 数据文件拷贝方式

如果搭建数据守护之前,数据库系统已经上线运行了,那么我们可以通过拷贝数据文件的方式实现主库和备库的数据同步。具体步骤包括:
正常关闭数据库
严格按照数据文件在主库上的分布,拷贝数据文件到备库的对应目录
如果数据文件统一存放在一个目录下,则直接拷贝整个目录即可

2.2.2 备份还原方式

用户也可以通过脱机备份、脱机还原的方式同步主库和备库数据,更详细的说明可以参考备份恢复相关文档。具体步骤包括:
正常关闭数据库
进行脱机备份

./dmrman CTLSTMT=”BACKUP DATABASE ‘/dm7/data/DAMENG/dm.ini’ FULL TO BACKUP_FILE1 BACKUPSET ‘/dm7/data/BACKUP_FILE_01’”

拷贝备份文件到备库所在机器
执行脱机数据库还原与恢复

./dmrman CTLSTMT=”RESTORE DATABASE ‘/dm7/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm7/data/BACKUP_FILE_01’”
./dmrman CTLSTMT=”RECOVER DATABASE ‘/dm7/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm7/data/BACKUP_FILE_01’”

2.2.3 检查数据一致性

依次到每个实例上,切换到执行码目录$DM_HOME/bin,以 mount 方式启动数据库。

./dmserver /dm7/data/DAMENG/dm.ini mount

启动命令行工具 DIsql,分别登录各个实例查询 LSN 值,如果主库和备库的 FILE_LSN和 CUR_LSN 值相同,可以确保数据完全一致。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值