
一、DM 数据库版-产品介绍
1、开发版:官网上下载的版本, 并发数和使用时间做了限制
2、标准版:适用小型应用, 不支持集群, 对用户数和并发数有限制
3、企业版:适用于中大型应用, 在生产环境中应用最多的一个版本,三权分立
对比项 | 标准版 | 企业版 |
最大连接数 | 25 | 无限制 |
最大物理 CPU 数量 | 2 | 无限制 |
最大逻辑 CPU 核数 | 32 | 无限制 |
使用时间 | 无限制 | 无限制 |
硬件平台支持 | Windows 全系列、Linux 全系列、 龙芯、飞腾、申威、泰山、
海光、兆芯、Power、安腾等 | Windows 全系列、Linux 全系列、 龙芯、飞腾、申威、泰山、
海光、兆芯、Power、安腾等 |
最大存储容量 | 500G | 无限制 |
单表最大行数 | 1 亿 | 无限制 |
大表最大列数 | 1024 | 2048 |
列存储 | 不支持 | 支持 |
分区表 | 不支持 | 支持 |
并行查询 | 不支持 | 支持 |
闪回查询 | 不支持 | 支持 |
分析函数与
自定义聚集函数 | 不支持 | 支持 |
虚拟函数 VPD | 不支持 | 支持 |
DBMS_SQL 包 | 不支持 | 支持 |
存储过程调试功能 | 不支持 | 支持 |
XML 支持 | 不支持 | 支持 |
JSON 支持 | 不支持 | 支持 |
空间数据库支持 | 不支持 | 支持 |
全文索引支持 | 不支持 | 支持 |
DBLINK 功能 | 不支持 | 支持 |
DMHS 支持 | 不支持 | 支持 |
数据守护集群 DATAWATCH | 不支持 | 支持 |
读写分离集群 DMRWC | 不支持 | 支持 |
共享存储集群 DMDSC | 不支持 | 支持 |
大规模并行处理集群 DMMPP | 不支持 | 支持 |
数据复制 Data Replication | 不支持 | 支持 |
企业管理工具 DEM | 不支持 | 支持 |
备份还原接口 SBT | 不支持 | 支持 |
嵌入式 pro*c | 不支持 | 支持 |
外部函数扩展 | 不支持 | 支持 |
外部表 | 不支持 | 支持 |
通讯加密 | 不支持 | 支持 |
存储加密 | 不支持 | 支持 |
加密引擎 | 支持 | 支持 |
三权分立 | 不支持 | 支持 |
四权分立 | 不支持 | 不支持 |
自主访问控制 | 不支持 | 支持 |
强制访问控制 | 不支持 | 不支持 |
审计和实时侵害检测 | 不支持 | 不支持 |
客体重用 | 不支持 | 支持 |
资源限制 | 不支持 | 支持 |
二、安装架构
3台服务器,两台数据库服务器,1台监控器,占用资源较低。
版本 | 8.1.3.26 | 8.1.3.26 | 8.1.3.26 |
架构 | 主 | 备 | 监控器1 |
业务IP | 192.168.5.101 | 192.168.5.102 | 192.168.5.103 |
心跳IP | 192.168.5.101 | 192.168.5.102 | 192.168.5.103 |
CPU类型 | X86 | X86 | X86 |
数据库实例名 | CJC01 | CJC02 | 无 |
数据库名 | CJC | CJC | 无 |
数据库字符集 | UTF-8 | UTF-8 | 无 |
PAGE_SIZE | 32K | 32K | 无 |
EXTENT_SIZE | 16 | 16 | 无 |
LENGTH_IN_CHAR | 1 | 1 | 无 |
实例端口号 | 35231(默认端口号5236) | 35231(默认端口号5236) | 无 |
MAL端口 | 35331 | 35331 | 无 |
MAL守护进程端口 | 35431 | 35431 | 无 |
守护进程端口 | 35531 | 35531 | 无 |
守护组 | GRPCJC | GRPCJC | 无 |
OGUID | 101102 | 101102 | 无 |
业务用户名 | CJC | CJC | 无 |
业务用户名密码 | ********** | ********** | 无 |
SYSDBA用户密码 | ********** | ********** | 无 |
操作系统用户 | dmdba | dmdba | dmdba |
软件路径 | /dm8/dbms | /dm8/dbms | /dm8/dbms |
控制文件路径 | /dm8/ctl | /dm8/ctl | /dm8/ctl |
数据文件路径 | /dm8/data | /dm8/data | /dm8/data |
日志文件路径 | /dm8/redo | /dm8/redo | /dm8/redo |
归档文件路径 | /dm8/arch | /dm8/arch | /dm8/arch |
备份文件路径 | /dm8/bak | /dm8/bak | /dm8/bak |
安装介质路径 | /dm8/soft | /dm8/soft | /dm8/soft |
巡检路径 | /dm8/check | /dm8/check | /dm8/check |
脚本路径 | /dm8/scripts | /dm8/scripts | /dm8/scripts |
安装方式 | 命令行 | 命令行 | 命令行 |
三、下载介质地址
https://www.dameng.com/list_103.html

