本文基于我参加达梦数据库DCA认证培训与考试的完整经历,系统梳理了本次考试的核心技术要点。文章涵盖图形化安装部署、逻辑存储结构、物理文件体系、用户与权限管理、逻辑导入导出工具五大模块,结合实验环境中的实际操作验证,分享关键配置要点与常见问题的避坑指南。
一、引言
在国产数据库蓬勃发展的当下,达梦数据库作为国产数据库的领军产品,其DCA(Dameng Certified Administrator)认证已成为数据库运维人员的重要技能背书。与Oracle OCP等国外认证不同,DCA认证更聚焦于国产环境下的实际运维场景,涵盖国产操作系统适配、国产CPU架构兼容,以及符合国内安全规范的配置要求。
我在备考DCA过程中,通过搭建完整的实验环境,验证了达梦数据库DM8版本的核心功能。本文基于达梦DCA认证考试体系,通过实际操作验证,系统梳理达梦数据库从安装部署、逻辑存储、用户管理、备份恢复的完整技术链路。
二、安装部署
2.1 实验环境准备
实验环境采用银河麒麟V10操作系统(与DCA考试环境一致),搭配达梦数据库DM8版本。达梦数据库相关安装介质均可从达梦在线服务平台下载获取(https://eco.dameng.com/download/)。
DCA考试要求以dmdba用户身份完成数据库安装。因此,在启动安装程序前,必须先在root权限下创建dinstall用户组与dmdba用户,同步创建安装目录(如/dm/dmdbms),并通过chown将目录所有权赋予dmdba。
2.2 图形化安装方式
达梦数据库提供图形化与命令行两种安装方式。对于命令行操作不够熟练的同学,建议优先采用图形化安装方式,界面友好且操作更加便捷。
图形化安装通过执行DMInstall.bin启动向导界面,按提示逐步完成配置即可。在图形化安装过程中,可以直观地选择安装目录、数据库实例配置、初始化参数设置等。
切换到dmdba用户,执行图形化安装:
su - dmdba
./DMInstall.bin
【避坑指南】
在DCA考试环境中,若输入安装命令后提示无法安装,可以重新打开一个新的终端窗口,重新输入安装命令。
2.3 DmAPService服务验证要点
安装完成前的最后一步,需要打开一个新的终端,切换到root账号执行root_installer.sh脚本,用于创建和启动DmAPService服务。
切换到root用户,执行root脚本
su - root
/dm/dmdbms/script/root/root_installer.sh
【验证要点】
安装完成后,需确认DmAPService服务正常启动。该服务是达梦数据库的辅助插件服务,负责管理数据库的备份、恢复、数据同步等辅助功能。在操作系统关机前,需正常关闭数据库实例服务,以避免数据文件异常。可通过以下命令查看服务状态:
(1)查看DmAPService服务状态:systemctl status DmAPService.service
(2)启动DmAPService服务:systemctl start DmAPService.service
(3)停止DmAPService服务:systemctl stop DmAPService.service
三、存储结构
3.1 逻辑存储结构
达梦数据库采用分层逻辑存储结构,从底层到顶层依次为:数据页、簇、段、数据文件、表空间、数据库。这种层级设计实现了数据存储的精细化管理,便于空间分配、扩展和维护。
3.2 预定义表空间详解
达梦数据库预定义了四个核心表空间,每个表空间承担不同的数据存储职责:
(1)SYSTEM(系统表空间)
作用为存储数据库的核心系统数据,包含数据字典(系统表、系统视图)、系统存储过程、系统函数以及数据库的元数据信息。该表空间在数据库创建时自动生成,不可删除,是数据库运行的基础,损坏将导致数据库无法启动。通常不建议用户在此表空间创建业务对象。
(2)ROLL(回滚表空间)
作用为存储事务的回滚记录(Undo数据),包含事务修改前的数据镜像,用于事务回滚、一致性读和闪回查询。该表空间支持多版本并发控制(MVCC),事务提交后回滚数据不会立即清除,由后台线程定期回收。空间不足会导致事务失败,需合理规划大小。
(3)TEMP(临时表空间)
作用为存储会话期间的临时数据,包含SQL排序操作产生的临时数据、哈希连接的中间结果以及临时表数据。该表空间数据不持久化,会话结束或数据库重启后自动清除。所有用户默认共享使用,频繁的大排序操作需要足够大的临时空间。
(4)MAIN(用户默认表空间)
作用为用户默认的数据存储区域,未显式指定表空间时,用户创建的表、索引等对象默认存放于此。可通过ALTER USER修改用户的默认表空间。生产环境中建议为不同业务创建独立的表空间,而非全部使用MAIN。
【考试要点】
在DCA考试中,表空间创建是必考操作。需熟练掌握表空间的参数配置,包括数据文件路径、初始大小、自动扩展策略及最大容量限制。
3.3 物理文件体系
达梦数据库的物理文件主要包括以下四类:
(1)控制文件(.ctl)
记录数据库的物理结构信息,包含数据库名称、创建时间、数据文件路径及状态、重做日志文件路径及状态、检查点信息以及归档模式状态。数据库启动时必须读取,损坏会导致数据库无法挂载。
(2)数据文件(.dbf)
存储实际业务数据,包含表数据、索引数据、系统字典数据、回滚数据和临时数据。每个表空间由一个或多个数据文件组成,支持自动扩展(AUTOEXTEND)。
(3)重做日志文件(*.log)
记录所有数据变更,支持故障恢复,包含数据修改的物理记录和事务提交标记。采用循环写入方式,写满后切换到下一个日志文件。至少需配置两个日志文件组,保证切换时有可用日志。
(4)归档日志文件
重做日志的历史副本,是备份恢复的基础。在数据库开启归档模式后产生,包含已写满的重做日志文件的离线副本。开启归档后才能进行联机备份(热备份),是完全恢复和时间点恢复的必要条件。需定期清理或转存,避免磁盘空间耗尽。
四、用户与权限管理
4.1 用户资源限制
达梦数据库允许管理员对用户使用的系统资源进行限制,防止单个用户过度消耗数据库资源。主要包括以下限制维度:
节点最大会话数:控制每个用户同时保持的最大连接数,避免连接数耗尽导致其他用户无法访问。
会话空闲期:设置会话的最大空闲时间,超过该时间未活动的会话将被自动断开,释放资源。
登录失败次数:配置允许的最大连续登录失败次数,超过次数后账户将被自动锁定,防止暴力破解。
口令策略限制:包括口令有效期、口令等待期、口令变更次数、口令锁定期、口令宽限期等,确保账户安全性。
4.2 权限分类
达梦数据库的权限分为两大类,分别对应不同的管理粒度:
(1)系统权限
允许用户执行数据库级别的操作,不涉及具体对象。例如创建表、创建视图、创建索引、创建存储过程、创建用户、创建角色、备份数据库等。这类权限影响面较广,通常只授予管理员或开发用户。
(2)对象权限
针对特定数据库对象进行授权,粒度更细。例如对某张表的查询权限、插入权限、修改权限、删除权限,或对某个存储过程的执行权限。这类权限适合应用接入场景,遵循最小权限原则。
4.3 用户管理
用户是数据库访问的基本身份单元。每个用户拥有独立的认证凭据,可以关联默认表空间、资源限制策略和权限集合。
创建用户:需要指定用户名、认证密码,可选择配置默认表空间、资源限制参数等。
修改用户:支持修改密码、调整默认表空间、变更账户状态(锁定或解锁)、更新资源限制策略。
删除用户:可选择仅删除用户保留其对象,或级联删除用户及其下所有对象。
用户状态管理:账户可以手动锁定或解锁,也可以在登录失败次数超限后自动锁定。
4.4 角色管理
角色是一组权限的集合,通过角色可以简化批量授权操作,实现权限的分层管理。
(1)预定义角色
达梦数据库提供多个预定义角色,方便快速授权:
DBA:数据库管理员,拥有几乎所有系统权限。
RESOURCE:资源角色,拥有创建基本对象的权限。
PUBLIC:公共角色,所有用户默认拥有。
SOI:系统对象查询角色(System Object Inquiry),允许查询系统字典表。
SVI:系统视图查询角色(System View Inquiry),允许查询系统内置视图。
VTI:动态视图查询角色(View Table Inquiry),允许查询动态性能视图。
(2)自定义角色
管理员可以根据业务需求创建自定义角色,将相关的系统权限或对象权限打包到一个角色中,再批量授予给用户。这种方式便于权限的标准化和统一管理。
4.5 通过角色进行用户权限管理
这是达梦数据库权限管理的核心实践,也是DCA考试的重点内容。标准的管理流程分为四个步骤:
第一步:创建角色。根据业务场景定义角色的用途,例如开发角色、只读角色、运维角色等。
第二步:给角色授权。将所需的系统权限或对象权限授予角色,形成一个权限集合。
第三步:创建用户。建立用户账户,配置基本的认证信息和资源限制。
第四步:将角色授予用户。用户通过继承角色获得相应的权限集合。一个用户可以同时拥有多个角色,权限取并集。
五、逻辑导入导出工具
5.1 dexp/dimp命令行工具
dexp和dimp是达梦数据库自带的逻辑导出导入工具,类似于Oracle的exp/imp工具。
(1)dexp逻辑导出
将数据库中的对象定义和数据导出为二进制文件(.dmp格式)。支持四种导出级别:
数据库级:导出整个数据库的所有对象,适合全库迁移或完整备份。
用户级:导出指定用户下的所有对象,是最常用的导出方式,适合按业务模块迁移。
模式级:导出指定模式下的对象,与用户级类似但在某些场景下粒度更细。
表级:仅导出指定的表,适合单表数据迁移或备份。
(2)dimp逻辑导入
将dexp导出的.dmp文件中的对象和数据导入到目标数据库。支持多种导入策略:
同名映射:保持用户/模式名导入。
跨用户映射:将用户的数据导入到目标用户下,通过REMAP_SCHEMA参数实现。
表存在处理:可设置遇到同名表时的处理策略,如跳过、追加、截断后插入或替换。
5.2 图形化工具方式
达梦数据库提供管理工具(DM Manager),通过图形界面完成逻辑导出导入操作。该工具通常随数据库软件安装或单独提供。对于习惯图形化操作的用户,此方式更加直观便捷。
(1)图形化导出流程
第一步 连接数据库:在管理工具中建立目标数据库的连接。
第二步 选择导出对象:在对象导航树中勾选需要导出的数据库、用户、模式或表。
第三步 配置导出选项:弹出导出向导界面,设置导出路径、文件名、是否导出数据、是否导出索引等选项。
第四步 行导出:点击执行后,工具后台调用dexp工具完成导出,并实时显示进度和日志。
(2)图形化导入流程
第一步 选择导入文件:浏览并选择待导入的.dmp文件。
第二步 配置导入目标:指定导入到哪个数据库、哪个用户或模式下。
第三步 设置映射关系:如需跨用户导入,在界面中配置源用户到目标用户的映射。
第四步 冲突处理选项:在界面中选择表已存在时的处理策略。
第五步 执行导入:确认后执行导入,界面显示进度和结果汇总。
六、备考建议
实验环境尽量使用与考试一致的银河麒麟系统,避免Windows环境下的操作差异。本文采用图形化安装方式,但考试中可能涉及命令行操作,建议两种安装方式都要掌握。
文章
阅读量
获赞
