资讯动态

达梦DCA考试题库解析:安装、连接与SQL避坑指南

发布时间:2026/10/3 5:56:03 来源:尧图企业网站定制
简介这份达梦DCA考试题库文档面向准备达梦数据库认证考试的学习者与数据库运维初学者聚焦DM数据库基础知识与系统管理两大模块帮助读者梳理考点、检验掌握程度。文档以选择题形式覆盖达梦数据库的内存构造、线程构造、存储构造与物理构造并延伸至日志管理、数据文件、SYSTEM数据库、段簇页关系等核心概念第二章则围绕数据库管理员职责、DM管理工具与ISQL、安装卸载流程及主备集群方案展开。资源包共1个doc文件约318KB内容紧凑、题量集中适合打印或电子化刷题。目前已有97人学习浏览可作为考前自测与知识点查漏补缺的练习材料配合官方文档使用效果更佳。1. 达梦 DCA 题库到底在考什么从一份 doc 说开去很多人第一次搜「DCA考试题库.doc」心里想的其实不是题库本身而是「达梦这个认证值不值得考、考什么、我能不能靠刷题过」。DCA 是达梦数据库的基础认证全称是 Dameng Certified Associate定位是「能装、能连、能建库、能写基本 SQL、能看懂报错」。它不考高可用架构也不考性能调优考的是你面对一台干净的 Linux 机器能不能把达梦数据库装起来、把实例跑起来、用工具连上去、把增删改查写对。所以这份题库文档真正的价值不是背答案而是它暴露了达梦这套体系里最容易翻车的几个环节安装前的内核参数、实例初始化、模式schema概念、以及客户端连接时的驱动和字符集问题。适合谁看适合刚接触国产数据库、被要求「先考个证」的运维和开发也适合已经在用 MySQL 或 Oracle、想快速迁移到达梦的从业者。下面我不讲虚的直接按「装、连、查、排」四条线把题库背后对应的真实操作拆开。2. 达梦数据库安装与实例初始化题库第一类题背后的真实操作2.1 安装前必须确认的三件事用户、目录、内核参数达梦官方推荐用独立用户安装不要用 root 直接跑。常见做法是建一个dmdba用户把安装目录和数据目录分开。题库里经常出现「安装失败」的选项真实原因八成是这三件事没做第一dmdba用户对安装目录没有写权限第二/tmp空间不足安装程序解压临时文件会失败第三Linux 的ulimit和内核参数没调导致实例启动时共享内存申请不到。先建用户和目录# 创建安装用户组和用户 groupadd dinstall useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba passwd dmdba # 创建安装目录和数据目录注意属主 mkdir -p /dm8 mkdir -p /dm8/data chown -R dmdba:dinstall /dm8 chmod -R 755 /dm8逻辑说明dmdba是达梦默认的安装用户/dm8是安装根目录/dm8/data放实例数据文件。参数上目录权限必须是dmdba可写否则安装到一半会报「无法写入」。chmod 755是给目录执行权限不要图省事给 777达梦安装程序会检查权限过松并拒绝。接着调内核参数编辑/etc/sysctl.conf# 达梦对共享内存和信号量有要求 kernel.shmmax 68719476736 kernel.shmall 4294967296 fs.file-max 6815744执行sysctl -p生效。再改dmdba用户的资源限制编辑/etc/security/limits.confdmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft nproc 65536 dmdba hard nproc 65536逻辑说明shmmax是单个共享内存段最大值达梦实例启动时会申请一大块共享内存设小了直接报「创建共享内存失败」。nofile是打开文件数数据库并发连接一多文件描述符不够就会拒绝新连接。这些参数在题库里通常以「安装前准备」的选择题出现但真实考试环境是给你一台机器让你自己改。2.2 用命令行静默安装比图形界面更接近考试环境达梦安装包解压后有个DMInstall.bin图形界面需要 X11 转发考试环境往往没有。我一般直接用静默安装生成一个auto_install.xml模板再改。先解压# 切换到 dmdba 用户 su - dmdba # 挂载或解压 ISO mkdir -p /home/dmdba/dm_iso mount -o loop /path/to/dm8_20230808_x86_rh7_64.iso /home/dmdba/dm_iso cd /home/dmdba/dm_iso ./DMInstall.bin -i-i是交互式命令行安装会依次问安装语言、时区、安装类型、安装路径。安装类型选「典型」路径填/dm8。安装完成后用 root 执行脚本注册服务# 安装完成后会提示用 root 执行 /dm8/script/root/dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /dm8/data/DAMENG/dm.ini逻辑说明-t dmserver指定服务类型是数据库实例-p DMSERVER是服务名后缀-dm_ini指向实例配置文件。这一步做完systemctl start DmServiceDMSERVER就能起库。参数上dm.ini里的PORT_NUM默认是 5236如果被占用要改INSTANCE_NAME默认是DMSERVER多实例时不能重复。2.3 初始化实例dminit 的五个关键参数安装完只是有了软件还没有数据库实例。用dminit初始化cd /dm8/bin ./dminit PATH/dm8/data DB_NAMEDAMENG INSTANCE_NAMEDMSERVER PORT_NUM5236 PAGE_SIZE16 CHARSET1逻辑说明PATH是数据文件存放路径DB_NAME是数据库名INSTANCE_NAME是实例名PORT_NUM是监听端口PAGE_SIZE是页大小CHARSET是字符集。参数上PAGE_SIZE可选 4、8、16、32一旦初始化就不能改题库里常考「页大小在什么时候确定」——答案是建库时。CHARSET1代表 UTF-80是 GB18030。如果后面要存中文且客户端是 UTF-8这里必须选 1否则会出现乱码这也是 Navicat 连接达梦时中文显示问号的根因之一。初始化完成后启动服务systemctl start DmServiceDMSERVER # 检查端口 netstat -tlnp | grep 5236看到 5236 监听说明实例起来了。这一步在题库里对应「实例启动失败排查」常见原因是dm.ini路径不对或端口被占。3. 连接达梦Navicat、DBeaver、IDEA 的驱动配置与踩坑3.1 Navicat 连接达梦驱动版本和字符集是两大拦路虎Navicat 本身不内置达梦驱动需要手动加。常见做法是下载达梦的 JDBC 驱动DmJdbcDriver18.jar在 Navicat 的「工具」→「选项」→「环境」里指定驱动路径然后新建连接时选「达梦」。但很多人卡在报错[HY000] 用户名或密码错误 (-2501)这个报错在热词里出现频率极高真实原因往往不是密码错而是驱动版本和数据库版本不匹配或者连接串里没带 schema。连接配置里几个关键项配置项推荐值说明主机数据库 IP不要用 localhost除非本机端口5236默认端口改了要同步用户名SYSDBA初始化时的默认管理员密码初始化时设的大小写敏感驱动DmJdbcDriver18.jar对应 JDK 1.8URLjdbc:dm://IP:5236可加 ?schemaSYSDBA逻辑说明-2501这个错误码在达梦里是「用户名或密码错误」但驱动不匹配时也会抛这个。判断方法用disql命令行先连一次如果命令行能连、Navicat 不能就是驱动问题。disql用法cd /dm8/bin ./disql SYSDBA/SYSDBAlocalhost:5236能进 SQL 提示符就说明库和账号没问题。参数上SYSDBA是默认用户密码在dminit时如果没指定默认是SYSDBA但生产环境必须改。3.2 DBeaver 和 IDEA 连接达梦URL 写法和驱动加载DBeaver 连达梦新建连接选「Generic JDBC」驱动类填dm.jdbc.driver.DmDriverURL 填jdbc:dm://IP:5236。IDEA 里连达梦在 Database 面板加驱动同样指定DmJdbcDriver18.jar。热词里「idea怎么连接达梦数据库」问的就是这个。// Java 代码里加载达梦驱动 Class.forName(dm.jdbc.driver.DmDriver); String url jdbc:dm://192.168.1.100:5236?schemaSYSDBA; Connection conn DriverManager.getConnection(url, SYSDBA, SYSDBA);逻辑说明Class.forName加载驱动类url里的schema参数指定默认模式不指定的话默认是登录用户的同名模式。参数上达梦的 schema 和用户是绑定的建用户时会自动建同名 schema这点和 Oracle 类似和 MySQL 的「库」概念不同。很多人从 MySQL 迁过来习惯写use dbname在达梦里要写SET SCHEMA 模式名。3.3 模式schema错误达梦和 MySQL 最大的概念差异热词里「达梦数据库 模式错误」是高频问题。达梦的逻辑结构是「数据库 → 实例 → 模式 → 表」模式是表的集合属于某个用户。你建了一个用户TEST就自动有一个TEST模式。查询表时必须带模式名或者先SET SCHEMA。-- 查看当前模式 SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID()); -- 切换模式 SET SCHEMA TEST; -- 跨模式查询 SELECT * FROM TEST.EMPLOYEE;逻辑说明SF_GET_SCHEMA_NAME_BY_ID是达梦的内置函数CURRENT_SCHID()返回当前模式 ID。参数上如果查询报「表或视图不存在」先确认模式对不对再看表名大小写。达梦默认大小写敏感建表时如果没加引号表名会转成大写查询时用小写就找不到。4. 达梦 SQL 语法与增删改查从 MySQL 迁移过来的四个注意点4.1 建表和数据类型VARCHAR 和 VARCHAR2 的区别达梦支持VARCHAR和VARCHAR2两者在达梦里基本等价但VARCHAR2是 Oracle 兼容写法。从 MySQL 迁过来TEXT类型要改成CLOBDATETIME要改成TIMESTAMP或DATE。-- 达梦建表 CREATE TABLE EMPLOYEE ( ID INT PRIMARY KEY, NAME VARCHAR2(50) NOT NULL, HIRE_DATE DATE, SALARY DECIMAL(10,2), REMARK CLOB ); -- 插入 INSERT INTO EMPLOYEE (ID, NAME, HIRE_DATE, SALARY) VALUES (1, 张三, SYSDATE, 8000.00); -- 查询 SELECT ID, NAME, SALARY FROM EMPLOYEE WHERE SALARY 5000; -- 更新 UPDATE EMPLOYEE SET SALARY SALARY 1000 WHERE ID 1; -- 删除 DELETE FROM EMPLOYEE WHERE ID 1;逻辑说明SYSDATE是达梦的当前日期函数和 Oracle 一样。DECIMAL(10,2)表示总共 10 位、小数 2 位。参数上VARCHAR2(50)的 50 是字节还是字符取决于LENGTH_IN_CHAR参数默认是字节存中文时一个汉字占 3 字节UTF-8所以 50 字节只能存 16 个汉字。如果业务需要按字符算建库时设LENGTH_IN_CHAR1。4.2 分页查询LIMIT 在达梦里的写法MySQL 用LIMIT达梦用LIMIT也支持但更标准的是ROWNUM或TOP。题库里常考分页语法。-- 方式一LIMIT达梦兼容 SELECT * FROM EMPLOYEE ORDER BY ID LIMIT 10 OFFSET 20; -- 方式二ROWNUM SELECT * FROM ( SELECT ROWNUM RN, E.* FROM EMPLOYEE E WHERE ROWNUM 30 ) WHERE RN 20;逻辑说明LIMIT 10 OFFSET 20表示跳过 20 条取 10 条。ROWNUM方式要注意子查询里ROWNUM 30先执行外层再过滤RN 20这是 Oracle 经典分页写法。参数上OFFSET从 0 开始LIMIT是条数。4.3 常用管理工具和驱动下载热词里「达梦数据库管理工具下载」「达梦数据库驱动下载」问的是工具链。达梦自带disql命令行、DM管理工具图形化类似 PL/SQL Developer、DM性能监视工具。驱动在安装目录的drivers/jdbc下不用单独下载。如果要用 Navicat 或 DBeaver直接从这个目录拷DmJdbcDriver18.jar。# 查找驱动 find /dm8 -name DmJdbcDriver*.jar # 通常路径 /dm8/drivers/jdbc/DmJdbcDriver18.jar逻辑说明DmJdbcDriver18对应 JDK 1.8DmJdbcDriver17对应 JDK 1.7选错会报UnsupportedClassVersionError。参数上如果项目用 JDK 11用 18 的驱动也能跑但建议用对应版本。5. 避坑与排查DCA 考试和实际运维中最容易翻车的五件事5.1 现象安装时报「临时目录空间不足」 → 原因/tmp 太小 → 解决指定临时目录达梦安装程序默认用/tmp解压如果/tmp只有几百兆直接失败。解决方法是设置环境变量DM_INSTALL_TMPDIR指向大空间目录export DM_INSTALL_TMPDIR/home/dmdba/tmp mkdir -p /home/dmdba/tmp ./DMInstall.bin -i逻辑说明这个变量在安装前设置安装程序会用它作为临时目录。参数上临时目录至少留 2GB。5.2 现象Navicat 连接报[HY000] 用户名或密码错误 (-2501)→ 原因驱动不匹配或 URL 缺 schema → 解决换驱动、加 schema先用disql验证账号能连就是驱动问题。换DmJdbcDriver18.jarURL 写成jdbc:dm://IP:5236?schemaSYSDBA。如果还是不行检查数据库版本和驱动版本达梦 8 的驱动不能连达梦 7。5.3 现象查询中文显示乱码 → 原因建库字符集和客户端不一致 → 解决统一 UTF-8建库时CHARSET1UTF-8客户端连接串加?charsetUTF-8。如果库已经建好且是 GB18030客户端也要用 GB18030不能一边 UTF-8 一边 GB18030。达梦的字符集在dm.ini里看CHARSET参数。5.4 现象实例启动失败日志报「共享内存创建失败」 → 原因内核 shmmax 太小 → 解决调大 shmmax编辑/etc/sysctl.conf把kernel.shmmax调到 6871947673664GBkernel.shmall调到 4294967296执行sysctl -p。然后重启实例。如果还不行检查/dev/shm大小df -h /dev/shm太小也要调。5.5 现象SQL 报「表或视图不存在」 → 原因模式不对或表名大小写 → 解决SET SCHEMA 或加引号先SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID());看当前模式再SET SCHEMA 正确模式;。如果表名建的时候是小写加引号查询也要加引号否则达梦会转大写找不到。6. 用 DCA 题库反推学习路径一个可复用的备考与实操方法题库不是用来背的是用来定位知识盲区的。我的习惯是先拿一套题做一遍把错题按「安装、连接、SQL、管理」四类归档然后针对每一类去真实环境里操作一遍。比如错题问「dminit 的 PAGE_SIZE 什么时候能改」你就去建一个库试着改dm.ini里的PAGE_SIZE会发现改完起不来因为页大小在数据文件里写死了。这种「错题 → 实操 → 验证」的循环比刷十遍题都管用。具体操作上我一般用 Docker 快速起一个达梦环境来练手避免污染本机# 拉取达梦镜像如果有现成镜像 docker run -d --name dm8-test -p 5236:5236 \ -e SYSDBA_PWDSYSDBA123 \ -v /data/dm8:/opt/dmdbms/data \ dm8:latest逻辑说明-e SYSDBA_PWD设置管理员密码-v把数据目录挂出来容器删了数据还在。参数上端口映射要一致5236:5236前面是宿主机后面是容器。如果镜像里没有达梦就用安装包自己做一个Dockerfile 里把静默安装脚本跑一遍。验证方法连上去执行SELECT * FROM V$VERSION;看版本执行SELECT * FROM DBA_USERS;看用户执行CREATE TABLE和INSERT看增删改查。如果这些都能跑通DCA 考试里的实操部分基本没问题。最后说个我自己的教训早年考 DCA 时我花了两天背题库结果上机考到「用 dminit 建库并指定字符集」我因为没实际敲过命令参数顺序写错直接卡住。后来我改成每道题都在虚拟机里敲一遍连报错都故意触发几次反而记得牢。达梦这套东西坑都在细节里题库只是地图路得自己走。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