四、操作系统的配置
4.1、准备安装
要安装一台MySQL数据库服务器,首先需要准备一台PC服务器。本安装实例中,PC服务器有4个CPU核心、8GB内存、多块900GB的硬盘。
如果你手头上没有这种配置的的服务器,可以考虑使用Vmware Workstation虚拟机软件,仿真出一台这种配置的PC服务器。

4.2、下载CentOS 7.4介质开始安装
将刚刚下载的CentOS 7.4 ISO文件制作成光盘,使用光驱在实际的服务器上安装CentOS操作系统。可以直接使用CentOS 7.4 ISO文件,在Vmware Workstation虚拟化环境中,安装CentOS操作系统。
将安装盘放入光驱(物理光驱或者虚拟光驱),打开计算机的电源,按照提示一步一步进行:

4.3、安装完毕开始登录

4.4、查看系统配置信息
查看 cpu 信息:
[root@localhost
~]# lscpu
[root@localhost
~]# cat proc/cpuinfo
4.5、查看内存信息:
[root@localhost
~]# free -m
注意:数据库内存要至少 1G,linux swap 分区一般是物理内存的 1.5倍
4.6、查看硬盘、分区信息
[root@localhost
~]# fdisk -l
[root@localhost
~]# df -h
如果数据库开启 SQL 日志分析,那么/tmp 分区至少要 600M
4.7、远程访问数据库需要关闭防火墙
[root@localhost
~]# systemctl status firewalld
[root@localhost
~]# systemctl stop firewalld
[root@localhost
~]# systemctl disable firewalld
4.8、关闭SELinux
getenforce
vi etc/selinux/config
将以下的行SELINUX=enforcing
修改为
SELINUX=disabled
然后重新启动服务器
reboot
4.9、系统要求:
内核要在 2.6 以上,glibc 2.3 UnixODBC gcc
[root@localhost
~]# uname -ra
4.10、上传介质并解压
通过 sftp 上传 iso 和授权文件到 install ,挂载上传好的 iso 光盘镜像文件到 mnt
使用 root 用户拷贝挂载后的安装文件到规划好的 media目录
[root@root ~]# cd install/
[root@root media]# ls
CentOS-7.4-x86_64-DVD-1708.iso
[root@bsvr media]# mount -o loop CentOS-7.4-x86_64-DVD-1708.iso /install/
mount: mnt: WARNING: source write-protected, mounted read-only.
# cp -r mnt/* /install
# chown -Rroot:root /media/
4.11、配置YUM源
4.11.1.编辑/etc/yum.repos.d/CentOS-Base.repo文件:
vi
/etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS74-$releasever
- Base
baseurl=file:///media/7.4.1708/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS74-$releasever
- Base
baseurl=file:///media/7.4.1708/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS74-$releasever
- Base
baseurl=file:///media/7.4.1708/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
4.11.2.更新yum缓存:
[root@root ~]# yum
clean all
Loaded plugins:
langpacks, product-id, search-disabled-repos, subscription-manager
This system is not
registered with an entitlement server. You can use subscription-manager to
register.
Cleaning repos:
base extras updates
[root@root
~]# yum makecache
Loaded plugins:
langpacks, product-id, search-disabled-repos, subscription-manager
This system is not
registered with an entitlement server. You can use subscription-manager to
register.
base| 3.6 kB 00:00:00
extras| 2.9 kB 00:00:00
updates| 2.9 kB 00:00:00
(1/10):
base/x86_64/group_gz| 153 kB 00:00:01
(2/10):
base/x86_64/primary_db| 6.1 MB 00:00:24
(3/10):
extras/x86_64/primary_db| 253 kB 00:00:00
(4/10):
extras/x86_64/other_db| 154 kB 00:00:00
(5/10):
extras/x86_64/filelists_db| 305 kB 00:00:01
(6/10):
base/x86_64/filelists_db| 7.2 MB 00:00:28
(7/10):
base/x86_64/other_db| 2.6 MB 00:00:09
(8/10):
updates/x86_64/filelists_db| 15 MB 00:00:59
(9/10):
updates/x86_64/other_db| 1.6 MB 00:00:06
(10/10):
updates/x86_64/primary_db| 27 MB 00:01:49
Metadata Cache
Created
4.11.3.安装gcc:
[root@localhost
yum.repos.d]# yum install gcc
五、达梦的安装配置
5.1 规划路径
[root@localhost
/]# mkdir -p dm8
5.2 安装用户(建议不要使用 root) )
[root@localhost
/]# groupadd dinstall
[root@localhost
/]# useradd -g dinstall dmdba
[root@localhost
/]# passwd dmdba

