注册
DCA培训以及考试心得
培训园地/ 文章详情 /

DCA培训以及考试心得

对。 2026/07/20 48 0 0

一、DCA培训以及考试范围

  DCA培训可以选择视频培训或者视频直播授课,我选择了在线直播线上培训,直播授课是3天,讲师讲的讲义内容和考试范围基本差不多,我是培训完成后就报名参加7天后的考试了。

【DCA】考试范围和考点:

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

二、我的复习节奏

我把整个备考分成了三个阶段,最后那个阶段我觉得是真有救的:

阶段 1:看讲义(0.5 天)。纯看,不敲,标记"我好像懂"和"我完全懵"两类。后者用红笔,前者用铅笔。

阶段 2:红笔部分集中练(1.5 天)。每个懵的点单独开一个 VM 快照,反复练到不报错为止。

阶段 3:全真模拟(2 天)。严格按照考试时间,所有题目一气做完。中间不停、不查手机、不上小蓝鸟(划掉)。
我个人最有效的不是看了多少讲义,而是第二阶段。

当时我列了一个"红笔清单",考前两天基本只练这些:

  1. 安装的权限/目录/图形化那一堆破事;
  2. 创建表空间以及对应的配置;
  3. 创建表的五大约束;
  4. 视图的SQL练习;
  5. 物化视图的刷新方式;
  6. 触发器行级/语句级 + :NEW/:OLD;
  7. dexp/dimp 的级别和字符集;
  8. ODBC/python接口安装时候报错处理;

这 8 个点练不熟,考场大概率翻车。 别的顺一遍就行。

三、逐章吐槽时间

1. 安装

  讲义说:"以 dmdba 用户运行安装程序"。我心想,这不有手就行?然后以 root 跑完,服务起不来,日志里 permission denied 一片红。当时的我:chown -R dmdba:dinstall /data 一下不就行了?

  行,但是 chown 之后,redo log 文件权限可能还是不对(因为我之前用 root touch 过)。最干净的做法:从建目录开始就 dmdba 干,root 只负责建 /data 这一个空目录,后面全交给 dmdba。 别偷这个懒。

image.png

  图形化安装又是另一个段子。VM 里 ./DMInstall.bin 报 Cannot connect to X server?你大概率是没配 DISPLAY。这事讲义是写了的,但讲义写的像操作手册,没人会当回事——直到你真的卡住。

image.png

  宿主机执行 xhost +、VM 里 export DISPLAY=:0.0、xdpyinfo 验证下,这三个动作缺一不可。我当时就是因为少 xdpyinfo 验证,搞了半小时才意识到 DISPLAY 没生效。

  不过考试过程不需要太担心,考试默认提供dmdba用户操作,已经默认配置好了环境变量DISPLAY,不过生产中没有与配置了,需要自己踩坑排错。

2. 初始化——这一步决定你后面 80% 的痛苦

  页大小、簇大小、字符集、大小写敏感、数据库名。

  这几个参数一旦点"下一步",改的代价等于推倒重来。考场上不要相信自己的眼睛,题目里写了啥就填啥,别自作主张"反正题目没说,我就用默认"。题目里没说 = 用默认,但你得先确认默认是啥。

image.png

3.表空间创建与模式对象

  有一个考点,讲义会轻飘飘带过:表空间创建时到底要不要自动扩展。 也就是 AUTOEXTEND ON/OFF 这个开关。

  题目如果明说"创建表空间 XXX,初始 128M,允许自动扩展,每次扩展 64M,最大 2G",你就老老实实写:

CREATE TABLESPACE TBS_TEST DATAFILE '/dm8/data/xxx/TBS_TEST.DBF' SIZE 128 AUTOEXTEND ON NEXT 64 MAXSIZE 2048;

坑:题目如果没提自动扩展,默认就是 OFF,但达梦这边有版本差异——有的版本默认是 ON,所以我的建议:题目没提就显式写 OFF,别赌默认。

普通视图没难度,CREATE VIEW + 子查询,10 秒钟的事。

物化视图才是真考点,而且年年都考。 两个最容易栽的地方:

 ① 刷新方式:ON DEMAND vs ON COMMIT vs ON STATEMENT。考试 90% 让你写 ON COMMIT,但这种视图必须基于有主键的表,而且会拖慢提交。

 ② 手动刷新:DBMS_MVIEW.REFRESH('MV_NAME', 'C'); —— C=complete(全量),F=fast(增量),?=force(系统自己挑)。

image.png

注意题目要求"每分钟刷新一次",结果直接用 ON COMMIT,主表数据改了视图不动,被扣了分。物化视图刷新策略,题面没明说就写 ON COMMIT + 手动 refresh 兜底,千万别赌。

