DCA(Dameng Certified Administrator)是达梦数据库认证体系中的初级认证,定位为国产数据库从业者的“敲门砖”。认证目标为证明持证者掌握DM8单机版数据库的安装、配置、日常运维、SQL操作及备份恢复等核心技能。
认证环境:
操作系统:Kylin-V0-sp3
数据库:DM8
考试相关信息会通过邮件形式发送到报名有邮箱中,涉及云主机连接密码、云主机root密码;需要通过VNC连接云主机操作
图形化安装配置:
root下执行
xhost + : -- 允许任何主机连接到当前图形显示服务器
echo $DISPLAY : -- 查看当前图形会话的显示环境变量值
su - dmdba : -- 切换到 dmdba 用户,并加载该用户的环境变量
export DISPLAY=:0 : -- 在 dmdba 用户会话中设置图形显示目标,设置为步骤2的输出结果
建议所有操作都在图形化界面操作,更快捷、提示更友好。
达梦数据库安装须以dmdba用户身份完成。安装前需创建d用户和安装目录,并赋予安装目录所有权给用户;下面以/dm/dmdbms为例:
root账号下命令行执行
groupadd dinstall : -- 创建dinstall组
useradd -g dinstall dmdba : -- 创建dmdba用户并指定dinstall组
passwd dmdba : -- 设置dmdba登录密码
id dmdba : -- 查看dmdba信息
mkdir /dm/dmdbms : -- 创建安装目录
chown -R dmdba:dinstsll /dm : -- 级联授权
ls -ld /dm : -- 查看权限信息
可使用图形化工具DBCA或命令行工具dminit完成
图形化工具安装:运行安装目录下 tool/dbca.sh 脚本即可打开图形化初始化实例工具,如下图所示:
dmdba账号下命令行执行
cd /dm/dmdbms/tool
./dbca.sh
按照提示依次按需选择:
mv /dm/dmdbms/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
systemctl enable DmServiceDMSERVER.service
systemctl start DmServiceDMSERVER.service
命令行安装:
最小化命令,其他配置都按照默认值安装
./dminit path=/dm/dmdbms/data db_name=DAMENG instance_name=DMSERVER port_num=5236 SYSDBA_PWD=Dameng123 PAGE_SIZE=8
将实例服务注册到操作系统
cd /dm/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -p DAMENG -dm_ini /dm/data/DAMENG/dm.ini
服务验证:安装完成后需确认DmAPService服务正常启停
cd /dm/dmdbms/bin
./DmServiceDMSERVER.service start
./DmServiceDMSERVER.service restart
./DmServiceDMSERVER.service stop
达梦数据库采用分层逻辑存储结构:数据页→簇→段→数据文件→表空间→数据库。预定义四个核心表空间:SYSTEM(系统表空间,存储数据字典)、ROLL(回滚表空间,支持MVCC)、TEMP(临时表空间)、MAIN(主表空间)
数据库由一个或多个表空间组成,每个表空间对应一个或多个文件,每个数据文件由一个或多个簇组成,段是簇的上级逻辑单元,一个段可以跨多个数据文件,簇由磁盘上连续的页组成,一个簇总是在一个数据文件中,页是数据库中最小的分配单元,也是数据库中使用的最小的 IO单元
create tablespace TEST datafile
'/dm/dmdbms/TEST_01.DBF' size 128 autoextend on next 16 maxsize 20480,
'/dm/dmdbms/TEST_02.DBF' size 128 autoextend on next 16 maxsize 20480
CACHE = NORMAL;
预定义用户:SYSDBA(系统管理员,拥有几乎所有权限)、SYSAUDITOR(审计管理员)、SYSSSO(安全管理员,具有强制访问控制权限)
角色:是一组权限的集合
系统权限:用于配置系统权限,包括表、视图、索引、存储过程等的增删改
对象权限:用于配置已有对象的权限,包括模式、表、视图、索引、存储过程等
create role TSET;
grant "RESOURCE","PUBLIC","SOI","SELECT_CATALOG_ROLE" to TSET;
grant CREATE TABLE,CREATE VIEW,CREATE INDEX,SELECT TABLE,GRANT TABLE to TSET;
用户:创建用户时会自动创建一个同名的表空间
所属角色:配置用户的角色信息
系统权限和对象权限与角色相同
资源设置项:配置用户登录相关的安全控制
create user TEST identified by "Test@123"
limit INACTIVE_ACCOUNT_TIME 180 FAILED_LOGIN_ATTEMPS 3 PASSWORD_LIFE_TIME 180 PASSWORD_REUSE_MAX 3 PASSWORD_LOCK_TIME 10;
grant "PUBLIC","RESOURCE","ROLE_SALM","SOI","SVI" to TEST;
grant CREATE TABLE,CREATE VIEW,SELECT TABLE to TEST;
按照表结构和表约束创建数据表,包括:主键约束(PRIMARY KEY)、非空约束(NOT NULL)、唯一约束(UNIQUE)、检查约束(CHECK)、外键约束(FOREIGN KEY)
按照需求创建索引
select语句样例
SELECT t1.col_a,COUNT(*) as num
FROM tb_a a
LEFT JOIN (
SELECT *
FROM tb_b b
WHERE condition_a
) t1 ON a.col_1 = b.col_1
WHERE condition_b
GROUP BY t1.col_a
HAVING COUNT(*) >= 1
ORDER BY num DESC
LIMIT 100;
执行顺序:
FROM tb_a a -- 加载主表
SELECT * FROM tb_b b WHERE condition_a -- 执行内联视图
LEFT JOIN ... ON a.col_1 = b.col_1 -- 执行连接(生成临时结果集)
WHERE condition_b -- 过滤行数据
GROUP BY t1.col_a -- 分组
HAVING COUNT(*) >= 1 -- 过滤分组
SELECT t1.col_a, COUNT(*) as num -- 选择列、计算聚合、设置别名
ORDER BY num DESC -- 排序(可以使用别名)
LIMIT 100 -- 限制返回行数
视图:是从一个或几个基表(或视图)导出的表,它是一个虚表,不保存数据,查询视图时会执行一遍创建视图对应的查询语句
物化视图:是从一个或几个基表导出的表,存储了导出表的真实数据
视图与物化视图的创建需要先将对应的 查询子句select query 调试通过后,在查询子句前面增加 CREATE [MATERIALIZED] VIEW [<模式名>.]<物化视图名> 和相关配置即可
创建视图
create view [<模式名>.]<视图名> as
select query;
创建物化视图
CREATE MATERIALIZED VIEW [<模式名>.]<物化视图名>
BUILD IMMEDIATE(立即执行,默认)|DEFERRED(不填充数据)
REFRESH FORCE(强制刷新,默认)|FAST(增量刷新)|COMPLETE(完全刷新) ON DEMAND(按需手动刷新,默认)|COMMIT(提交时自动刷新) WITH PRIMARY KEY(主键识别,默认)|ROWID(物理行标识符识别)
[START WITH <开始时间>] [NEXT <下次时间>]
ENABLE|DISABLE QUERY REWRITE
AS
select query;
逻辑备份还原:dexp逻辑导出、dimp逻辑导入
导出:
导入:导入时注意需要在原模式/用户下执行导入,然后配置模式映射至目标模式
DCA为纯上机实操考试,时长2小时。建议全程使用图形化工具./manager操作,错误提示友好且准确性更高。遵循“没有要求按默认值,有要求按题目”原则,全程使用dmdba账号。
文章
阅读量
获赞
