当前位置: 首页 > news >正文

达梦数据库(DM8)单机数据库安装部署

文章目录

    • 1概述
    • 2操作内容
      • 2.1Linux操作系统安装
      • 2.1.1创建虚拟机
      • 2.1.2系统安装
      • 2.1.3配置虚拟机网络
    • 2.2Windows10下安装DM8
      • 2.2.1卸载DM
      • 2.2.2安装前准备工作
      • 2.2.3图形化安装部署DM8
      • 2.2.4初始化数据库
      • 2.2.5连接数据库
    • 2.3CentOS 7下安装DM8
      • 2.3.1部署规划
      • 2.3.2操作系统相关配置
        • 2.3.2.1关闭防火墙
        • 2.3.2.2关闭selinux
        • 2.3.2.3修改内核参数
        • 2.3.2.5修改操作系统资源限制
        • 2.3.2.6关闭透明大页、numa
        • 2.3.2.7添加用户环境变量
        • 2.3.2.8创建数据目录并授权
        • 2.3.2.9修改系统时间
        • 2.3.2.10修改磁盘调度算法
      • 2.3.3DM8软件安装
      • 2.3.4初始化实例
      • 2.3.5注册数据库服务
      • 2.3.6启动并登录数据库
      • 2.3.7优化数据库参数
      • 2.3.8归档配置
      • 2.3.9添加定时备份作业
      • 2.3.10配置SQL日志

1概述

本文主要是演示Windows环境下达梦单机图形化安装部署以及Linux环境下单机静默安装部署。之前工作中虽然有安装过DM8,但是之前安装的时候用的图形化界面比较多并且几乎是没有关注过操作系统相关的参数设置的,比如操作系统内核、资源限制、关闭透明大页、num、磁盘IO调度算法这些操作,以及安装后要对进行数据库参数优化才能上线生产环境。

2操作内容

2.1Linux操作系统安装

2.1.1创建虚拟机

创建虚拟机
在这里插入图片描述

选择光盘镜像文件
在这里插入图片描述

自定义虚拟机名称和存放目录
在这里插入图片描述

选择处理器数量和核心数、网络类型、内存大小
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置磁盘空间

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
磁盘空间可以不用立即分配
在这里插入图片描述
在这里插入图片描述

完成虚拟机创建
在这里插入图片描述

创建完成后启动虚拟机

2.1.2系统安装

启动虚拟机
选择“install CentOS 7”
选择语言
选择自动分区
在这里插入图片描述

“软件安装”勾选图形化界面
在这里插入图片描述

开始安装

设置root的账号密码并等待安装完成
在这里插入图片描述

2.1.3配置虚拟机网络

给虚拟机配置一个固定的ip:192.168.30.148
在VMware中打开虚拟机设置
在这里插入图片描述

在VMware中编辑网络设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置起始和结束地址
在这里插入图片描述

在控制面板中编辑VMnet8网卡
在这里插入图片描述

启动系统并编辑网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述

网关GATEWAY要设置正确,设置为192.168.30.2
重新加载网络设置
systemctl restart network
查看IP地址并验证
在这里插入图片描述

2.2Windows10下安装DM8

2.2.1卸载DM

由于之前已经安装过达梦数据库了,所以在安装前需要先卸载达梦数据库。打开系统设置点击“应用”,在里面找到“达梦数据库”,点击卸载按钮进行卸载。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待卸载完成后,点击“完成”。还需要到安装目录下手动删除有用户数据的库文件(数据目录以及文件)以及安装 DM 后使用过程中产生的一些文件。我的安装路径是C:\APP\DM\dmdbms,可以看到还有这些文件:
在这里插入图片描述
以及数据目录:
在这里插入图片描述
手动删除以上文件以及文件夹,然后再进行数据库的安装部署。

2.2.2安装前准备工作

在安装前需要检查和修改系统的配置,以保证DM正常运行。
在cmd命令行输入systeminfo命令,查看系统详情:
在这里插入图片描述
检查当前系统可用内存是否足够,至少需要1GB以上。可以打开任务管理器查看:
在这里插入图片描述
检查磁盘空间是否足够,一般要求数据目录所在磁盘的剩余空间有9GB以上。

2.2.3图形化安装部署DM8

