注册
达梦数据库认证专家 DCP知识回顾
培训园地/ 文章详情 /

达梦数据库认证专家 DCP知识回顾

Roaf 2025/12/11 260 0 0

1 简介

达梦数据库认证专家(DCP)是达梦数据库工程师认证体系中的中级课程,是进入DCM课程的必经之路。课程针对已经取得DCA认证并具备较好的持续学习能力的数据库专业人员。通过DCP认证,说明您可以部署企业数据库,已掌握达梦数据库的备份还原、性能优化和数据迁移等技能。该文档为本人在此次学习过程中的心得记录与回顾,实战操作部分将尽可能多的覆盖所学知识。

2 内容涵盖

内容板块 知识点
达梦数据库运维规范 DCP课程介绍、达梦数据库管理员的任务、达梦数据库运维流程规范
达梦数据库体系结构 体系结构概述、存储结构、内存结构、线程结构
表的高级管理 分区表管理、HUGE表管理、临时表管理、外部表管理
索引的高级管理 统计信息、索引管理、全文索引
安全管理 安全概述、数据审计、加密技术
数据迁移 数据迁移概念、迁移工具 (DMDTSIDMFLDR\达梦数+生态工具)、同构/异构数据迁移、应用迁移
性能优化 性能优化简介、实例优化、SQL优化、执行计划、HINT技术
备份还原 备份还原基本概念、脱机备份还原、归档管理、联机备份还原、作业管理
达梦企业管理器应用 DEM介绍、DEM部署、DEM代理

3 实战操作

3.1 初始化数据库

  1. 数据库目录为/dm8/data

  2. 数据库名设置为DAMENGDB,实例名设置为DMSEVER,端口号设置为5237

  3. 数据库管理员密码和数据库审计员密码都设置为Dameng123。

  4. 设置数据库的空格填充模式。

## 在安装目录的bin目录下,使用DMDBA账号初始化实例
./dminit path=/dm8/data PAGE_SIZE=16 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=0 BLANK_PAD_MODE=1 DB_NAME=DAMENGDB INSTANCE_NAME=DMSEVER PORT_NUM=5237 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123

3.2 创建表空间

创建一个表空间DMTB,数据文件为/dm8/data/DAMENGDB/DMTB.DBF,数据文件初始大小为200M,每次扩展2M,最大可扩展至10240M

create tablespace DMTB datafile '/dm8/data/DAMENGDB/DMTB.DBF' size 200 autoextend on next 2 maxsize 10240 CACHE = NORMAL;

3.3 创建用户

创建用户DMUSER,密码为Dameng123。默认表空间为DMTB,赋予DMUSER创建表、索引的权限

CREATE USER DMUSER IDENTIFIED BY Dameng123 DEFAULT TABLESPACE  DMTB;
GRANT CREATE TABLE to DMUSER;
GRANT CREATE INDEX to DMUSER;

3.4 非分区表转换为分区表

3.4.1 准备数据

创建普通表

CREATE TABLE EMPINFO(emp_id INT,emp_name VARCHAR(20));

运用DMFLDR工具插入非分区表数据。

  1. 准备数据文件
## /opt/empinfo.txt
1111,AAA
2222,BBB
3333,CCC
  1. 编写控制文件。
## /opt/empinfo.ctl
LOAD DATA
INFILE '/opt/empinfo.txt' 
INTO TABLE T_SALES
FIELDS ','
  1. 将文本文件/opt/empinfo.txt数据加载到T_EMPINFO表中。
/dm8/bin/dmfldr DMUSER/Dameng123@localhost:5237 control=\'/opt/empinfo.ctl\'

此时非分区表的数据就准备完成了。

dmfldr(DM Fast Loader)是 DM 提供的快速数据装载命令行工具。用户通过使用dmfldr 工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM数据库中,或把 DM 数据库中的数据按照一定格式写入文本文件。dmfldr 控制文件 CONTROL 是用于指定数据文件路径和数据文件中数据的格式。在数据载入时,dmfldr 根据控制文件指定的格式来解析数据文件;导出数据时,dmfldr 也会根据控制文件指定的列分隔符、行分隔符等生成数据文件。

3.4.2 导出原表的结构及数据

/dm8/bin/dexp DMUSER/Dameng123@localhost:5237 file=/dm8/backup/empinfo.dmp log=/dm8/backup/empinfo.log tables=EMPINFO

3.4.3 将原表重命名

ALTER TABLE EMPINFO RENAME to empinfo_bak;

3.4.4 创建分区表

create table EMPINFO
(
EMP_ID INT,
EMP_NAME VARCHAR(20)
)
PARTITION BY RANGE (EMP_ID)
(
PARTITION P1 VALUES EQU OR LESS THAN (1000) STORAGE(on DMTB),
PARTITION P2 VALUES EQU OR LESS THAN (2000) STORAGE(on DM01),
PARTITION P3 VALUES EQU OR LESS THAN (3000) STORAGE(on DM02)
);

3.4.5 将数据导入分区表

/dm8/bin/dimp DMUSER/Dameng123@localhost:5237 file=/dm8/backup/empinfo.dmp log=/dm8/backup/empinfo_imp.log tables=EMPINFO ignore=y

3.4.6 验证数据