[root@localhost /]# chown dmdba:dinstall dm8 -R
[root@localhost
/]# ls -ld dm8

5.3 配置 dmdba 用户环境变量(可选项)
参考:

实际:

环境变量生效:
[dmdba@localhost
~]$ source .bash_profile
5.4 设置最大文件打开数
修改之后重启生效
[root@localhost
/]# vi etc/security/limits.conf
dmdba soft nofile
4906
dmdba hard nofile
65536
dmdba soft nproc
10240
dmdba hard nproc
10240
临时生效:ulimit -n 65536
5.5 数据库软件安装
[root@localhost home]# mount -o loop
/home/dm8_setup_rh7.iso mnt
mount: dev/loop0 写保护,将以只读方式挂载

5.6 CLI:命令行的交互式安装
[dmdba@localhost
mnt]$ ./DMInstall.bin –i

5.7 安装目录的结构和内容:
bin:库文件和达梦常用的命令
bin2 :UTF8
Desktop:桌面
Drivers:驱动
jar :jar 包,存放的是逻辑备份、数据快速加载、日志挖掘
license_en.txt
license_zh.txt :许可信息
log :日志
release_zh.txt
release_en.txt :版本信息
script :脚本
uninstall
uninstall.sh :卸载
web :dem 类似 oracle oem
doc :文档
include :头文件(.h)
jdk :java
Samples :示例
tool :客户端工具


执行脚本(用 root 账号)
/dm8/script/root/root_installer.sh

5.8、创建数据库实例
一个数据库软件是可以安装多个实例,通过端口号来区分
[dmdba@localhost
bin]# ./dminit path=/dm8/data db_name=DB_TEST1
instance_name=TEST1 PORT_NUM=35231

5.9 查看达梦数据库服务的方式
[dmdba@SRV-NWWZ-DMDB-01 bin]$ 。、
dmdba 23160 1 0 10:35 pts/0 00:00:00 data/dmdbms/dmdbms/bin/dmserver
/data/dmdbms/DAMENG/dm.ini -noconsole
dmdba 23424 10746 0 10:37 pts/0 00:00:00 grep dmserve
5.9.1安装完成之后,需要先启停数据库一次


5.10后台启动:
准备数据库后台启动脚本
cd
/data/dmdbms/dmdbms/bin/service_template
cp DmService
../DmService_35231
vim DmService_35231
--修改INI_PATH=/data/dmdbms/DAMENG/dm.ini
后台方式启动数据库
cd
/data/dmdbms/dmdbms/bin
./DmService_35231 start --启动达梦数据库
./DmService_35231 stop --停止达梦数据库
[dmdba@localhost
bin]$ ./disql SYSDBA/SYSDBA:5239