下载安装镜像:dm8_20250731_x86_win_64.iso,双击iso文件打开,双击“setup.exe”进行达梦数据库图形化安装(source目录下还有官方部署文档可供参考学习):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证Key文件,测试环境可以不输入,点击“下一步”继续安装。
选择安装组件:
在这里插入图片描述
一般地,作为服务器端的机器只需选择“服务器安装”选项,特殊情况下,服务器端的机器也可以作为客户机使用,这时,机器必须安装相应的客户端软件。
选择数据库安装位置:
在这里插入图片描述
最后一步,进行安装前确认安装信息:
在这里插入图片描述
如果提示C:\Windows\system32目录下,已存在配置文件dm_svc.conf则点击“是”按钮进行覆盖即可。
在这里插入图片描述
等待数据库安转完成。
在这里插入图片描述

2.2.4初始化数据库

数据库图形化安装完成后会提示进行“初始化数据库”的操作,点击“初始化”将弹出数据库配置工具(database configuration assistant,简称为 DBCA)实现数据库初始化工作,即创建和配置数据库实例。通过DBCA工具创建的数据库实例会自动注册服务,不需要单独进行注册服务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择数据库存放目录:
在这里插入图片描述
输入数据库名、实例名、端口号:
在这里插入图片描述
在这里插入图片描述
修改字符集为UTF-8:
在这里插入图片描述
设置数据库口令:
在这里插入图片描述
在这里插入图片描述
确认数据库摘要:
在这里插入图片描述
点击“完成”进行数据库实例创建:
在这里插入图片描述
可以在服务管理器看到对应的服务状态:
在这里插入图片描述

2.2.5连接数据库

创建数据库实例后,使用DISQL和DM管理工具连接数据库。
DISQL连接命令格式:disql username/password@IP:PORT
在数据库安装路径的bin目录下打开cmd命令窗口进行连接:
在这里插入图片描述

DM管理工具:直接在Windows搜索框搜索“DM管理工具”打开客户端:
点击“新建连接”按钮:
在这里插入图片描述

输入连接信息:
在这里插入图片描述

连接成功:
在这里插入图片描述

2.3CentOS 7下安装DM8

2.3.1部署规划

单机部署规划
IP规划:
主机名 服务ip 数据库名 实例名
192.168.30.148 dmdb dmdb
端口规划:
实例名 实例端口
dmdb 5236
目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)
数据库软件安装目录 /home/dmdba/dmdbms
实例安装目录 /dmdata/
归档日志存放目录 /dmdata/arch
备份文件存放目录 /dmdata/dmbak/

2.3.2操作系统相关配置

安装数据库前需要对操作系统进行优化配置,以保证DM正确安装和运行。

2.3.2.1关闭防火墙

生产环境应该开启防火墙以及对应的端口,测试环境可以选择关闭防火墙。
查看防火墙状态:
systemctl status firewalld
关闭防火墙:
systemctl stop firewalld
设置开机禁用防火墙:
systemctl disable firewalld

2.3.2.2关闭selinux

查看selinux的模式:开启模式显示结果:Enforcing 关闭模式显示结果:Permissive
getenforce
临时性关闭(立即生效,但是重启服务器后失效):
setenforce 0
永久关闭(重启也不会开启):
sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config

2.3.2.3修改内核参数

修改内核参数:
vi /etc/sysctl.conf
添加以下内容:
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern = /dmdata/core.%e_%p_%t
vm.swappiness=10
vm.dirty_background_ratio = 0
vm.min_free_kbytes = 512000
使参数生效,执行:
sysctl -p
注意:kernel.core_pattern最好不要放在数据盘,后面的SQL日志等日志文件也建议不要放在数据盘。
2.3.2.4创建数据库管理用户和组
新建用户组 dinstall:

groupadd dinstall -g 2001

新建用户 dmdba:

useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba 

执行以下命令,修改 dmdba 用户密码:

passwd dmdba
2.3.2.5修改操作系统资源限制

修改 dmdba 用户资源限制

vim /etc/security/limits.conf

文件末尾添加如下内容:

dmdba  soft      nice       0
dmdba  hard      nice       0
dmdba  soft      as         unlimited
dmdba  hard      as         unlimited
dmdba  soft      fsize      unlimited
dmdba  hard      fsize      unlimited
dmdba  soft      nproc      65536
dmdba  hard      nproc      65536
dmdba  soft      nofile     65536
dmdba  hard      nofile     65536
dmdba  soft      core       unlimited
dmdba  hard      core       unlimited
dmdba  soft      data       unlimited
dmdba  hard      data       unlimited