SELECT COUNT(*) FROM empinfo_bak;
SELECT COUNT(*) FROM empinfo;

3.4.7 删除备份表

DROP TABLE empinfo_bak;

3.5 维护分区表

3.5.1 增加分区

ALTER TABLE EMPINFO ADD PARTITION P4 values less than(4000) storage( on MAIN);

3.5.2 合并分区

ALTER TABLE EMPINFO MERGE PARTITION P1,P2 into partition P1_P2;

3.5.3 拆分分区

ALTER TABLE EMPINFO split partition P1_P2 at(1000) into( partition P1 storage(on DMTB),partition P2 storage( on DM01));

3.5.4 删除分区

ALTER TABLE EMPINFO ENABLE ROW MOVEMENT;

3.5.5 跨区移动数据

跨分区移动数据,必须开启行移动

-- 开启 EMPINFO 表行移动
ALTER TABLE EMPINFO ENABLE ROW MOVEMENT;
-- 查询表是否开启行移动
SELECT table_name,row_movement FROM user_tables;

3.6 数据库备份

3.6.1 脱机备份还原

目录/dm8/tool下,使用CONSOLE工具创建备份以及还原

  1. 必须停止数据库服务
/dm8/bin/DmServiceDMSEVER stop
  1. AP服务必须开启
/dm8/bin/DmAPService status

image.png

  • DB_MAGIC 称为数据库魔数,每经过一次整库还原、恢复操作后就会产生变化,

  • 用来区分备份源库和还原目标库。

3.6.2 联机热备

配置模式下 >>> 开启归档 >>> 切换回OPEN状态

image.png

image.png

image.png

全库备份/增量备份

image.png

3.7 数据迁移

以ORACLE迁移到DM8为例

要保证ORACLE和DM8 的服务都是启动的

3.7.1 ORACLE启动

ORACLE 先启动监听  lsnrctl start
启动数据库 1521  sqlplus / as sysdba
startup

3.7.2 迁移

目录/dm8/tool下DTS 工具 评估、迁移、对比都是类似操作。图形化按顺序执行,迁移到目标模式下就行

image.png

image.png

image.png

image.png

3.8 数据转换

3.8.1 DMDIS工具介绍

达梦数据集成软件 ( 简称 DMDIS) 是在总结了众多大数据项目经验和需求并结合最新的大数据发展趋势的基础上研发的具有自主版权的数据处理与集成平台。达梦数据集成软件创新地将传统的数据同步工具 ( 抽取 (Extract) 、转换 (Transform) 、装载(Loading)) 与分布式大数据处理平台相结合,实现了对数据同步、数据处理以及数据交换共享的一站式支持,大幅度降低了用户使用各种平台进行大数据整合处理的技术门槛,是构建数据中心、数据仓库、数据交换和数据同步等数据集成类应用的理想平台。

3.8.2 DMDIS 安装及使用

先创建DMDIS用户

DMDIS用户创建临时文件

mkdir -p /home/dmdis/tmp
export DMDIS_INSTALL_TMPDIR=/home/dmdis/tmp

静默安装(需要设置密码,记住密码用于后续登录)

cd /opt
 ./dmdis_rev185208_x86_linux_64_20250325.bin -i

使用root用户安装服务

cd /home/dmdis/dmdis5/20250xxxxxxxxxxxxxx/standalone/
./install_standalone_service.sh

使用root用户启动服务

cd /home/dmdis/dmdis5/20250xxxxxxxxxxxxxx/standalone/
./standalone_service_start.sh

管理器连接 DMDIS

输入IP:8080 用户名和密码信息

http://IP:8080/

admin/密码

管理器页面,设计标签下方可以设置数据源,数据质量等,都是图形化操作

image.png

3.9 数据库安全

需要使用SYSAUDITOR用户进行数据库审计

3.9.1 开启数据库审计EMPINFO

SP_SET_ENABLE_AUDIT(1)

3.9.2 审计SYSDBA用户对表EMPINFO修改和删除操作,在操作成功时审计

SP_AUDIT_OBJECT('DELETE', 'SYSDBA', 'DMUSER', 'T_SALES', 'SUCCESSFUL');
SP_AUDIT_OBJECT('UPDATE', 'SYSDBA', 'DMUSER', 'T_SALES', 'SUCCESSFUL');

3.9.3 审计DMUSER用户的DROP TABLE操作(无论成功与否)

SP_AUDIT_STMT('DROP TABLE', 'DMUSER', 'ALL');

3.10 性能优化

  1. 调整数据缓冲区的大小为500M,调整SQL缓冲区大小为300M,调整工作线程的个数为24。

sp_set_para_value(2,'BUFFER',1000);

sp_set_para_value(2,'CACHE_POOL_SIZE',300);

sp_set_para_value(2,'WORKER_THREADS',48);

修改完成后,需要重启数据库服务

  1. 启用达梦SQL日志功能,查找数据库中耗费时间超过200ms的SQL语句。
-- 开启 SQL 日志
SP_SET_PARA_VALUE(1, 'SVR_LOG', 1);
-- 设置只记录执行时间超过 200ms 的语句
SP_SET_SQLLOG_INI('[SLOG_ALL]ASYNC_FLUSH=1;SQL_TRACE_MASK=2:3:22:25:28;MIN_EXEC_TIME=200');
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服