SQL> select status$ from v$instance;

5.11 卸载数据库软件
注意:在卸载数据库之前,需要将数据库备份,然后关闭实例、删除
数据库及卸载数据库软件
[dmdba@localhost
dm8]$ ./uninstall.sh -i
六、DM数据守护搭建
6.1 数据准备
脱机备份主库
关闭数据库:
./DmService_35231 stop
备份数据库
./dmrman CTLSTMT="BACKUP DATABASE
'/dmdata/dmdbms/DAMENG/JGSWGLJ/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET
'/dmdata/dmdbms/BAKBACKUP_FILE_01'"
./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DB_TEST/dm.ini'
FULL TO BACKUP_FILE1 BACKUPSET '/dm8/data /BAKBACKUP_FILE_01'"

备份文件传输至备库

恢复备库
1)
./dmrman
CTLSTMT="RESTORE DATABASE '/dm8/data/DB_TEST/dm.ini' FROM BACKUPSET
'/tmp/BAKBACKUP_FILE_01'"

2)
./dmrman
CTLSTMT="RECOVER DATABASE '/dm8/data/DB_TEST/dm.ini ' FROM BACKUPSET
'/tmp/BAKBACKUP_FILE_01'"
./dmrman
CTLSTMT="RECOVER DATABASE '/dm8/data/DB_TEST1/dm.ini ' FROM BACKUPSET
'/tmp/BAKBACKUP_FILE_01'"

./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DB_TEST/dm.ini ' UPDATE DB_MAGIC"
./dmrman
CTLSTMT="RECOVER DATABASE '/dm8/data/DB_TEST1/dm.ini ' UPDATE
DB_MAGIC"

6.2 修改配置文件
***下面操作都在data/DAMENG/执行***
主库dm.ini修改
备库dm.ini修改
主库dmmal.ini新增
主库dmmal.ini拷贝到备库相同位置
主库dmarch.ini新增
主库dmarch.ini拷贝到备库相同位置
主库dmwatcher.ini新增
主库dmwatcher.ini拷贝到备库相同位置
***监视器放在备库***
备库新增dmmonitor.ini
6.3 主库修改dm.ini
#实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过 16
INSTANCE_NAME =
GRP1_RT_01 #修改的实例名称,为了方便区分主备
PORT_NUM = 35231 #数据库实例监听端口
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 次的日志发送信息
上述修改完成之后,将主库的dm.ini 复制到备库,修改实例名和端口号



6.4 配置 dmmal.ini—新增
MAL_CHECK_INTERVAL
= 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL
= 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = TEST_PRI
#实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST =
192.168.0.141 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141
#MAL 系统监听 TCP 连接的端口
MAL_INST_HOST =
192.168.56.130 #实例的对外服务 IP 地址
MAL_INST_PORT = 35331#实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT =
52141 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT =
33141 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = TEST_STD
MAL_HOST =
192.168.0.142
MAL_PORT = 61142
MAL_INST_HOST =
192.168.56.140
MAL_INST_PORT = 35231
MAL_DW_PORT =
52142
MAL_INST_DW_PORT =
33142
注:需要两块网卡,一个私网地址,一个公网地址,私网用来同步数据
上述修改完成之后,将主库的dmmal.ini 复制到备库相同位置(与dm.ini在同一个目录下),不做任何修改

6.5 配置Dmarch.ini-新增
[ARCHIVE_REALTIME]
ARCH_TYPE =
REALTIME #实时归档类型
ARCH_DEST = TEST_PRI
#实时归档目标实例名(主备库相反,主库写备库。备库写主库)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
#本地归档类型
ARCH_DEST = /dm8/data/
#本地归档文件存放路径
ARCH_FILE_SIZE =
128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT =
0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
上述修改完成之后,将主库的dmmal.ini 复制到备库相同位置(与dm.ini在同一个目录下)