此外需要检查/etc/security/limits.d/目录下是否有其他限制资源的配置文件,如果有也需要修改。比如:

这样就需要修改20-nproc.conf:

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

文件末尾添加如下内容:

dmdba      soft    nproc     65536
dmdba      hard    nproc     65536

为避免重启数据库服务后,上面的配置不能生效,还需要修改以下文件的配置:

vim /etc/systemd/system.conf
DefaultLimitNOFILE=65536  # 同时设置软硬限制

需要重启数据库服务器生效(再关闭透明大页、numa后再重启)。

2.3.2.6关闭透明大页、numa

修改文件:

vim /etc/default/grub

修改内容:在GRUB_CMDLINE_LINUX参数末尾添加:

numa=off transparent_hugepage=never

例如:

需要重启数据库服务器生效,执行以下命令!

grub2-mkconfig -o /etc/grub2.cfg
numastat
numactl --show
numactl --hardware
shutdown -r now

重启后验证:

cat /sys/kernel/mm/transparent_hugepage/enabled
cat /proc/cmdline
2.3.2.7添加用户环境变量

修改 dmdba 用户环境变量。

vi /home/dmdba/.bash_profile

文件末尾添加如下内容:

export DM_HOME=/home/dmdba/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

让环境变量立即生效:

source /home/dmdba/.bash_profile
2.3.2.8创建数据目录并授权

依次创建数据目录、归档日志存放目录、备份文件存放目录:

mkdir /dmdata
mkdir /dmdata/arch
mkdir /dmdata/dmbak
授权:
chown -R dmdba:dinstall /dmdata
2.3.2.9修改系统时间

查看当前系统时间是否准确:

date

如果时间不准确,使用data -s进行修改:

date -s "2025-08-12 16:59:00"
2.3.2.10修改磁盘调度算法

查看磁盘类型:

lsblk -d -o name,rota

rota为1的时候是机械硬盘(hdd);0为固态硬盘(sssd)
修改磁盘IO调度算法为deadline

cat /sys/block/sd*/queue/scheduler
# 如果不是[deadline]则进行修改
grubby --update-kernel=ALL --args="elevator=deadline"
cat /sys/block/sd*/queue/scheduler

2.3.3DM8软件安装

使用root用户挂载数据库软件的iso文件

mkdir -p /dmiso
mount -o loop /temp/dm8_20250729_x86_centos7_64.iso /dmiso/

切换为dmdba用户进行数据库安装

su - dmdba

执行 DMInstall.bin 文件开始安装,选择【-i】参数以命令行方式安装
cd /dmiso

./DMInstall.bin -i

选择安装程序的语言 c/C 为中文,e/E 为英文。
提示是否安装 key 文件,输入 N 跳过。
选择时区,21 即东 8 区。
选择安装类型,默认典型安装(包含所有内容)。
选择软件安装目录,默认/home/dmdba/dmdbms
确认安装
在这里插入图片描述

安装完成提示使用root用户执行脚本:

/home/dmdba/dmdbms/script/root/root_installer.sh

在这里插入图片描述

/home/dmdba/dmdbms/script/root/root_installer.sh

2.3.4初始化实例

初始化工具使用dminit进行初始化,位于$DM_HOME/bin目录下,具体的参数以及含义可使用以下命令查看:

dminit help

输出:

