注册
达梦 DCA 考试分享:从备考到交卷
专栏/技术分享/ 文章详情 /

达梦 DCA 考试分享:从备考到交卷

DM_12333 2026/09/23 267 0 0
摘要

一、前言

写本文的主要目的在于总结自己的考试经验,并分享给可能需要的人。如果可以帮助他们避免一些考试可能存在的问题,将是本文存在的意义。

二、考试速览:机试

项目 实际情况
考试形式 上机考试,2 小时
前期培训 3 天培训,考试内容少于培训容量
评分规则 外部学员 70 分通过,达梦内部员工要求 90 分以上

两个关键特点:

  1. 开卷考试:可以带资料、查文档。2 小时,13 道操作题,平均每道题不到 10 分钟。时间相对紧迫,建议熟悉每个类型的题目。
  2. 图形化 + 命令行双支持:约 80% 的操作可以通过图形化工具完成。

三、考试范围与考点占比

DCA 考试覆盖了达梦数据库管理员的核心日常工作,整体上是一条从"装库"到"用库"的完整主线。

考点 主要内容
安装数据库管理系统 安装 DM8,创建用户和目录,图形化/命令行安装
初始化实例 dminit 参数设置(页大小、簇大小、字符集等)
管理实例 实例的启动、停止(服务方式/前台方式)
连接数据库 manager 图形化连接、disql 命令行连接
表空间管理 创建、修改、删除表空间,数据文件管理
用户、角色、资源限制 创建用户、角色,权限授予与回收,资源限制项
表管理 创建表,五大约束(主键、非空、唯一、检查、外键)
导入数据 执行 SQL 脚本导入数据,注意提交与依赖顺序
视图创建 视图(多表连接、聚合、子查询)、物化视图
索引创建 普通索引、复合索引、唯一索引
逻辑备份 dexp 四种级别导出(库/用户/模式/表)
逻辑还原 dimp 导入,模式映射,表存在时的处理策略
存储过程/函数 创建存储过程或函数,涉及异常处理
ODBC/Python 接口 配置 ODBC 数据源、dmPython 连接

核心主线:

安装数据库管理系统 → 初始化实例(注意相关参数的设置)→ 管理实例(启停实例)→ 连接数据库(manager/disql)→ 表空间管理 → 用户、角色、资源限制项的创建、权限管理 → 表管理(创建表、表的五大约束)→ 导入数据 → 视图创建(复杂视图、物化视图)→ 索引创建 → 逻辑备份 → 逻辑还原 → 建存储过程/函数 → ODBC/Python 接口的配置

四、备考准备:提前搭建相似环境

4.1 培训期间会提供操作系统镜像和 DM8 安装包

我的建议是:

  • 提前配置与考试环境相似的环境,最好在培训开始前就搭好
  • 这样在培训时,可以跟随讲师的讲解同步操作,效果比光听好得多
  • 培训结束后,在考试前多次练习,把每个操作练到"肌肉记忆"

4.2 自己练习时需要准备的事项

平时自己练习时,需要自己创建 dmdba 用户、上传安装包、挂载,同时还需要给 dmdba 调用图形化的权限。

而正式考试时:

  • 进去后就是 dmdba 用户
  • 安装包已上传到规定目录
  • 图形化也不需要自己 xhost + 调用
  • 需要用到 root 操作时,则使用 sudo 命令实现

所以自己练习时,这些前提准备工作都要提前做好,这样才能把时间花在真正的操作练习上。

4.3 考试环境准备的核心命令

# 创建安装用户和分组(考试环境通常已预建 dmdba) groupadd dinstall useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba passwd dmdba # 创建安装目录并授权(关键!权限不足会导致安装失败) mkdir -p /dm8 chown dmdba:dinstall /dm8 chmod -R 755 /dm8 # root 下放行 X 访问 xhost + su - dmdba export DISPLAY=:0.0 # 具体值以 echo $DISPLAY 实际输出为准
# sudo 命令准备 sudo visudo #root ALL=(ALL) ALL 这一行下面添加 dmdba ALL=(ALL) ALL