索引这块,值得记的反而是函数索引:

CREATE INDEX idx_upper_name ON TEST(UPPER(NAME)); SELECT * FROM TEST WHERE UPPER(NAME) = 'A'; -- 走索引 SELECT * FROM TEST WHERE NAME = 'a'; -- 不走!

不写 UPPER() 就走不到,函数索引就是这么死板。

4.逻辑备份还原——dexp/dimp 的级别就是"哪个圈套住哪个"

讲义列了一堆参数,我背了三遍都记混,后来想了个办法——把它理解成"圈"。

  • FULL=Y 整个库都圈
  • OWNER=xxx 某个用户下面的所有东西
  • SCHEMAS=xxx 某个模式下的所有东西
  • TABLES=xxx 某几张表

image.png

考试过程,如果不记得命令,可以尽量使用图形化操作
特别注意:
考试时候可能会让你指定使用对应的dmp文件存放路径以及dmp文件名;
如果们没有对应的路径,需要使用用户mkdir创建

跨用户/跨表空间导入是另一个高频翻车点:

  • 目标用户要 CREATE USER + GRANT RESOURCE
  • 表空间不一样,用 REMAP_TABLESPACE='OLD_TBS:NEW_TBS'
  • 字符集不一致报 -6606 错,先查 V$DM_INI 的 CHARSET

image.png
  字符集不一致这个坑真的是"装X 失败现场"——你一通操作猛如虎,最后发现 dmp 文件里的 GB18030 字符塞不进 UTF-8 库。

5.接口配置--dmPython

  考试内容是dmPython的接口配置,dmPython 简单,会装会用就行;
  默认的路径在数据库安装路径下的drivers/python/dmPython下有setup.py文件

$ python3 setup.py install

  接口配置经常因为环境变量出现执行失败,尽量实验时候多做几次,把报错以及解决办法都过几遍;
  比如我考试时候就出现一样报错了。
image.png
  错误原因:
    这是 DPI 环境问题,因为 dmPython 的运行需要使用 dpi 动态库,需要将 dpi 所在目录(通常是数据库安装目录的 bin 目录)加入系统的环境变量。

  解决方法:设置 PATH 包含 dpi 驱动。如下:

[root@localhost ~]# export PATH=$PATH:/dm/dmdbms/bin

  调用的模板脚本,在考试时候会说明具体路径,你可cd 到对应路径修改好需要的参数,即可测试链接数据库;

四、考试现场生存指南

不管你练得多熟,考场上一定会有"题目环境和你练的不一样"的情况。我的几个习惯救过我:

1.第一题花 5 分钟通读所有题,会做的先做,不会的标"回头做"。简单题拿稳了,难的才有底气慢慢想。
2.每步操作后立刻 SELECT 验证。建表后 DESC,赋权后用新用户连一下。别等全做完才发现第一步是错的。
3.端口号、用户名、密码,题目给啥用啥。别想当然用 5236 和 SYSDBA/SYSDBA,考题里这些参数经常被换。
4.dexp/dimp 出错先看字符集,再看表空间,最后看用户权限。按这个顺序排,80% 的报错你能找到根因。
5.不要和某道题死磕 10 分钟。跳过,回头再做,可能前面做完的某个操作解锁了一个你没想到的依赖。

  最后一条是真的——我那次考场上第二题卡了 15 分钟,跳过去做完第三题再回来,5 分钟就解决了。有时候前面建的用户/表空间,就是后面题目的前置条件,你自己都没意识到。

五、写在最后

  DCA 这个考试,说难不难,但它真的不是"看完讲义就能过"的那种。它考的是手速 + 熟练度 + 出错时能快速定位的综合能力。
  考场上别慌,别贪,别在某个报错上原地爆炸。慌了做的决定,八成是错的;贪了想全做完,八成是漏的。

  加油,考完请自己吃顿好的!

附:考前参考SQL

# 切换到 dmdba 用户 su - dmdba # 创建备份目录 mkdir -p /dm/backup/dexp # 执行导出 dexp USERID=SYSDBA/SYSDBA FILE=/dm/backup/dexp/dmhr.dmp LOG=/dm/backup/dexp/dmhr.log SCHEMAS=DMHR -- 创建用户 CREATE USER DMHREXP IDENTIFIED BY Dameng123; -- 授予角色权限 GRANT RESOURCE, PUBLIC, SOI, VTI TO DMHREXP; dimp USERID=SYSDBA/SYSDBA FILE=/dm/backup/dexp/dmhr.dmp LOG=/dm/backup/dexp/dmhr_imp.log FROMUSER=DMHR TOUSER=DMHREXP
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服