initdb V8
db version: 0x7000d
file dm.key not found, use default license!
License will expire on 2026-07-28
version: 03134284368-20250728-285229-20149 Pack24
格式: ./dminit     KEYWORD=value例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16 SYSDBA_PWD=... SYSAUDITOR_PWD=... [SYSSSO_PWD=...]关键字                     说明(默认值)
--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE                   日志文件大小(4096),单位为:M,范围为:256M ~ 8G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[BAIST],4[ZBMM]
SYSDBA_PWD                 设置SYSDBA密码
SYSAUDITOR_PWD             设置SYSAUDITOR密码
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
BUFFER                     系统缓存大小(8000),单位M
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(3),可选值:0/1/2/3
PAGE_HASH_NAME             设置页检查HASH算法
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根密钥加密引擎
RLOG_ENCRYPT_NAME          设置日志文件加密算法,若未设置,则不加密
RLOG_POSTFIX_NAME          设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
USBKEY_PIN                 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE        设置页加密分片大小,可选值:0、512、4096,单位:Byte
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                分布式环境下协同工作的监听端口
HUGE_WITH_DELTA            是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE          是否生成HUGE表REDO日志(1) 1:是 0:否
PSEG_MGR_FLAG              是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE           CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID             是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE                   指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
USE_DB_NAME                路径是否拼接DB_NAME(1) 1:是 0:否
MAIN_DBF_PATH              MAIN数据文件存放路径
SYSTEM_DBF_PATH            SYSTEM数据文件存放路径
ROLL_DBF_PATH              ROLL数据文件存放路径
TEMP_DBF_PATH              TEMP数据文件存放路径
ENC_TYPE                   数据库内部加解密使用的加密接口类型(1), 可选值: 1: 优先使用EVP类型 0: 不启用EVP类型
RANDOM_CRYPTO              随机数算法所在加密引擎名
DPC_TENANCY                指定DPC集群是否启用多租户模式(0) 0:不启用 1:启用,取值0/1时也可以用FALSE/TRUE代替
AUTO_ADJ_PARA              是否开启INI参数自动调优(1) 0:否 1:是
AUTO_ADJ_CPUS              指定数据库可用CPU核数进行INI参数自动调优,AUTO_ADJ_PARA打开才生效(0) 可选值:0~64,0:默认使用当前机器所有核
AUTO_ADJ_MEM               指定数据库可用内存大小进行INI参数自动调优,AUTO_ADJ_PARA打开才生效(0) 单位:MB,0:默认使用当前机器80%的内存
HELP                       打印帮助信息

注意:页大小和簇大小推荐 32k,字符集、大小写敏感不敏感和字符串类型
以字节还是字符为单位的参数一定要和应用确认,否则初始化库后,修改不了。
dminit 使用手册位于 dmdbms/doc 下面。
执行以下命令进行初始化实例(使用dmdba用户运行):

dminit path=/dmdata page_size=32 extent_size=32 charset=1 log_size=2048 db_name=dmdb instance_name=dmdb SYSDBA_PWD="输入密码" SYSAUDITOR_PWD="输入密码" 

2.3.5注册数据库服务

使用$DM_HOME/script/root/dm_service_installer.sh进行数据库服务注册,后续便可以操作系统服务的方式管理,一般用到的参数如下:

-t 服务类型:注册服务类型,支持以下服务类型:dmap、dmamon、dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm。
-dm_ini INI 文件路径:指定服务所需要的 dm.ini 文件路径。
-p 服务名后缀:指定服务名后缀,生成的操作系统服务名为“服务脚本模板名,称 + 服务名后缀”。此参数只针对 dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm 服务脚本生效。

以root用户执行:

cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -p dmdb -dm_ini /dmdata/dmdb/dm.ini

2.3.6启动并登录数据库

以服务方式启动达梦数据库:

# systemctl start DmServicedmdb
su - dmdba
cd /home/dmdba/dmdbms/bin
./DmServicedmdb start

在这里插入图片描述

dmdba用户下执行以下命令:(disql username/password@IP:PORT)

disql SYSDBA/'"输入密码"'@localhost:5236

disql工具位于$DM_HOME/bin目录下,不指定IP和端口号默认连接本地的5236实例,执行sql语句后需要手动提交事务。
误输入某个字符后发现退格键和Delete键都无法删除字符,可以使用以下方式重新输入:ctrl + u:清空本行;ctrl + 退格键(Backspace):删除单个字符;
执行数据库脚本可以在SQL命令行使用:start + 脚本路径完成。

扩展:数据库启停的方式养成使用以下方式,不使用systemctl方式,因为数据库管理员不是每次都有root用户的账号使用的。

su - dmdba
# cd $DM_HOME/bin
cd /home/dmdba/dmdbms/bin
# ./DmServiceXXX start|stop|restart|status
./DmServicedmdb status

2.3.7优化数据库参数