五、初始化实例:参数

初始化数据库是考试的第一道题,也是其他题目实现的前提。

5.1 dminit 命令行初始化

cd /dm8/bin ./dminit PATH=/dm8/data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER \ PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=1024 \ CHARSET=1 CASE_SENSITIVE=Y SYSDBA_PWD=Dameng123 \ SYSAUDITOR_PWD=Dameng123

注意:

  1. 大小写敏感、页大小、簇大小、字符集确定后不可修改。考题要求什么就设什么,先看清题目再点"完成"。
  2. 单位换算:日志文件大小单位是 M,1024M=1G,2048M=2G,4096M=4G。
  3. 陷阱:有滑轮的选项处,鼠标不小心停留并滑动时,可能会将已选好的内容替换掉。

5.2 图形化初始化(dbca)

命令行方式初始化不会自动注册系统服务,图形化 dbca(./dbca.sh)默认自动注册,建议都练。
注意:图形化初始化时,日志部分,题目有时会要求日志文件大小设置,此时需要创建完成后,连接数据库后再进行修改,不要忘记这一步。

六、管理实例与连接数据库

6.1 服务方式启停(推荐,考试常用)

./DmServiceDMSERVER start ./DmServiceDMSERVER stop ./DmServiceDMSERVER status

启动后用 ps -ef | grep dmserver 确认进程存在,再用 disql 验证可连接。

6.2 命令行 disql

./disql SYSDBA/Dameng123:5236

注意:如果端口不是默认的 5236,必须显式写上端口号。

七、核心考点速查

7.1 表空间管理

-- 创建表空间 TBS,两个数据文件,各 32M,自动扩展每次 1M,上限 1G CREATE TABLESPACE "TBS" DATAFILE '/dm8/data/DAMENG/TBS01.DBF' SIZE 32 AUTOEXTEND ON NEXT 1 MAXSIZE 1024, '/dm8/data/DAMENG/TBS02.DBF' SIZE 32 AUTOEXTEND ON NEXT 1 MAXSIZE 1024 CACHE=NORMAL;

易错点:DM 数据文件最小不能低于页大小的 4096 倍(页大小 8K 时最小 32M),低于会创建报错。

7.2 用户、角色与资源限制

-- 创建用户 TEST01:密码 Dameng123,默认表空间 TBSTEST,最多失败登录 5 次 CREATE USER "TEST01" IDENTIFIED BY "Dameng123" DEFAULT TABLESPACE TBSTEST LIMIT FAILED_LOGIN_ATTEMPS 5; -- 创建角色并赋权(考试必考) CREATE ROLE DMROLE; GRANT CREATE TABLE TO DMROLE; GRANT CREATE INDEX TO DMROLE; GRANT CREATE VIEW TO DMROLE; GRANT DMROLE TO TEST01;

7.3 表管理(五大约束)

-- 部门表(主表) CREATE TABLE DEPT ( DEPTNO INT PRIMARY KEY, DNAME VARCHAR(20) NOT NULL, LOC VARCHAR(30) ); -- 员工表(从表):五大约束齐全 CREATE TABLE EMP ( EMPNO INT PRIMARY KEY, ENAME VARCHAR(20) NOT NULL, EMAIL VARCHAR(50) UNIQUE, SALARY NUMERIC(10,2) CHECK (SALARY BETWEEN 2000 AND 8000), DEPTNO INT, CONSTRAINT FK_EMP_DEPT FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO) );

7.4 视图与物化视图(最难的一环)