6.6 配置 dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10
#远程守护进程故障认定时间
INST_RECOVER_TIME
= 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME =
10 #本地实例故障认定时间
INST_OGUID =
453331 #守护系统唯一 OGUID 值
INST_INI = /dm8/data/DB_TEST/dm.ini
#dm.ini 配置文件路径 根据实际路径写
INST_AUTO_RESTART
= 1 #打开实例的自动启动功能
INST_STARTUP_CMD =
/dm8/bin/dmserver #命令行方式启动,根据实际路径写
RLOG_SEND_THRESHOLD
= 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD
= 0 #指定备库重演日志的时间阀值,默认关闭


6.7 启动主库
./dmserver
/dm8/data/DB_TEST/dm.ini mount

6.8 设置OGUID-主库

6.9 修改数据库模式-主库
alter database
primary;

6.10启动备库
./dmserver /dm8/data/DB_TEST1/dm.ini mount

6.11设置OGUID-备库

6.12配置监视器—备库
新增dmmonitor.ini
MON_DW_CONFIRM = 1
#确认监视器模式
MON_LOG_PATH = /dm8/data/log
#监视器日志文件存放路径
MON_LOG_INTERVAL =
60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE
= 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT
= 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID =
453331 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP =
192.168.56.130:52141
MON_DW_IP = 192.168.56.140:52142
6.13启动守护进程
./dmwatcher
/dm8/data/DB_TEST/dmwatcher.ini

6.14启动监视器
./dmmonitor /dm8/data/DB_TEST1/dmmonitor.ini


注册服务—主库和备库
6.15停止当前启动的程序及数据库
先停备库的watcher ,再停主库的watcher
启动的顺序是先启动主库的watcher,再启动备库的watcher
先关闭主库,再关闭备库
6.16注册watcher服务-主库和备库
./dm_service_installer.sh
-t dmwatcher -p watcher_std -watcher_ini /dm8/data/DB_TEST1/dmwatcher.ini


6.18注册dmserver服务(主库和备库)
./dm_service_installer.sh
-t dmserver -p dmserver_std -dm_ini /dm8/data/DB_TEST1/dm.ini

./dm_service_installer.sh -t dmserver -p dmserver_std -dm_ini /dm8/data/DB_TEST/dm.ini

