数据库安装部署

数据库软件安装

安装包解压

Windows环境:Windows环境中,如果安装包不是.exe的格式,而是压缩包,需要先对压缩包进行解压,右键解压缩即可。
Linux环境:iso后缀的文件,需要对文件进行挂载,命令如下:
mount -o loop /opt/dmsetup/dm8_20220305_x86_kylin10_64_ent_8.1.2.114.iso /opt/dmsetup/
在这里插入图片描述

Windows环境安装

  1. 运行安装程序

解压后,双击“setup.exe”安装程序后可根据系统配置选择相应语言与时区,点击“确定”按钮继续安装。
在这里插入图片描述

  1. 欢迎页面

点击“下一步”,开始安装
在这里插入图片描述

  1. 许可证协议

在安装和使用之前,该安装程序需要用户阅读许可协议条款,用户如接受该协议,则选中“接受”,并点击“下一步”继续安装;用户若选中“不接受”,将无法进行安装。
在这里插入图片描述

  1. 验证Key文件

点击“浏览”按钮,选取Key文件,安装程序将自动验证Key文件信息。如果是合法的Key文件且在有效期内,用户可以点击“下一步”继续安装。
在这里插入图片描述

  1. 选择安装组件

数据库软件安装程序提供四种安装方式:“典型安装”、“服务器安装”、“客户端安装”和“自定义安装”,用户可根据实际情况灵活地选择。
在这里插入图片描述

一般情况下给客户安装需要去掉服务器和数据库服务

  1. 选择安装目录

根据前期规划,指定安装路径。安装路径里的目录名由英文字母、数字和下划线等组成,不建议使用包含空格和中文字符的路径等。
在这里插入图片描述

  1. 安装前小结

显示即将进行的安装的有关信息,例如产品名称、版本信息、安装类型、安装目录、可用空间、可用内存等信息,用户检查无误后点击“安装”按钮进行软件的安装
在这里插入图片描述
在这里插入图片描述

  1. 完成安装

点击“完成”,完成数据库安装。
在这里插入图片描述

Linux环境安装-命令行

先切换到dmdba用户

  1. 执行安装命令

在终端进入到安装程序所在文件夹,执行以下命令行安装:

[dmdba@~]# /opt/dmsetup/DMInstall.bin -i
  1. 选择安装语言
根据系统配置选择相应语言,输入选项,回车进行下一步。如下所示:
请选择安装语言(C/c:中文 E/e:英文) [C/c]:C
解压安装程序..........
欢迎使用达梦数据库安装程序
  1. 验证key文件

可以选择是否输入Key文件路径。不输入则进入下一步安装,输入Key文件路径,安装程序将显示Key文件的详细信息,如果是合法的Key文件且在有效期内,可以继续安装。如下所示:

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:Y
请输入Key文件的路径地址 [dm.key]:/opt/dmsetup/dm.key
有效日期: 2020-12-25
服务器颁布类型: 企业版
发布类型: 试用版
用户名称: 武汉达梦公司疫情期间临时授权
授权用户数: 无限制
并发连接数: 无限制
  1. 输入时区

可以选择的时区信息。如下所示:

是否设置时区? (Y/y:是 N/n:否) [Y/y]:Y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
  1. 选择安装类型

数据库软件安装程序提供四种安装方式:“典型安装”、“服务器安装”、“客户端安装”和“自定义安装”,用户可根据实际情况灵活地选择。生产环境可以根据实际需求选择,一般情况下选择"典型安装"即可。

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1802M
  1. 选择安装路径

输入数据库软件的安装路径,不输入则使用默认路径,默认值为$HOME/dmdbms
(如果安装用户为root,则默认安装目录为/opt/dmdbms,但不建议使用root系统用户来安装)。

请选择安装目录 [/home/dmdba/dmdbms]:/opt/dmdbms
可用空间: 32G
是否确认安装路径(/opt/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:Y
  1. 安装小结

安装程序将打印用户之前输入的部分安装信息。如下所示:

安装前小结
安装位置: /opt/dmdbms
所需空间: 1802M
可用空间: 32G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):Y

由于我没有添加KEY文件,所以没有版本信息和有效日期

  1. 安装
