ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

达梦数据库DCA备考指南:三大结构、权限与触发器核心考点解析

达梦数据库DCA备考指南:三大结构、权限与触发器核心考点解析 简介达梦DCA考试题库是面向达梦数据库管理员认证考生的知识点汇总文档以问答形式系统梳理达梦数据库的架构与核心机制涵盖三大结构内存结构、线程结构、存储结构、内存缓冲区分类、日志缓冲区作用、共享内存池功能、用户线程与服务器线程的启动机制、监听线程职责、基本文件组成以及数据库-文件组-数据文件的关系、SYSTEM数据库特性、段簇页物理组织等高频考点也包含安装、卸载及DM集群等进阶内容。题库中既有单选题也有多选题每题附解析适合系统备考、自测和考前冲刺。资源包内为单个doc文档大小约318KB内容精炼、便于打印或离线学习。目前已有443人学习查看覆盖知识点全面重点突出可帮助考生快速定位薄弱环节、强化记忆提升DCA认证通过率。1. 一份 dca 题库拆出的备考主线DCA 考的不只是背题拿到这份达梦 DCA 题库文档我第一反应是翻它的题目分布。前后十几页从三大结构到触发器覆盖的全是达梦数据库管理员日常绕不开的硬知识点。DCA 认证不像刷几道题就能蒙过去它考察的是你对达梦体系有没有建立正确的心理模型——哪些结构在什么时机启动、哪类文件属于基本文件、哪类对象权限能级联撤销这些判断题的陷阱都藏在细节里。这份 dca 题库把考点按章节铺开适合两类人一类是刚接触达梦、想用最短时间建立知识框架的新手另一类是要考 DCA 证书、需要在考前把易错点再过一遍的从业者。我拆完这份题库后把章节重新梳理成了「先立结构、再走流程、最后踩坑」的路径。2. 三大结构考点拆解内存、线程、存储的三十个判断陷阱2.1 内存结构为什么共享内存池和日志缓冲区总被放在一起考题库第一章前几道题反复在问 DM 内存结构包含哪三部分。正确答案是数据缓冲区、日志缓冲区、共享内存池。注意题干问的是「三个部分」不是「三个缓冲」。块缓冲区在这个语境下不是独立一部分它属于存储结构那一侧的描述词汇这个区分很多人第一遍就错了。数据缓冲区负责缓存数据块降低物理 I/O 次数日志缓冲区是存放重做日志的内存缓冲区事务提交时先把 redo 写到这里再由后台刷到磁盘共享内存池解决的是 DM Server 对小片内存的申请与释放问题。我一般建议这样记数据缓冲区管「读和写的数据块」日志缓冲区管「崩溃恢复要用的 redo」共享内存池管「小对象的内存分配」。三者职责不同但考题喜欢混在一起让你挑。2.2 线程结构启动时机是高频陷阱线程结构里的四个成员——用户线程、日志线程、服务器线程、后台线程——本身不难记难的是启动时机。用户线程在用户请求连接到服务器时才启动不是实例启动时启动。服务器线程在启动 DM 实例时启动同时系统会创建一组后台进程。这个「谁在什么时候起来」的区别考试里出现频率非常高。监听线程的作用是监听用户连接请求在客户端与服务器之间建立连接。判断题目里如果出现「监听系统故障并发出警报」这种选项直接排除。另外检查点线程不属于服务器线程它是后台线程体系里的这个分类边界建议单独标红。我的经验是把线程分类画成两列一列跟「连接」相关用户线程和监听线程另一列跟「实例」相关服务器线程和后台线程这样逻辑上就不会混。2.3 存储结构逻辑与物理的界限要划清存储结构这部分的题目集中在文件、文件组、数据文件、段、簇、页这些概念上。物理数据库结构包括文件组和数据文件而段、簇、页属于逻辑存储结构。这里有个容易翻车的点簇是磁盘块的集合不是数据页的集合。页才是数据的基本单位多个页组成簇簇组成段段可以跨越多个物理文件。文件组的价值在于把具有相同特征的文件组织在一起作为数据库物理设计时的指派对象。一个数据库包含多个文件组一个文件组包含一个或多个数据文件一个数据文件仅属于一个数据库。这三层关系建议当口诀背。文件组创建后系统会默认增加一个数据文件可以修改文件名和路径但不要指望能随意删除或改名后面的题目里专门有一道在考这个。还有一个重点SYSTEM 库是创建数据库时自动生成的必须存在且不能脱机。它承载核心功能记录全局系统信息。「可以脱机存在」是错误选项我看到不少人在这个选项上被扣分原因还是逻辑结构没建立起来——你把 SYSTEM 库当成普通业务库去理解了。维度内存结构线程结构存储结构成员数据缓冲区、日志缓冲区、共享内存池用户线程、日志线程、服务器线程、后台线程文件组、数据文件、段、簇、页启动时机实例启动时初始化用户线程跟随连接服务器线程跟随实例创建数据库时建立考点重灾区块缓冲区是否属于内存三部分检查点线程是否属于服务器线程簇是不是数据页的集合3. 装上再卸掉一次Linux 下达梦安装与服务的完整操作链3.1 安装前检查哪些条件不满足会白忙一场题库里关于运行环境的题目核心是「内存 256M 以下即可」这个错误选项。达梦对系统盘要求至少 500M 剩余空间硬盘 5G 以上可用网络协议走 TCP/IP内存反而是越高越好。256M 以下能跑起来属于极限情况具备 DCA 考试要求的环境不至于这么紧张。我的做法是安装前先跑一遍环境检查确认磁盘和网络不要跳步。# 检查磁盘空间和内存 df -h /tmp free -m # 确认网络和主机名解析 ping -c 3 $(hostname)逻辑说明df 看的是根分区和临时目录的剩余空间安装程序运行时需要解压临时文件free 看可用内存物理内存太小会在后续启动实例时直接报错。ping 本机主机名是为了验证 TCP/IP 协议栈和 hosts 解析正常很多安装失败的根因是主机名无法解析导致监听地址绑定失败。3.2 卸载旧版本与静默安装的常见做法题库明确要求若系统中有不同版本的 DM 产品先卸载再装。这一点务必遵守不同版本的控制文件格式不兼容混装会导致新实例无法启动。安装前还需要了解安装需求和应用需求以此选择安装方式典型场景是测试环境用典型安装生产环境做自定义安装。# 进入安装介质目录后执行图形化安装 ./DMInstall.bin # 如果远程 SSH 没有图形界面加 -i 走字符安装模式 ./DMInstall.bin -i # 安装完成后查看安装目录结构 ls /dmdbms/bin | head -50参数说明-i是字符安装模式适合没有 X11 转发的服务器DMInstall.bin是安装主程序执行前建议赋执行权限。安装过程会出现语言选择、时区确认、安装类型、安装路径这几个环节字符模式下用键盘方向键和回车确认。装完之后检查/dmdbms/bin下是否生成dmserver、disql、Manager这些可执行文件这是判断安装是否完整的快速手段。3.3 服务启停菜单、服务、命令行三条路达梦服务启动方式题库给出了菜单方式、Windows 服务方式、手动方式、命令行方式四种。Linux 下最常用的是/etc/rc.d/init.d/dmserverd脚本Windows 下可以去服务管理器里面操作。# Linux 服务方式启动与停止 cd /etc/rc.d/init.d ./dmserverd start ./dmserverd stop # 直接在前台跑数据库服务器进程适合临时调试 cd /dmdbms/bin ./dmserver # 在 dmserver 界面里输入 exit 再回车优雅退出 exit逻辑说明dmserverd是包装好的服务脚本start 参数会后台拉起dmserver进程并生成 pid 文件直接执行./dmserver是在前台运行日志直接打到终端方便观察启动期的报错信息。用服务方式跑重启系统后能自动拉起临时调试时用前台方式更直观。注意别在前台模式下直接关终端那样会发 SIGHUP 给进程数据库可能异常中断。3.4 iSQL 登录端口和口令格式别搞错iSQL 是达梦自带的命令行客户端Windows 下是Isql.exeLinux 下是./isql。考试里问登录步骤核心是三步进入 bin 目录、执行./isql、输入服务器名、用户名和密码。Linux 终端下可以直接用连接串一条命令完成。# 登录本机实例端口默认 5236 ./isql SYSDBA/SYSDBAlocalhost:5236 # 登录成功后执行一条查询验证连通性 SELECT * FROM v$instance; # 退出 exit参数说明格式是用户名/密码服务器:端口SYSDBA 是系统管理员账号默认口令常见为 SYSDBA如果连接串不带端口达梦默认走 5236。首次登录成功后建议立刻查一把v$instance视图能查到实例名和状态就说明数据库服务正常。登不上的话先确认 dmserver 是否在跑这个问题在后面的避坑章里还会再提。4. 存储结构打通文件组、段簇页与日志体系的对应关系4.1 三类文件组数据、回滚、重做没有日志文件组题库第四章第一题直接问达梦数据库基本结构中包含哪三类文件组正确答案是数据文件组、回滚文件组、重做文件组。「日志文件组」是凑出来的干扰项很多人看到日志相关就选了实际达梦的体系里重做日志就走重做文件组不再单独建一个日志文件组。数据文件组可显式设置用来组织数据文件、索引、分区回滚文件组隐式设置可以新增回滚文件或增加容量重做文件组也是隐式的存放联机重做日志。注意题库原文说「重做文件组在数据库中是显示设置的」这里其实是笔误逻辑上应该跟回滚文件组一样是隐式的。判断时按「数据显式、回滚隐式、重做隐式」来记。4.2 段、簇、页三层递进关系与常见误用存储结构这组概念关键是理清「谁包含谁」。页是最小存储单位也是 I/O 的基本单位、B 树的一个节点簇由多个页组成是磁盘块的集合代表连续的存储空间段是簇的集合可以跨越多个物理文件文件是数据的最终存储形态。题库里说「簇是数据页的集合」是错的正确的是「簇是磁盘块的集合」。数据文件的物理结构也要顺着这个思路数据文件是数据最终存储的地方由多个簇组成簇是数据文件中的连续分配空间由固定数量的页组成每个数据库至少有一个数据文件。还有一处容易踩坑数据文件的大小不能随意更改增加数据文件也有约束题库原文说「可以任意更改现有数据文件的大小」是错误表述。-- 查看表空间和段的信息 SELECT TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 AS SIZE_MB FROM DBA_DATA_FILES; -- 查询缓冲区使用情况 SELECT * FROM V$BUFFER;逻辑说明第一条 SQL 查数据文件的路径和大小能直观看到表空间对应哪些物理文件适合在管理工具里核对文件组和文件的归属关系第二条查看数据缓冲区的使用情况对应题库里的性能视图考点。4.3 日志与回滚恢复机制要靠两个日志配合联机重做日志是系统当前正在使用的日志文件存储用户对数据库的事务操作归档重做日志用于将系统恢复至故障发生的前一刻。日志文件写满后不会「立即清空再重新写入」而是触发归档或切换这是判断原文里「当日志文件写满时系统会立即将其清空」的错误点。回滚日志用于事务回滚和 MVCC它作为单独的数据文件存储在磁盘上数据库创建时会自动生成一个。需要特别注意回滚日志文件不是可以随意增大的增加大小受到表空间和磁盘的约束。题库里「可以任意增加原有的回滚日志文件大小」是错误选项这个「任意」用词是判断的关键信号。另外备份文件不属于基本文件属于附加文件配置文件、预警日志文件、归档日志文件也都在附加文件之列。4.4 物理与逻辑的边界在 Console 里能看见什么控制台工具 Console 可以查看数据库中的簇和页大小这句话是题库里少数直接给出工具对应关系的考点。数据库、文件组属于物理结构层面段、簇、页这种存储分配单位属于逻辑结构层面。日常用 Manager 管理工具建库、建表、建用户用 Console 做参数配置和服务启停这个工具分工建议在备考时就固定下来。5. 用户、权限与模式对象五个高频翻车现场与排查记录5.1 登录、用户与模式的三层关系登录、用户、模式是达梦安全体系里最容易绕晕的一组概念。一个登录只能对应一个数据库中的某个用户单个数据库中最多只能有一个用户与某一登录对应一个用户可以创建多个模式一个模式中的对象可以被多个用户使用。用户与模式的关系是系统为用户自动建立一个同名模式用户还可以用模式定义语句建立其他模式。模式不能嵌套但可以理解为操作系统里的目录层级。权限这块要分清两类SELECT、UPDATE、INSERT、DELETE、REFERENCES、EXECUTE 属于对象权限直接作用在某个具体的表、视图或过程上CREATE、DROP、ALTER、BACKUP、AUDIT 属于系统权限作用于整个数据库层面的操作能力。撤销系统权限时不会产生级联效应撤销对象权限时可能产生级联效应——这是考题里经常出现的一个对比点。5.2 五个典型踩坑记录以下是我在拆这份题库时标记最多的五个翻车现场每个都是考试里高频出现、实际运维也容易犯的。现象一SYSDBA 身份无法连接数据库安装完成后用 SYSDBA 登录提示连接失败。原因基本可以锁定为数据库服务没有启动或者启动后短时间内监听端口还没就绪。解决先执行./dmserverd start再等两秒然后ps -ef | grep dmserver确认进程存在最后用./isql SYSDBA/SYSDBAlocalhost:5236重试。如果端口不对连接串里的 5236 改成实例实际配置的端口。现象二登录提示「未经授权的用户」现象是输入正确用户名密码也进不去。原因是该登录名在前端被锁定或已被删除常见于多次密码错误触发锁定策略。解决让 DBA 用 SYSDBA 登录执行解锁操作而不是新建一个登录名。题库原文明确说「使用 SYSDBA 登录解封此登录名」才是有效解决方式。现象三UPDATE 语句更新了全表数据全变了题库里那道UPDATE TEST SET NAMEYIMENG;的题目错误原因是没有设置 WHERE 条件。这类问题在测试环境里几乎人人遇到过达梦不像某些数据库默认开启安全更新模式。解决写 UPDATE 之前先跑一遍等价的 SELECT确认影响行数习惯性在事务里执行执行完验证再提交这是我个人的强制流程。-- 先看影响范围 SELECT * FROM test WHERE id 2; -- 再执行更新 UPDATE test SET name YIMENG WHERE id 2; -- 验证后提交 COMMIT;现象四删除模式时选了级联依赖对象全没了级联删除的后果是「所有依赖此模式的对象都会被删除」这不是普通的删除它会连带清理索引、视图和其他依赖项。解决删除之前用备份工具做一次逻辑备份或者先查询DBA_DEPENDENCIES确认依赖关系再决定用 RESTRICT 还是 CASCADE。现象五给低区分度字段建索引查询反而更慢题库里「不应该建立索引的字段」是唯一值个数很少的字段比如性别字段。原因在于索引的选择性太低优化器可能放弃索引走全表扫描。解决只在 WHERE 子句频繁出现、最大值最小值常被查询、频繁作为表连接条件的字段上建索引。这个原则考试考生产环境更考。5.3 视图与存储过程的权限检查链路视图权限的考点集中在创建和访问两个阶段。用户在创建视图时需要检查其在所引用视图或表上的 SELECT 权限用户访问视图时也要检查权限如果视图创建者同时也是引用表或视图的创建者则不重复检查。存储过程/函数的权限检查链路类似创建时检查对应权限访问系统存储过程时内部仍会检查必要的数据库权限用户自定义存储过程需要检查调用权限和引用对象的权限。「不需要执行权限检查」这类答案可以直接排除。角色机制解决的正是权限管理复杂的问题。角色可以简化权限管理、动态管理权限、有选择性地应用权限。角色分为系统级用户角色和数据库角色系统角色全局有效数据库角色只与数据库用户相关与登录无关。非数据库管理员也可以创建角色这个知识点容易被忽略。-- 创建用户并授予模式对象权限 CREATE USER DCATEST IDENTIFIED BY Dca2024; -- 授予系统权限 GRANT CREATE SESSION TO DCATEST; GRANT CREATE TABLE TO DCATEST; -- 授予对象权限 GRANT SELECT, INSERT ON SYSDBA.EMPLOYEE TO DCATEST; -- 回收对象权限 REVOKE INSERT ON SYSDBA.EMPLOYEE FROM DCATEST;逻辑说明CREATE USER创建用户后系统会自动生成同名模式。GRANT CREATE SESSION授权登录能力GRANT CREATE TABLE授予建表权限这两个属于系统权限GRANT SELECT, INSERT ON指定具体表这是对象权限。回收时用REVOKE对象权限的回收可能产生级联影响需要关注依赖该权限的视图和存储过程。6. 数据与并发操作DML 细节、事务回滚与触发器判断技巧6.1 复制数据与 MERGE 的语义判断要把 TEST1 的部分内容复制到 TEST2正确方式是INSERT SELECT不是逐条 INSERT 或者手动录入。逐条插入在数据量小的时候能跑但效率低且容易引入手工误差。INSERT SELECT的语义是批量读取源表并写入目标表属性和列顺序要对齐。INSERT INTO test2 (id, name) SELECT id, name FROM test1 WHERE id 100;MERGE 的考点更简单插入一条记录时如果该记录已存在不会报错也不会删除重建而是更新原有记录中的相关列。这是一个典型的「存在则更新、不存在则插入」语义Oracle 系和达梦系习惯一致。判断的时候如果选项里出现「返回失败信息」或者「删除原有记录并重新插入」都是干扰项。6.2 回滚是后悔药但要有前提用户对表中数据做出更改后又想恢复原值最佳方法是使用ROLLBACK撤销更改前提是事务还没提交。如果已经 COMMIT那就只能借助备份或闪回类能力题目考察的就是这个基础语义。日常操作中我的习惯是批量 UPDATE 或 DELETE 前先开事务完成后先 SELECT 验证影响行数再 COMMIT一旦发现数据不对立刻 ROLLBACK这条流程我强制要求所有新人必须走。6.3 触发器判断看粒度、看时机、看事件类型触发器包含语句级触发器、行级触发器和 INSTEAD OF 触发器题库里的「事件级触发器」是伪概念直接排除。判断一道触发器题先看题干触发的粒度——一条语句触发一次是语句级每行触发一次是行级再看时机 BEFORE 还是 AFTER最后看是不是替代型。下面这段触发器的功能是取消更新 TEST2 中特定行的 NAME 值CREATE OR REPLACE TRIGGER trg_test2_upd BEFORE UPDATE OF name ON test2 FOR EACH ROW BEGIN IF :NEW.id 2 THEN :NEW.name : :OLD.name; END IF; END;逻辑说明BEFORE UPDATE OF name ON test2表明这是在更新 name 列之前触发的行级触发器:NEW.id是更新后的新值:OLD.name是更新前的原始值触发体里把新值改回旧值实际效果就是取消这次修改。参数层面FOR EACH ROW决定行级粒度去掉后变成语句级触发器OF name限制只有更新 name 列时才触发不加则更新任意列都会触发。这道题对应题库里「取消更新表 TEST2 中 ID 为 2 的记录的 NAME 值」的答案理解了触发器结构就不需要死记答案。从那以后我拿到触发器题目先圈出触发粒度和触发时机再看事件类型三分半钟把答案定位出来从不纠结。这份题库里很多题都一样——先判断概念边界再定位选项错误选项能说出错在哪比背答案有效得多希望帮到你。本文还有配套的精品资源点击获取
返回列表