-- 复杂视图:多表连接 + 聚合 + 子查询过滤 CREATE OR REPLACE VIEW V_DEPT_SAL AS SELECT D.DEPTNO, D.DNAME, SUM(E.SALARY) AS TOTAL_SAL FROM DEPT D JOIN EMP E ON D.DEPTNO = E.DEPTNO GROUP BY D.DEPTNO, D.DNAME HAVING SUM(E.SALARY) > (SELECT AVG(SALARY) * 2 FROM EMP); -- ① 先建物化视图日志(快速刷新前提!高频失分点) CREATE MATERIALIZED VIEW LOG ON EMP WITH ROWID (EMPNO, ENAME, SALARY, DEPTNO) PURGE START WITH SYSDATE REPEAT INTERVAL '1' DAY; -- ② 创建物化视图(快速刷新 + 定时刷新计划) CREATE MATERIALIZED VIEW MV_EMP_SAL REFRESH FAST WITH ROWID START WITH SYSDATE NEXT SYSDATE + 1 AS SELECT EMPNO, ENAME, SALARY FROM EMP WHERE SALARY >= 5000;

考试技巧:先单独跑 SELECT 子句确认结果正确,再拼接 CREATE VIEW ... AS,避免视图创建失败反复调试。

高频失分点:物化视图增量刷新(fast)必须先建日志表,忘记建日志表或日志列不齐,刷新会失败。

7.5 逻辑备份与还原(dexp/dimp)

# 全库导出 ./dexp SYSDBA/Dameng123 file=/dm8/backup/full.dmp log=/dm8/backup/full.log full=y # 全库导入 ./dimp SYSDBA/Dameng123 file=/dm8/backup/full.dmp full=y # 模式映射(考试易错点) ./dimp SYSDBA/Dameng123 file=sche.dmp schemas='SRC' remap_schema=SRC:DST

7.6 存储过程与函数

考试时,存储过程和函数考其中之一,其中还会涉及异常处理。

CREATE OR REPLACE FUNCTION F_GET_SAL ( P_EMPNO INT, P_MONTH VARCHAR(6) ) RETURN NUMERIC(10,2) AS V_SAL NUMERIC(10,2); BEGIN IF P_EMPNO IS NULL OR P_MONTH IS NULL THEN RETURN -1; END IF; SELECT SALARY INTO V_SAL FROM EMP WHERE EMPNO = P_EMPNO; IF SQL%NOTFOUND THEN RETURN -1; END IF; RETURN V_SAL; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN -1; WHEN OTHERS THEN RETURN -1; END; /

7.7 ODBC 与 Python 接口(送分题)

# odbcinst.ini:注册驱动 [DM8ODBC] Description = DM ODBC DSN Driver = /dm8/bin/libdmdpi.so # odbc.ini:配置数据源 [DM8] Description = DM Database Driver = DM8ODBC SERVER = localhost UID = SYSDBA PWD = Dameng123 TCP_PORT = 5236
# Python 接口关键:配置环境变量 export PATH=$PATH:/dm8/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dm8/bin

八、核心建议

结合个人备考经验,我最想强调以下三点:

1. 提前搭建相似环境

培训期间会提供操作系统镜像和 DM8 安装包,建议提前配置与考试环境相似的环境,以便在培训时跟随讲解操作,同时可以在考试前多次练习。环境搭建得越早,练习时间越充裕,考试时越从容。

2. 提前熟悉题型和细节

考试题数较多,建议提前熟悉考试题型和操作流程。如果平时练习不够,考试时很容易手忙脚乱。同时注意各种细节——初始化参数、单位换算、环境变量、密码大小写等,这些往往是失分点。

3. 熟悉常见问题的解决方式

在实际考试时,可能会遇到各种问题,如果现场查询很可能会浪费时间,建议提前熟悉所有可能遇到的问题,从而遇事不慌。

九、总结

DCA 认证是一个强调动手能力的考试。它的考核重点不在于理论知识,而在于你是否能熟练、准确地完成一系列数据库管理操作。

通过考试的关键:

  1. 认真参加官方培训,利用好提供的镜像和安装包
  2. 每道实训题至少操作 2-3 遍
  3. 熟练使用图形化工具,同时掌握命令行兜底能力
  4. 注意细节和规范,避免低级错误
  5. 合理分配考试时间,提前熟悉题型
  6. 操作手册上的常见问题覆盖面很全,且都有可能遇见,为了提升做题速度,建议提前练习并掌握。
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服