6.19启动watcher dmserver服务
1)启动主库db
2)启动备库db
./DmServicedmserver_std
start
3)启动主库watcher
4)启动备库watcher
./DmWatcherServicewatcher_std
start
5)启动备库monitor (前台启动即可)
七、达梦主备搭建---达梦数据库
7.1环境准备:
由于搭建的是确认监控器,所以建议开启三台服务器或者虚拟机,只是搭建服务先不要初始化服务,一定要用dmdba来操作
根据主机名去辨别主备库操作
CentOS7-01 :主库
CentOS7-02 :备库
CentOS7-03 :确认监视器
环境说明:
下列机器事先都安装了 DM,安装路径为’/dm8’,执行程序保存在’/dm8/bin’目录中, 数据存放路径为’/dm8/data’ (根据自己搭建的路径对下面的操作进行修改)
数据准备:
初始化库只在主库上进行:
[dmdba@CentOS7-01
bin]$ /dminit path=/dm8/data
注意初始化完不要启动数据库
7.2在主库上修改配置文件:
[dmdba@CentOS7-01
DAMENG]$ vim dm.ini
INSTANCE_NAME
= DM1
PORT_NUM =
5236 #数据库实例监听端口
DW_PORT =
33141 #守护环境下,监听守护进程连接端口
DW_ERROR_TIME
= 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS
= 0 #不允许手工方式修改实例模式/状态
ENABLE_OFFLINE_TS
= 2 #不允许备库 OFFLINE 表空间
MAL_INI =
1 #打开 MAL 系统
ARCH_INI =
1 #打开归档配置
HA_INST_CHECK_FLAG
= 1 #检测是否多个实例进程同时启动
配置MAL 系统 (注意ini文件名称和下面的一致,没有直接vim):
[dmdba@CentOS7-01
DAMENG]$ vim dmmal.ini
MAL_CHECK_INTERVAL
= 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL
= 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DM1 #实例名,和 dm.ini 中的INSTANCE_NAME 一致
MAL_HOST = 192.168.100.101 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.100.101 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DM2
MAL_HOST = 192.168.100.102
MAL_PORT = 61142
MAL_INST_HOST = 192.168.100.102
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
配置本地归档和实时归档(注意实时归档目标实例名一定是跟它对应的备库实例名):
[dmdba@CentOS7-01
DAMENG]$ vim dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE
= REALTIME #实时归档类型
ARCH_DEST
= DM2 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE
= LOCAL #本地归档类型
ARCH_DEST
= /dm8/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE
= 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT
= 0 #单位 Mb,0 表示无限制,范围1024~4294967294M
配置守护进程:
[dmdba@CentOS7-01
DAMENG]$ vim dmwatcher.ini
[GRP1]
DW_TYPE =
GLOBAL #全局守护类型
DW_MODE =
AUTO #自动切换模式
DW_ERROR_TIME
= 10 #远程守护进程故障认定时间
INST_RECOVER_TIME
= 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME
= 10 #本地实例故障认定时间
INST_OGUID
= 453331 #守护系统唯一 OGUID 值
INST_INI =
/dm8/data/DAMENG/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART
= 1 #打开实例的自动启动功能
INST_STARTUP_CMD
= /dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD
= 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD
= 0 #指定备库重演日志的时间阀值,默认关闭
配置dmwatcher.ctl:
[dmdba@CentOS7-01
DAMENG]$ cd /dm8/bin
[dmdba@CentOS7-01
bin]$ ./dmctlcvt TYPE=3 SRC=/dm8/data/DAMENG/dmwatcher.ini
DEST=/dm7/data/DAMENG
7.3将主库的实例拷贝到备库:
[dmdba@CentOS7-01
~]$ cd /dm8/data/
[dmdba@CentOS7-01
data]$ scp -r DAMENG/ dmdba@192.168.100.102:`pwd`
来到备库进行配置
配置 dm.ini :
[dmdba@CentOS7-02
DAMENG]$ vim dm.ini
INSTANCE_NAME
= DM2
PORT_NUM =
5236 #数据库实例监听端口
DW_PORT =
33142 #守护环境下,监听守护进程连接端口
DW_ERROR_TIME
= 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS
= 0 #不允许手工方式修改实例模式/状态
ENABLE_OFFLINE_TS
= 2 #不允许备库 OFFLINE 表空间
MAL_INI =
1 #打开 MAL 系统
ARCH_INI =
1 #打开归档配置
HA_INST_CHECK_FLAG
= 1 #检测是否多个实例进程同时启动
RLOG_SEND_APPLY_MON
= 64 #统计最近 64 次的日志重演信息
配置MAL 系统(由于是拷贝过来的,不用修改):
和主库一致,可以从主库上拷贝过来,也可以自己创建
[dmdba@CentOS7-02
DAMENG]$ vim dmmal.ini
MAL_CHECK_INTERVAL
= 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL
= 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DM1 #实例名,和 dm.ini 中的INSTANCE_NAME 一致
MAL_HOST = 192.168.100.101 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.100.101 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DM2
MAL_HOST = 192.168.100.102
MAL_PORT = 61142
MAL_INST_HOST = 192.168.100.102
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142
配置本地归档和实时归档:
[dmdba@CentOS7-02
DAMENG]$ vim dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE
= REALTIME #实时归档类型
ARCH_DEST
= DM1 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE
= LOCAL #本地归档类型
ARCH_DEST
= /dm8/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE
= 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT
= 0 #单位 Mb,0 表示无限制,范围1024~4294967294M
配置守护进程(由于是拷贝过来的,不用修改):
[dmdba@CentOS7-02
DAMENG]$ vim dmwatcher.ini
[GRP1]
DW_TYPE =
GLOBAL #全局守护类型
DW_MODE =
AUTO #自动切换模式
DW_ERROR_TIME
= 10 #远程守护进程故障认定时间
INST_RECOVER_TIME
= 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME
= 10 #本地实例故障认定时间
INST_OGUID
= 453331 #守护系统唯一 OGUID 值
INST_INI =
/dm8/data/DAMENG/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART
= 1 #打开实例的自动启动功能
INST_STARTUP_CMD
= /dm7/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD
= 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD
= 0 #指定备库重演日志的时间阀值,默认关闭
配置dmwatcher.ctl (由于是拷贝过来的,不用修改):
同一个守护进程组,必须使用同一份 dmwatcher.ctl 文件,这里直接拷贝配置主库时已经生成的 dmwatcher.ctl 到本地数据文件目录/dm7/data/DAMENG。
配置文件配置完毕;
在主库上操作:
启动主库(切记首次启动用mount方式启动):
[dmdba@CentOS7-01
bin]$ ./dmserver /dm8/data/DAMENG/dm.ini mount
设置OGUID (主库操作):
[dmdba@CentOS7-01
bin]$ ./disql (登陆,用户密码默认)
SQL>sp_set_oguid(453331); #设置oguid值,主备值一样
SQL>alter
database primary; #修改数据库模式
在备库上操作
启动备库(切记首次启动用mount方式启动):
[dmdba@CentOS7-02
bin]$ ./dmserver /dm8/data/DAMENG/dm.ini mount
设置OGUID (备库操作):
[dmdba@CentOS7-02
bin]$ ./disql (登陆,用户密码默认)
SQL>sp_set_oguid(453331); #设置oguid值,主备值一样
#修改数据库模式
SQL>SP_SET_PARA_VALUE(1,
'ALTER_MODE_STATUS', 1);
SQL>alter
database standby;
SQL>SP_SET_PARA_VALUE(1,
'ALTER_MODE_STATUS', 0);
配置监视器(确认监视器建议在第三台机子配置):
配置确认监视器:
[dmdba@CentOS7-03
DAMENG]$ vim dmmonitor.ini
MON_DW_CONFIRM
= 1 #确认监视器模式
MON_LOG_PATH
= /dm8/data/log #监视器日志文件存放路径
MON_LOG_INTERVAL
= 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE
= 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT
= 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID
= 453331 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP
= 192.168.100.101:52141
MON_DW_IP
= 192.168.100.102:52142
启动各个主备库上的守护进程:
主库:
[dmdba@CentOS7-01
bin]$ ./dmwatcher /dm8/data/DAMENG/dmwatcher.ini
备库:
[dmdba@CentOS7-02
bin]$ ./dmwatcher /dm8/data/DAMENG/dmwatcher.ini
启动监视器:
[dmdba@CentOS7-03
~]$ cd /dm8/bin
[dmdba@CentOS7-03
bin]$ ./dmmonitor /dm8/data/dmmonitor.ini
7.4 查看主备状态:

