达梦数据库认证专家(DCP)是达梦数据库工程师认证体系中的中级课程,是进入DCM课程的必经之路。课程针对已经取得DCA认证并具备较好的持续学习能力的数据库专业人员。通过DCP认证,说明您可以部署企业数据库,已掌握达梦数据库的备份还原、性能优化和数据迁移等技能。该文档为本人在此次学习过程中的心得记录与回顾,实战操作部分将尽可能多的覆盖所学知识。
| 内容板块 | 知识点 |
|---|---|
| 达梦数据库运维规范 | DCP课程介绍、达梦数据库管理员的任务、达梦数据库运维流程规范 |
| 达梦数据库体系结构 | 体系结构概述、存储结构、内存结构、线程结构 |
| 表的高级管理 | 分区表管理、HUGE表管理、临时表管理、外部表管理 |
| 索引的高级管理 | 统计信息、索引管理、全文索引 |
| 安全管理 | 安全概述、数据审计、加密技术 |
| 数据迁移 | 数据迁移概念、迁移工具 (DMDTSIDMFLDR\达梦数+生态工具)、同构/异构数据迁移、应用迁移 |
| 性能优化 | 性能优化简介、实例优化、SQL优化、执行计划、HINT技术 |
| 备份还原 | 备份还原基本概念、脱机备份还原、归档管理、联机备份还原、作业管理 |
| 达梦企业管理器应用 | DEM介绍、DEM部署、DEM代理 |
数据库目录为/dm8/data
数据库名设置为DAMENGDB,实例名设置为DMSEVER,端口号设置为5237
数据库管理员密码和数据库审计员密码都设置为Dameng123。
设置数据库的空格填充模式。
## 在安装目录的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
创建一个表空间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;
创建用户DMUSER,密码为Dameng123。默认表空间为DMTB,赋予DMUSER创建表、索引的权限
CREATE USER DMUSER IDENTIFIED BY Dameng123 DEFAULT TABLESPACE DMTB;
GRANT CREATE TABLE to DMUSER;
GRANT CREATE INDEX to DMUSER;
创建普通表
CREATE TABLE EMPINFO(emp_id INT,emp_name VARCHAR(20));
运用DMFLDR工具插入非分区表数据。
## /opt/empinfo.txt
1111,AAA
2222,BBB
3333,CCC
## /opt/empinfo.ctl
LOAD DATA
INFILE '/opt/empinfo.txt'
INTO TABLE T_SALES
FIELDS ','
/dm8/bin/dmfldr DMUSER/Dameng123@localhost:5237 control=\'/opt/empinfo.ctl\'
此时非分区表的数据就准备完成了。
dmfldr(DM Fast Loader)是 DM 提供的快速数据装载命令行工具。用户通过使用dmfldr 工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM数据库中,或把 DM 数据库中的数据按照一定格式写入文本文件。dmfldr 控制文件 CONTROL 是用于指定数据文件路径和数据文件中数据的格式。在数据载入时,dmfldr 根据控制文件指定的格式来解析数据文件;导出数据时,dmfldr 也会根据控制文件指定的列分隔符、行分隔符等生成数据文件。
/dm8/bin/dexp DMUSER/Dameng123@localhost:5237 file=/dm8/backup/empinfo.dmp log=/dm8/backup/empinfo.log tables=EMPINFO
ALTER TABLE EMPINFO RENAME to empinfo_bak;
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)
);
/dm8/bin/dimp DMUSER/Dameng123@localhost:5237 file=/dm8/backup/empinfo.dmp log=/dm8/backup/empinfo_imp.log tables=EMPINFO ignore=y
SELECT COUNT(*) FROM empinfo_bak;
SELECT COUNT(*) FROM empinfo;
DROP TABLE empinfo_bak;
ALTER TABLE EMPINFO ADD PARTITION P4 values less than(4000) storage( on MAIN);
ALTER TABLE EMPINFO MERGE PARTITION P1,P2 into partition P1_P2;
ALTER TABLE EMPINFO split partition P1_P2 at(1000) into( partition P1 storage(on DMTB),partition P2 storage( on DM01));
ALTER TABLE EMPINFO ENABLE ROW MOVEMENT;
跨分区移动数据,必须开启行移动
-- 开启 EMPINFO 表行移动
ALTER TABLE EMPINFO ENABLE ROW MOVEMENT;
-- 查询表是否开启行移动
SELECT table_name,row_movement FROM user_tables;
目录/dm8/tool下,使用CONSOLE工具创建备份以及还原
/dm8/bin/DmServiceDMSEVER stop
/dm8/bin/DmAPService status
DB_MAGIC 称为数据库魔数,每经过一次整库还原、恢复操作后就会产生变化,
用来区分备份源库和还原目标库。
配置模式下 >>> 开启归档 >>> 切换回OPEN状态
全库备份/增量备份
以ORACLE迁移到DM8为例
要保证ORACLE和DM8 的服务都是启动的
ORACLE 先启动监听 lsnrctl start
启动数据库 1521 sqlplus / as sysdba
startup
目录/dm8/tool下DTS 工具 评估、迁移、对比都是类似操作。图形化按顺序执行,迁移到目标模式下就行
达梦数据集成软件 ( 简称 DMDIS) 是在总结了众多大数据项目经验和需求并结合最新的大数据发展趋势的基础上研发的具有自主版权的数据处理与集成平台。达梦数据集成软件创新地将传统的数据同步工具 ( 抽取 (Extract) 、转换 (Transform) 、装载(Loading)) 与分布式大数据处理平台相结合,实现了对数据同步、数据处理以及数据交换共享的一站式支持,大幅度降低了用户使用各种平台进行大数据整合处理的技术门槛,是构建数据中心、数据仓库、数据交换和数据同步等数据集成类应用的理想平台。
先创建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/密码
管理器页面,设计标签下方可以设置数据源,数据质量等,都是图形化操作
需要使用SYSAUDITOR用户进行数据库审计
SP_SET_ENABLE_AUDIT(1)
SP_AUDIT_OBJECT('DELETE', 'SYSDBA', 'DMUSER', 'T_SALES', 'SUCCESSFUL');
SP_AUDIT_OBJECT('UPDATE', 'SYSDBA', 'DMUSER', 'T_SALES', 'SUCCESSFUL');
SP_AUDIT_STMT('DROP TABLE', 'DMUSER', 'ALL');
sp_set_para_value(2,'BUFFER',1000);
sp_set_para_value(2,'CACHE_POOL_SIZE',300);
sp_set_para_value(2,'WORKER_THREADS',48);
修改完成后,需要重启数据库服务
-- 开启 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');
文章
阅读量
获赞
