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 值相同,可以确保数据完全一致。

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

被折叠的 条评论
为什么被折叠?