全部open状态搭建成功;
搭建过程的话建议大家先自己照这个博客先搭建成功之后在去按照自己的想法去部署,总之熟能生巧
以上,既然看到这里了,如果觉得不错,随手点个赞,下次再见。
1、信创名单查询:
http://www.itsec.gov.cn/aqkkcp/cpgg/202409/t20240930_194299.html

http://www.itsec.gov.cn/aqkkcp/cpgg/202312/t20231226_162074.html

2、审计监控诊断优化
• 老白D-Smart,借助他在健康监控、故障预警、问题诊断、定期巡检、专项审计等诸多自动化运维工作
微信DBAiop社区下载社区版
输入 《下载》 获得下载全部命令
输入 《下载7》 获得RHEL7/CENTOS 7绿色安装包
输入 《下载8》 获得RHEL8/CENTOS 8绿色安装包
输入 《docker》获得Docker版安装镜像安装包
• 海信聚好看的 DBdoctor,, 在对数据库几乎没有影响的情况下实时监控数据库和服务器的各项指标, 发现和诊断问题根因非常方便.
https://www.dbdoctor.cn/
3、集群管理软件
•乘数开源的clup, 专门用来管理集群管理软件, 如果你要管理很多套数据库,自研的连接池、分布式存储、一体机、备份平台等, 企业可以关注一下.
https://github.com/apecloud/kubeblocks
4、数据同步&迁移&备份恢复
•NineData, 老领导出去创业做的产品, 产品涵盖了数据同步、迁移、备份、比对、devops、chatDBA等.
https://www.ninedata.cloud/home