是否确认安装? (Y/y:是 N/n:否):Y
2022-07-11 15:41:03 
[INFO] 安装达梦数据库...
2022-07-11 15:41:04 
[INFO] 安装 基础 模块...
2022-07-11 15:41:20 
[INFO] 安装 服务器 模块...
2022-07-11 15:41:21 
[INFO] 安装 客户端 模块...
2022-07-11 15:41:35 
[INFO] 安装 驱动 模块...
2022-07-11 15:41:41 
[INFO] 安装 手册 模块...
2022-07-11 15:41:42 
[INFO] 安装 服务 模块...
2022-07-11 15:41:43 
[INFO] 移动日志文件。
2022-07-11 15:41:43 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/opt/dmdbms/script/root/root_installer.sh

安装结束
  1. 注册数据库服务

当安装进度完成时将会弹出对话框,提示使用root系统用户执行相关命令。用户可根据对话框的说明完成相关操作,之后可关闭此对话框,点击“完成”按钮结束安装。如下所示:

root用户执行
/opt/dmdbms/script/root/root_installer.sh

在这里插入图片描述

  • 注意:

严禁使用root用户安装数据库及数据库相关操作。必须使用dmdba用户执行安装以及数据库相关操作。
我在运行上述命令后碰到了DmAPService服务启动失败的情况,碰到如下报错
/lib64/libc.so.6: version `GLIBC_2.28’ not found (required by /opt/dmdbms/bin/libdmos.so)
在这里插入图片描述
看提示应该是需要添加GLIBC的2.28版本,操作手册另见文章:
https://blog.csdn.net/NinjaKilling/article/details/125910216
按照手册操作后,启动DmAPService.service即可

systemctl start DmAPService.service

初始化实例

Windows环境初始化

在这里插入图片描述

  1. 选择操作方式

在创建数据库实例、删除数据库实例、注册数据库服务和删除数据库服务四种操作方式中,选择创建数据库实例选项,点击“开始”进入下一步。
初始参数:
页大小(PAGE_SIZE):32
日志大小(LOG_SIZE):2048
大小写(CASE_SENSITIVE)[Y:敏感 / N:不敏感]:敏感,字符集(CHARSET)[0:GB18030 / 1:UTF-8]:GB18030
在这里插入图片描述

  1. 创建数据库模板

系统提供三套数据库模板供用户选择:一般用途、联机分析处理和联机事务处理,用户可根据自身的用途选择相应的模板。通常选择“一般用途”
在这里插入图片描述

  1. 选择数据库目录

根据前期规划,通过浏览或是输入的方式选择数据库所在目录。
在这里插入图片描述

  1. 输入数据库标识

可输入数据库名称、实例名、端口号等参数。
在这里插入图片描述

  1. 数据库文件所在位置

通过选择或输入确定数据库控制、数据库日志等文件的所在位置,并可通过右侧功能按钮,对文件进行添加或删除。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 数据库初始化参数

可输入数据库相关参数,如簇大小、页大小、日志文件大小、选择字符集、是否大小写敏感等。
在这里插入图片描述
点击完成

  1. 创建数据库摘要

在安装数据库之前,将显示数据库配置工具设置的相关参数。
在这里插入图片描述

  1. 安装初始化数据库

在这里插入图片描述

  1. 安装结束

安装结束时,点击完成即可。
在这里插入图片描述

Linux环境初始化-命令行

  1. 初始化参数

页大小(PAGE_SIZE):32
日志大小(LOG_SIZE):2048
大小写(CASE_SENSITIVE)[Y:敏感 / N:不敏感]:敏感
字符集(CHARSET)[0:GB18030 / 1:UTF-8]:GB18030

  1. 初始化过程
[dmdba@~]# /opt/dmdbms/bin/dminit PATH=/opt/dmdbms/data PAGE_SIZE=32 LOG_SIZE=2048 CHARSET=0 CASE_SENSITIVE=Y
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-03-04
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /opt/dmdbms/data/DAMENG/DAMENG01.log


 log file path: /opt/dmdbms/data/DAMENG/DAMENG02.log

write to dir [/opt/dmdbms/data/DAMENG].
create dm database success. 2022-07-11 16:16:34
  1. 创建实例服务
[dmdba@~]# su - root
密码:<输入密码>
[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -p DMSERVER

在这里插入图片描述

  1. 启动实例服务
[dmdba@centos-dm ~]$ /opt/dmdbms/bin/DmServiceDMSERVER start
Starting DmServiceDMSERVER:                                [ OK ]

实例参数介绍

异构数据库建议参数
在这里插入图片描述

常用实例参数介绍
在这里插入图片描述

CHARSET/UNICODE_FLAG

GB18030编码向下兼容GBK和GB2312,兼容的含义是不仅字符兼容,而且相同字符的编码也相同。
UTF-8是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。
GB18030数字字母占1个字节,普通汉字占2个字节,部分繁体及少数民族文字占4字节,Unicode在达梦中采用UTF-8编码格式,欧洲的字母字符占1到2个字节,亚洲的大部分字符占3个字节,附加字符为4个字节。如果只存储中文和字母数字,一般来说GB18030更节省空间一些。

PAGE_SIZE

关于页大小 PAGE_SIZE。Oracle 也叫块大小(block),在DM数据库中,页大小可以为8KB、16KB或者32KB,一旦创建好了数据库,在该库的整个生命周期内,页大小都不能够改变。如果系统中存在或者以后可能存在含有较长的字符串类型的表,建议该参数设置为16或者32。页大小设置越大,最后数据文件的物理大小就会越大,系统运行时,每次从磁盘调入内存的数据单位也就越大。除了每个字段的最大长度限制外,每条记录总长度不能大于页面大小的一半。
在这里插入图片描述

LOGE_SIZE

重做日志文件大小。取值:64~2048之间的整数,单位M。默认值为256。可选参数。
每个数据库实例至少有两个重做日志文件,循环使用,LOG_SIZE设置每个重做日志
文件的大小。设置的过小会导致redo进行频繁的切换,导致数据库某些大更新操作
无法正常checkpoint。

LENGTH_IN_CHAR

1或Y:是,所有VARCHAR类型对象的长度以字符为单位。0或N:否,所有VARCHAR类型对象的长度以字节为单位
UNICODE_FLAG=1、LENGTH_IN_CHAR=0
在这里插入图片描述
一个汉字占用三个字节,一个英文占用一个字节。

UNICODE_FLAG=1、LENGTH_IN_CHAR=1

在这里插入图片描述
一个汉字占三个字节,一个英文字母占一个字节,一个字符四个字节(即一个varchar单位占四个字节),可以存四个英文字母。

UNICODE_FLAG=0、LENGTH_IN_CHAR=1

在这里插入图片描述

一个汉字占两个字节一个字符,一个英文字母占一个字节,一个字符可以存一个汉字或者两个英文字母。

UNICODE_FLAG=0、LENGTH_IN_CHAR=0

在这里插入图片描述
一个汉字占两个字节,一个英文字符占一个字节。

单机安装部署

数据库参数优化调整

根据数据库服务器cpu核数和物理内存大小调整脚本中v_mem_mb(数据库服务器物理内存大小)与v_cpus(数据库服务器cpu核数)值
在这里插入图片描述
注:为便于演示,以数据库服务器cpu总核数为16,物理总内存大小为32G为例

数据库参数优化执行-disql

将修改后的优化脚本使用disql或管理工具执行
使用disql执行优化脚本的操作如下

  1. 在数据库服务器dmdba用户home目录下新建文件AutoParaAdj.sql

$ vi /home/dmdba/AutoParaAdj.sql
#拷贝修改后的优化脚本,并保存

  1. 使用disql工具以SYSDBA用户进行登录

$ ./disql SYSDBA/SYSDBA@IP:端口

[dmdba@centos-dm bin]$ ./disql SYSDBA/SYSDBA@127.0.0.1:5236

服务器[127.0.0.1:5236]:处于普通打开状态
登录使用时间 : 1.111(ms)
disql V8
SQL> 

SQL> set serveroutput on
SQL> start /home/dmdba/AutoParaAdj.sql

在这里插入图片描述
3. 拷贝优化脚本的输出结果

在这里插入图片描述

  1. 执行拷贝的输出结果

在这里插入图片描述

数据库参数优化执行-管理工具

在Windows桌面新建文件AutoParaAdj.sql,拷贝修改后的脚本到AutoParaAdj.sql并进行保存
使用管理工具以SYSDBA用户进行登录
在这里插入图片描述

点击执行脚本,在弹出的打开窗口中选中保存的AutoParaAdj.sql文件并打开
在这里插入图片描述

复制脚本输入的内容
在这里插入图片描述

拷贝输出结果在新的窗口中进行执行
在这里插入图片描述

重启数据库,进入数据库bin目录,以数据库服务名为DmServiceDAMENG为例
$ ./DmServiceDAMENG restart

数据库内存参数说明

以下参数全部存在[dm.ini]中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三大片内存

Buffer是固定配置的,一般不会出问题,主要是考虑他的大小和磁盘IO性能是有直接关系的。
mem_pool,是不固定的、是限制不住的;可以通过“高水位”来控制,Select * from v$dm_Ini where para_name like ‘%TARGET’可以查看相关值。
私有会话池:
单独直接申请的,原则上认为它是自己管理和释放的。
mem_pool申请的:如 sess_pool_size 内存区,就是走mem_pool申请的,它的释放与否与sess_pool_target的配置有关,释放掉是否还给操作系统则和sess_pool_target、mem_pool_target有关。

MAX_SESSION和内存使用上限的关系

第一部分逻辑:
如果走mem_pool申请的内存,会有一定的管理机制,通过两层target进行管理和释放。
如果是session自己独立申请和管理的内存,其释放机制不清,但连接关闭的时候,是释放了的。
第二部分逻辑:
使用连接池,作用是尽可能保持连接,即来即用,连接使用请求时候,不需要和数据库新建;用完之后,也不和数据库之间断开。通过连接池保持这个连接。
如果连接池配置过大,会有这样一个过程:
应用启动,连接池初始化了1000个连接,系统运行过程中,最大并发数仅为5(即最大只有5个会话在运行;同时,系统99%的语句,在运行时需要的内存为10MB,但是1%的语句,在运行时内存需要使用的内存可能为1G),在这个应用系统运行一段时间之后,这1%的语句,可能会出现把1000个连接都遍历的一次;如果内存参数或者处理不好,需要的内存会是1000*1G ,1TB的服务器内存,才够应用使用。不然,可能 dmserver 就OOM了。
1)如果这1%的连接,每次使用完,都断开连接,不会有问题。
2)如果,因为连接上持续有事务从来不提交,但是连接池连接一直被应用反复申请和使用,也会有内存使用的隐患。

数据库个别参数调整

以下参数除MAX_SESSION外都在[dm.ini]中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OLAP_FLAG默认2
SORT_FLAG默认0
VIEW_PULLUP_FLAG由0改为1
ADAPTIVE_NPLN_FLAG由3改为0
ENABLE_INJECT_HINT由0改为1
ADAPTIVE_NPLN_FLAG默认0
TEMP_SIZE默认10改为1024
TEMP_SPACE_LIMIT默认0改为1024
REDOS_MAX_DELAY由1800改为180
REDOS_BUF_NUM开发建议开最大值9999原为4096

[dmdba@]$ /opt/dmdbms/bin/DmServiceDMSERVER restart
Stopping DmServiceDMSERVER:                                [ OK ]
Starting DmServiceDMSERVER:                                [ OK ]

再次检查上述参数[修改已生效]
在这里插入图片描述

数据库空间规划和安全管理

空间规划

每个非数据库系统默认用户均有数据自己的独立表空间,每个表空间由多个数据文件组成,建议每个表空间文件大小为500-800G,不设置自动扩展。表空间使用率过高,则通过添加数据文件方式进行解决。同时数据和索引分两个不同的表空间进行存储数据。

安全管理

SYSDBA为超级管理员账号,建议修改密码后并记录好之后,封存备用。同时创建系统管理员,同时创建数据库管理员,系统管理员,系统用户。数据库管理员,提供运维管理人员使用。系统管理员,提供给临时运维、系统管理等人员使用,建议每次临时提供使用后,修改密码进行权限回收。系统用户,根据每个应用系统自身需求创建,并只授予resource和public角色权限以及其他所需视图权限。
如创建dmmonitor用户,用来进行运维管理:
create user “DMMONITOR” identified by “Dameng@123” limit failed_login_attemps 3,
password_lock_time 1, password_grace_time 10;
grant “PUBLIC”,“RESOURCE”,“SOI”,“VTI” to “DMMONITOR”;
用户的密码也需要符合密码强度,最好包含大小写字符,特殊字符和数字。

开启归档

在这里插入图片描述

1)方法一:使用sql 的方式开启
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG ‘DEST=/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200’;
ALTER DATABASE OPEN;
2)方法二:通过修改数据库配置文件开启
#以数据库实例路径为/opt/dmdbms/data/DAMENG为例
#修改/opt/dmdbms/data/DAMENG/dm.ini文件中ARCH_INI参数值为1
vi /opt/dmdbms/data/DAMENG/dm.ini
#将MAL_INI值改为1
MAL_INI = 1 #打开 MAL 系统
在这里插入图片描述
#新增文件dmarch.ini

vi /opt/dmdbms/data/DAMENG/dmarch.ini
#新增如下内容
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL 
ARCH_DEST = /dmarch 
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
  • 注意:

相关路径及归档大小上限参数按照实际要求配置,建议按照生产环境每日增量数据的1-2倍设置归档上限;
不论使用以上哪种方法,均需要对数据库进行mount或重启操作。

配置数据库SQLLOG日志

在这里插入图片描述
创建SQL日志存放目录
cd /opt/dmdbms/log
mkdir logcommit
检查SVR_LOG参数
SELECT * FROM V$PARAMETER WHERE NAME LIKE ‘SVR_LOG%’;
在这里插入图片描述

修改实例路径下/opt/dmdbms/data/DAMENG/sqllog.ini文件
说明:设置sql日志为异步,按照文件大小进行切换,每个1024M,20个文件循环写,具体大小设置要根据现场实际情况
cd /opt/dmdbms/data/DAMENG/
nano sqllog.ini
在这里插入图片描述

主库执行调用存储过程生效配置文件
开启日志
执行SQL

SP_REFRESH_SVR_LOG_CONFIG();
SP_SET_PARA_VALUE(1,'SVR_LOG',1);

检查SVR_LOG参数和日志生成情况

SELECT * FROM V$PARAMETER WHERE NAME LIKE 'SVR_LOG%';

在这里插入图片描述

[dmdba@centos-dm ~]$ ls /opt/dmdbms/log/logcommit/
dmsql_DMSERVER_20220707_171420.log

数据备份和监控

数据库定时备份-图形化

1)创建备份任务,定义作业名
在左侧导航栏中,找到代理选项,右键新建代理任务,新建成功后,点击代理的下拉菜单,找到作业选项,右键新建作业,配置好作业名和作业描述。
bakall_delall
每天23:00全量备份、删除30天前的全量备份
在这里插入图片描述

2)添加作业步骤
在常规选择项设置好后,不用点击确定按钮,直接点击作业步骤选择项,点击添加按钮,进行组作业步骤的添加操作
在这里插入图片描述

全量备份:
3)添加备份规则
在作业步骤点击添加后,在步骤类型中,选择备份数据库,备份方式选择完全备份和压缩选项,添加好备份路径。
在这里插入图片描述

点击确定,再添加增量备份
增量备份:
3)添加备份规则
在作业步骤点击添加后,在步骤类型中,选择备份数据库,备份方式选择完全备份和压缩选项,添加好备份路径。
在这里插入图片描述

增量备份需要选择基备份目录
另外在主备集群中需要另外配置,执行失败并执行下一步,添加一个全量备份的作业
在这里插入图片描述

4)添加备份保留规则
备份规则配置好后,在添加一个SQL脚本,将备份保留策略添加进去,可选择保留30天,具体保留时间可以和用户商议后进行修改。

SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''C:\dmdbms\data\DAMENG\bak\all'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);

在这里插入图片描述

5)添加作业调度
在作业步骤选择项配置完成后,选择作业调度选择项,在右侧导航栏中,选择新建按钮
在这里插入图片描述

同命令行一样的配置-图形化

通过DM管理工具创建代理

代理-右键-创建代理环境

备份规则:

每月第一个周六23:00全量备份。每天(除周六)23:00增量备份、删除30天前的增量备份、删除40天前的全量备份
注意:开归档、在bak目录下手动创建all、add文件夹
全量备份路径:C:\dmdbms\data\DAMENG\bak\all
增量备份路径:C:\dmdbms\data\DAMENG\bak\add

全量备份

新建作业
作业名:bakall
作业描述:每月第一个周六23:00全量备份
在这里插入图片描述

添加作业步骤
步骤名称:bakall
步骤类型:备份数据库
备份路径:C:\dmdbms\data\DAMENG\bak\all
在这里插入图片描述
在这里插入图片描述

新建作业调度
名称:bakall_time01
调度类型:反复执行
发生频率:每月第一个星期六的23:00
在这里插入图片描述

增量备份+删除备份
新建作业
作业名称:bakadd_delbak
新建步骤
步骤名称:bakadd
步骤类型:备份数据库
备份路径:C:\dmdbms\data\DAMENG\bak\add
基备份目录:C:\dmdbms\data\DAMENG\bak\all
在这里插入图片描述

添加步骤
步骤名称:delbak
步骤类型:SQL脚本

SF_BAKSET_BACKUP_DIR_ADD('DISK','C:\dmdbms\data\DAMENG\bak\add');
CALL SP_DB_BAKSET_REMOVE_BATCH('DISK',SYSDATE-30);
SF_BAKSET_BACKUP_DIR_ADD('DISK','C:\dmdbms\data\DAMENG\bak\all');
CALL SP_DB_BAKSET_REMOVE_BATCH('DISK',SYSDATE-40);

在这里插入图片描述

新建作业调度
名称:bakadd_delbak_time01
调度类型:反复执行
发生频率:每天(除周六)23:00执行
在这里插入图片描述

数据库定时备份-命令行

通过DM管理工具创建代理

代理-右键-创建代理环境

备份规则:

每月第一个周六23:00全量备份。每天(除周六)23:00增量备份、删除30天前的增量备份、删除40天前的全量备份
注意:开归档、在bak目录下手动创建all、add文件夹
全量备份路径:/opt/dmdbms/data/DAMENG/bak/all
增量备份路径:/opt/dmdbms/data/DAMENG/bak/add
全量备份

call SP_CREATE_JOB('bakall',1,0,'',0,0,'',0,'每月第一个周六23:00全量备份');
call SP_JOB_CONFIG_START('bakall');
call SP_ADD_JOB_STEP('bakall', 'bakall', 6, '01020000/opt/dmdbms/data/DAMENG/bak/all', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakall', 'bakall_time01', 1, 4, 1, 7, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakall');

增量备份+删除备份

call SP_CREATE_JOB('bakadd_delbak',1,0,'',0,0,'',0,'每天(除周六)23:00增量备份、删除30天前的增量备份、删除40天前的全量备份');
call SP_JOB_CONFIG_START('bakadd_delbak');
call SP_ADD_JOB_STEP('bakadd_delbak', 'bakadd', 6, '11020000/opt/dmdbms/data/DAMENG/bak/all|/opt/dmdbms/data/DAMENG/bak/add', 3, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('bakadd_delbak', 'delbak', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/opt/dmdbms/data/DAMENG/bak/add'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);
SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/opt/dmdbms/data/DAMENG/bak/all'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-40);', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakadd_delbak', 'bakadd_delbak_time01', 1, 2, 1, 63, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakadd_delbak');

数据库定时备份-参数

压缩

DM 支持对备份数据进行压缩,在执行备份时,可以指定不同的压缩级别,以获得不同的数据压缩比。默认情况下,备份是不进行压缩的。DM 共支持 9 个级别(1~9 级)的压缩处理,级别越高压缩比越高,但相应的压缩速度越慢、CPU 开销越大。因为考虑到备份效率及备份文件大小,这里建议压缩级别为1。

并行

数据库可以进行并行备份,用户可以在备份步骤中指定并行数,考虑到备份过程中对于数据库的压力以及有可能和业务同时进行,DM 共支持 10 个级别(0~9 级),建议选择2,尽可能在不影响业务的情况下,尽快完成数据备份。
在这里插入图片描述

数据库监控-DEM

搭建DEM

环境准备

DEM WAR 包
Tomcat
JAVA 1.8
达梦数据库
其中 DEM WAR 包在达梦安装目录下/web/dem.war。
Tomcat 需要自己准备,与要部署的机器版本匹配即可。
需要配置 JAVA 环境,JAVA 版本必须为 JAVA 1.8。
达梦数据库为 DEM 的后台库,故需保证 DEM 所在机器能访问达梦数据库。达梦数据库
安装及实例创建详见《DM8 安装手册》。

部署步骤
  1. 修改 DEM 后台数据库 dm.ini 参数配置,推荐配置:
MEMORY_POOL = 200
BUFFER = 1000
KEEP = 64
SORT_BUF_SIZE = 50
  1. 在 DEM 后台库中执行 SQL 脚本 dem_init.sql。

dem_init.sql 路径为达梦数据库安装目录下的/web/dem_init.sql,此 SQL 脚本
编码为 UTF-8。
如果使用 disql 执行 SQL 脚本,请设置 set CHAR_CODE UTF8。
start C:/dmdbms/web/dem_init.sql

  1. 配置 Tomcat

在 conf/server.xml 中<Connector port=“8080”
protocol=“HTTP/1.1”… 追加属性字段 maxPostSize=“-1”

修改 jvm 启动参数
Windows:
bin/catalina.bat-> set java_opts= -server -Xms40m -Xmx1024m
-Djava.library.path=c:\dmdbms\bin
Linux:

bin/catalina.sh -> JAVA_OPTS="-server -Xms256m -Xmx1024m
-Djava.library.path=/opt/dmdbms/bin"

将 dem.war 放到 tomcat 的 webapps 目录下
启动 tomcat (必须先启动 tomcat,才会解压缩 war 包,当然也可以直接在
dem.war 中配置,该方式则无需启动 tomcat)。

  1. 修改 DEM 连接后台数据库配置文件 db.xml

配置 DEM 后台数据库的连接信息:ip、port、用户名、密码、连接池大小以及 SSL
登录信息等,在文件 WEB-INF/db.xml(在 dem.war 中,解压后在 tomcat 的路径
webapps/dem/war/WEB-INI/db.xml 下)中配置。
若要以 SSL 安全方式连接后台数据库,则需配置 SSLDir 和 SSLPassword:
默认在 WEB-INF/sslDir 目录中存有密钥对,WEB-INF/db.xml 配置客户端连接使
用的密钥文件路径(SSLDir)为 WEB-INF/sslDir/client_ssl/SYSDBA,密码
(SSLPassword)为空,对应 WEB-INF/db.xml 中配置的登录用户 SYSDBA。此时,只需拷贝 WEB-INF/sslDir/server_ssl 至后台数据库执行码目录(/bin/server_ssl)。

<?xml version="1.0" encoding="UTF-8"?>
<ConnectPool>
	<Server>127.0.0.1</Server>
	<Port>5236</Port>
	<User>SYSDBA</User>
	<Password>SYSDBA</Password>
	<InitPoolSize>5</InitPoolSize>
	<CorePoolSize>10</CorePoolSize>
	<MaxPoolSize>500</MaxPoolSize>
	<KeepAliveTime>60</KeepAliveTime>
	<DbDriver></DbDriver>
	<DbTestStatement>select 1</DbTestStatement>
	<SSLDir>../sslDir/client_ssl/SYSDBA</SSLDir>
	<SSLPassword></SSLPassword>
</ConnectPool>
  1. 启动/重启 Tomcat

如果步骤 3 中启动了 tomcat,则需重启 tomcat,否则启动 tomcat。
假设部署 DEM 的机器 IP 为 106.12.147.181
则 DEM 访问地址:http://106.12.147.181:8080/dem
默认用户名和密码:admin/888888。
在这里插入图片描述

  1. 配置 启动dmagent

配置agent.ini:

center_url=http://106.12.147.181:8080/dem  #DEM访问地址

用管理员登陆系统后,可以在"系统管理"->"系统配置"页面中对系统的其他属性进行配置,包括dmagent的监控频率、前端刷新频率、邮件手机通知告警等
在这里插入图片描述
在这里插入图片描述

若要启用邮件通知,需用管理员用户登录系统, 在系统配置中完成系统邮箱的相关配置;
若需要启用短信通知,用户需要借助我们提供的WEB-INF/lib/demsdk.jar,实现 com.dameng.dem.server.util.IPhoneNotify接口,将依赖包及实现类打包放入到WEB-INF/lib下,重启web容器,然后在系统配置中完成短信通知的相关配置即可。
如果部署集群并需要创建系统服务,在Linux(Unix)下应以root用户运行dmagent,在Windows下应以administrator用户运行dmagent。
搭建完成DEM后,针对数据库和数据库所在服务器进行告警配置,根据上述步骤
进行数据库和主机的监控项目选择。选择完成后,根据现场实际情况和参数推荐
进行配置,完成整体的告警配置。
在这里插入图片描述
在这里插入图片描述

推荐监控规则
在这里插入图片描述
技术博客社区地址
https://eco.dameng.com