登录disql后,执行AutoParaAdj5.1_dm8.sql脚本可以实现对数据库参数优化,具体说明如下:
(1)查看exec_mode参数:0表示脚本自动获取机器的内存和CPU配置直接执行脚本修改参数;1表示不直接修改参数,只打印设置参数的语句,然后需要将这些输出语句复制出来放到命令行窗口进行执行。exec_mode设置为1后,必须调整v_mem_mb和v_cpus参数值。
(2)需要根据数据库服务器 cpu 核数和物理内存大小调整脚本中 v_mem_mb与v_cpus参数值。v_mem_mb参数值的单位为M,v_mem_mb*(mem_per/100)小于4G(4000),将什么都不做。v_cpus参数值为CPU的逻辑处理器的总数。
具体操作如下:
修改AutoParaAdj5.1_dm8.sql脚本的exec_mode:

exec_mode int:= 1;

修改AutoParaAdj5.1_dm8.sql脚本的v_mem_mb:

# 查看系统运行内存,从下面命令中取出Mem.total的值
free -m & free -g
# 修改脚本:
v_mem_mb int:= 6000;

修改AutoParaAdj5.1_dm8.sql脚本的v_cpus:

# 查看系统CPU信息,查看下面命令输出的“CPU(s):                12”信息
Lscpu
# 也可以用以下命令直接查看
lscpu | grep "CPU(s):" | head -n 1
# 修改脚本:
v_cpus int:= 12;

修改完成后登录disql后在SQL命令行执行脚本:

SET SERVEROUTPUT ON;
start /temp/AutoParaAdj5.1_dm8.sql

输出示例:
在这里插入图片描述

把上面的输出语句复制执行:
在这里插入图片描述

在disql中使用时,exec_mode等于1,没有打印优化语句时,则需要设置disql的参数:SET SERVEROUTPUT on; 如果不想输出脚本,设置disql参数:Set echo off;

也可以直接把脚本内容复制到DM管理工具中进行执行,然后把输出的语句拿出来再执行到数据库中。
在这里插入图片描述

数据库参数优化调整完成后,需要重启数据库:

cd /home/dmdba/dmdbms/bin
./DmServicedmdb restart

2.3.8归档配置

方法一:在线方式配置归档:在数据库运行时,连接disql进行修改
开启归档并限制归档空间为 100 G(按实际存储空间给合适的值)

alter database mount;
alter database archivelog;
alter database add archivelog 'dest=/dmdata/arch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400';
alter database open;

方法二:离线方式配置归档:数据库停止时,修改配置文件
修改当前实例数据目录下的dm.ini文件,打开ARCH_INI参数

vi /dmdata/dmdb/dm.ini
# 修改:ARCH_INI = 1 #打开归档配置

在数据库目录下创建dmarch.ini文件

vi /dmdata/dmdb/dmarch.ini

并在dmarch.ini文件添加以下内容:

#归档空间限制以实际情况考虑 (实际配置中删除#后注释语句)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST =/dmarch #本地归档文件存放路径
ARCH_FILE_SIZE = 1024 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT =102400 #单位 Mb,0 表示无限制,范围 1024~2147483647M

验证归档状态:

-- 检查归档配置
SELECT arch_name, arch_type, arch_dest FROM V$DM_ARCH_INI;
-- 查看归档是否启用
SELECT arch_mode FROM V$DATABASE;

2.3.9添加定时备份作业

根据应用需求,定制备份策略如下所示
备份类型 备份周期 备份时间
全量备份 每周 每周六 23 点
增量备份 每天 除周六外每天 23 点
删除备份 每天 每天 23 点 30
登录数据库执行以下命令,创建作业系统表

SP_INIT_JOB_SYS(1);

全量备份(每周六 23 点全备):其中有1分钟后的一次性全备调度,执行完成后检查备份是否成功。

call SP_CREATE_JOB('bakfull',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('bakfull');
call SP_ADD_JOB_STEP('bakfull', 'bak1', 6, '01020000/dmdata/dmbak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakfull', 'std1', 1, 2, 1, 64, 0, '23:00:00', NULL, '2021-11-01 21:17:22', NULL, '');
call SP_ADD_JOB_SCHEDULE('bakfull', 'once2bakfull', 1, 0, 0, 0, 0, NULL, NULL, sysdate+1/1440, NULL, '');
call SP_JOB_CONFIG_COMMIT('bakfull');

以上代码中call SP_ADD_JOB_SCHEDULE(‘bakfull’, ‘once2bakfull’, 1, 0, 0, 0, 0, NULL, NULL, sysdate+1/1440, NULL, ‘’);表示添加一个立即执行的测试调度(1 分钟后运行)。1分钟后备份目录下则会生成一个数据库的全备:
在这里插入图片描述

增量备份(每周除周六外每天 23 点增量备份):

call SP_CREATE_JOB('bakincr',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('bakincr');
call SP_ADD_JOB_STEP('bakincr', 'bak2', 6, '41010000/dmdata/dmbak|/dmdata/dmbak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakincr', 'std2', 1, 2, 1, 63, 0, '23:00:00', NULL, '2021-11-01 21:19:30', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakincr');

备份定期删除(每天 23:30 删除 14 天前备份):

call SP_CREATE_JOB('delbak',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('delbak');
call SP_ADD_JOB_STEP('delbak','bak1',0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmdata/dmbak'');call sp_db_bakset_remove_batch(''DISK'',now()-14);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('delbak', 'del01', 1, 1, 1, 0, 0, '23:30:00', NULL, '2020-11-02 14:48:41', NULL, '');
call SP_JOB_CONFIG_COMMIT('delbak');

增量备份执行后类似这样:
在这里插入图片描述

补充:查询数据库的作业

select * from sysjob.sysjobs;
-- 要执行作业的话:call SP_DBMS_JOB_RUN(1755070830);

如果想删除一个作业则输入以下命令:

CALL SP_DROP_JOB('statistics');

另外添加自动收集统计信息的任务(每天1点收集全库统计信息)(一整块复制到DISQL中执行)

call SP_CREATE_JOB('statistics',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('statistics');
call SP_ADD_JOB_STEP('statistics', 'statistics1', 0, 'begin
for rs in (select ''sf_set_SESSION_para_value(''''HAGR_HASH_SIZE'''',(select cast(
case when max(table_rowcount(owner,table_name))<=(select max_value from v$dm_ini 
where para_Name=''''HAGR_HASH_SIZE'''') and max(table_rowcount(owner,table_name))>=(
select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''')  then 
max(table_rowcount(owner,table_name)) when max(table_rowcount(owner,table_name))<(
select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') then(select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') else (select max_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') end as bigint) from dba_tables where owner=''''''||NAME||''''''));''
sql1,''DBMS_STATS.GATHER_SCHEMA_STATS(''''''||NAME||'''''',100,TRUE,''''FOR ALL COLUMNS SIZE AUTO'''');'' 
sql2from SYS.SYSOBJECTS where TYPE$=''SCH'' ) loop
execute  immediate rs.sql1;
execute  immediate rs.sql2;
end loop;
end;', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('statistics', 'statistics1', 1, 2, 1, 64, 0, '01:00:00', NULL, '2021-06-09 22:54:37', NULL, '');
call SP_JOB_CONFIG_COMMIT('statistics');

说明:每周6凌晨1点开始收集;SP_ADD_JOB_SCHEDULE存储过程中,​​倒数第三个参数DURING_START_DATE表示作业调度的生效起始日期,如果设为NULL,则默认以当前系统日期为生效起始日;倒数第二个参数为作业调度规则失效的截止日期。
注意:上线前,必须提前48小时,完成数据迁移和统计信息收集。

2.3.10配置SQL日志

达梦数据库的SQL日志核心功能是记录SQL执行详情(包括慢SQL、执行时间、参数值、用户会话等),支持多维度过滤配置(如语句类型、耗时阈值、用户等),用于性能优化、故障诊断和审计追踪。
SQL日志的配置文件sqllog.ini在该实例的数据目录下
修改sqllog.ini:

 cd /dmdata/dmdb/
vim sqllog.ini

调整以下参数,记录1.5s以上sql:

BUF_TOTAL_SIZE = 10240
BUF_SIZE = 1024
BUF_KEEP_CNT = 6
[SLOG_ALL]
FILE_PATH = ../log
PART_STOR = 1
SWITCH_MODE = 2
SWITCH_LIMIT = 512
ASYNC_FLUSH = 1
FILE_NUM = 5
ITEMS = 0
SQL_TRACE_MASK = 2:3:25
MIN_EXEC_TIME = 1500
USER_MODE = 0
USERS = 

配置后该实例的数据目录下会生成一个trace的目录。
登录数据库执行:

-- 1. 开启SQL日志
SP_SET_PARA_VALUE(1, 'SVR_LOG', 1);
-- 2. 动态加载配置(无需重启)
CALL SP_REFRESH_SVR_LOG_CONFIG();
-- 3. 验证配置
SELECT * FROM V$DM_SQLLOG_CONFIG WHERE PARA_NAME IN ('MIN_EXEC_TIME', 'SQL_TRACE_MASK');

达梦社区地址:https://eco.dameng.com/


文章转载自:

http://kZJinvsl.rxfgh.cn
http://4DXHwFD0.rxfgh.cn
http://YNrpExrS.rxfgh.cn
http://eXIg0fge.rxfgh.cn
http://AV7BB5HG.rxfgh.cn
http://6DxPtnC2.rxfgh.cn
http://iSeVMXbi.rxfgh.cn
http://IrULnteW.rxfgh.cn
http://B2qQDyoj.rxfgh.cn
http://RhnhG1Rz.rxfgh.cn
http://KNt0jptU.rxfgh.cn
http://43gDrU0K.rxfgh.cn
http://REgQiU1m.rxfgh.cn
http://PDMKG4M0.rxfgh.cn
http://PjHpQlck.rxfgh.cn
http://waqrUU2W.rxfgh.cn
http://u8FswZun.rxfgh.cn
http://qg5xH2K4.rxfgh.cn
http://fNo0ZJ5X.rxfgh.cn
http://pBSiOl41.rxfgh.cn
http://HQrcJJch.rxfgh.cn
http://Dr4rJ6n3.rxfgh.cn
http://I6l58O4f.rxfgh.cn
http://cB84QN8K.rxfgh.cn
http://xm5z0wCy.rxfgh.cn
http://rrvF5zO5.rxfgh.cn
http://TQ315Ofp.rxfgh.cn
http://YqqZcVv7.rxfgh.cn
http://AzFsEhhc.rxfgh.cn
http://QnwY1918.rxfgh.cn
http://www.dtcms.com/a/373171.html

相关文章:

  • 《sklearn机器学习——特征提取》
  • OnlyOffice的高可用方案如何做
  • 苍穹外卖前端Day1 | vue基础、Axios、路由vue-router、状态管理vuex、TypeScript
  • 【RabbitMQ】----RabbitMQ 的7种工作模式
  • CN2 GIA线路深度解析:阿里云/腾讯云选哪个?(附三网评测)
  • 冰火岛 Tech 传:Apple Foundation Models 心法解密(下集)
  • Gamma AI:高效制作PPT的智能生成工具
  • 云计算学习笔记——HTTP服务、NFS服务篇
  • unity入门:按钮控制横向滚动视窗显示最左最右
  • 大模型为什么会有幻觉?-Why Language Models Hallucinate
  • 数据结构造神计划第三天---数据类型
  • MYSQL集群高可用架构之MHA高可用架构
  • 小麦矩阵系统:让短视频分发实现抖音快手小红书全覆盖
  • 智能高低压地埋线走向探测器如何在多条电缆中查找特定电缆?
  • 【Docker】常见操作
  • Python/JS/Go/Java同步学习(第七篇)四语言“字符串类型验证“对照表: 运维“雏田“白眼审核凭证上传崩溃(附源码/截图/参数表/避坑指南)
  • 深入解析网通核心器件:光模块、巴伦(Balun)与LTCC及其关键参数
  • 将 maven 集成到 idea 后出现 向项目创建模块时出错:null 的问题
  • 4.1Vue基本使用
  • 温补晶振(TCXO)
  • 应用层————HTTPS协议
  • 内存越界引发线程函数调用堆栈回溯异常以及INT 3软中断实战分析案例分享
  • stm32——单总线,DHT11
  • WAF(Web应用防火墙)重要域名接入方案 - 操作笔记
  • [网络入侵AI检测] 纯卷积神经网络(CNN)模型 | CNN处理数据
  • Embedding 层(tf.keras.layers.Embedding)文档翻译
  • 人工智能学习:Transformer结构(文本嵌入及其位置编码器)
  • 计算机视觉——光流法
  • VMware 如何创建链接克隆虚拟机
  • Excel处理控件Aspose.Cells教程:使用 Python 将 Pandas DataFrame 转换为 Excel