注册
DCA考试心得
专栏/技术分享/ 文章详情 /

DCA考试心得

BruceCD 2025/10/17 548 1 0
摘要

概述

DCA考试是达梦数据库官方认证的考试,主要考察对数据库的操作熟练程度,考试题目均为实际操作,比如创建一张表的操作,其中会描述表字段有哪些、表名称是什么等信息,判断考试是否得分也是看你操作结果是否符合他的描述要求。

本文会将考试涉及到的操作做了一次梳理,并用图形化、命令行等多种方式来操作,只要达到的结果是一样的,都能算操作成功。

考试主要内容

  1. 安装前准备,比如创建用户,配置环境变量等
  2. 在新用户下使用bin文件安装数据库,要求指定路径
  3. 初始化数据库,会指定一些初始化配置信息
  4. 修改数据库配置
  5. 创建表空间,会指定数据文件路径等信息
  6. 创建角色,指定权限等信息
  7. 创建用户,指定口令过期配置等信息
  8. 创建表,指定字段、主键、外键等信息
  9. 导入数据,指定sql文件路径
  10. 执行物理备份,指定备份路径信息等
  11. 执行逻辑备份,指定备份路径信息等
  12. 配置备份作业,指定备份类型、备份时间等信息
  13. 修改表空间,指定修改后的大小等信息
  14. 创建视图,指定视图功能
  15. 安装并配置ODBC

安装前准备

这里的操作比较常规,创建安装目录、安装用户等

groupadd dinstall
useradd -g dinstall dmdba
mkdir /dm
chown -R dmdba.dinstall /dm

对于图形化工具的使用,需要去执行两条命令

在root用户权限下记录DISPLAY的值
切换到dmdba用户下之后,执行
export DISPLAY=前面查到的值
如果前面查看的值为空,这里就用:0.0来代替:
export DISPLAY=:0.0
再执行:
xhost +

也可以将以上两条命令放到dmdba的~/.bashrc文件中,这样每次打开终端就不用手工执行了。

在后面需要从终端命令行界面上执行打开图形化工具命令的时候,如果发生报错,就回头检查下当前DISPLAY的环境变量设置得对不对,以及后续有没有执行xhost +的命令。
考试时需要注意对应的DISPLAY值也会在考卷上,每个人的环境可能不太一样。

安装数据库

示例:数据库安装到/dm

图形化方式

先在命令行下执行:

# 假设安装bin文件在/soft目录下
su - dmdba
cd /soft
./DMInstall.bin

然后按照指示一步步操作:
image.png

image.png

image.png

image.png

image.png

按照提示新打开一个终端窗口执行提示的命令:
image.png

image.png

直到完成页面即可
安装完成后,我们就可以在后续的操作中使用图形化方式进行了,下面列举了各个图形化工具的打开方式

# 必须在dmdba用户下操作
su - dmdba
# 如果图形化工具打开相关的两条命令没有配置到.bashrc中就需要提前手工执行下
export DISPLAY=:0
xhost +

# 达梦数据库配置助手打开方式
cd /dm/tool
./dbca.sh

# DM管理工具打开方式
cd /dm/tool
./manager

# DM控制台工具打开方式
cd /dm/tool
./console


命令行方式

如果是使用命令行方式,可以执行如下命令:

su - dmdba
cd /soft
./DMInstall.bin -i
# 接下来的交互输入大部分可以直接回车按照默认值,以下除外:
是否有Key文件选择N
选择安装目录输入/dm
最后安装完成后会提示要切换到root命令执行一条命令,按照提示操作即可

初始化数据库

示例:实例创建,数据库名称DMMENG2,实例名称DMSERVER2,指定页大小8K、字符集UTF8、数据库密码Dameng123

图形化方式

在前一个步骤中安装完成数据库后,可以点击选择继续初始化数据库,如果关掉了也没关系,在命令行下打开达梦数据库配置助手也是一样的。
image.png
image.png
image.png
image.png
image.png
image.png
image.png
按照提示将这些命令在命令行下用root权限去执行,后续有这种提示窗口都是一样的方式操作:
image.png
image.png
image.png
image.png
image.png

命令行方式

cd /dm/bin # 初始化库 ./dminit DB_NAME=DAMENG2 INSTNACE_NAME=DMSERVER2 PAGE_SIZE=8 CHARSET=1 SYSDBA_PWD=Dameng123 SYSAUDITOR_PWD=Dameng123 # 执行完成后再进行服务注册 su - root /dm/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/data/DAMENG2/dm.ini -p DMSERVER2 # 启动数据库 su - dmdba cd /dm/bin ./DmServiceDMSERVER2 start

创建表空间

示例:创建表空间TESTSB,数据文件/dm/data/DAMENG2/TESTSB01.DBF,数据文件初始大小为32M.

图形化方式

打开DM管理工具,新建连接,填入密码测试连接成功后,点击保存
image.png

image.png

image.png

命令行方式

create tablespace TESTSB datafile '/dm/data/DAMENG2/TESTSB01.DBF' size 32 CACHE = NORMAL;

创建角色

示例:创建角色ROLEDM2,有创建表的权限

图形化方式

image.png
image.png

命令行方式

create role ROLEDM2;

grant CREATE TABLE to ROLEDM2;

创建用户

示例:创建用户TEST,密码Dameng123,默认表空间为TESTSB。该用户在登录失败 5次后,账号锁定3分钟,用户在180天后自动过期,拥有创建表、创建视图的权限,有ROLEM2的角色。

图形化方式

image.png
image.png
image.png
image.png
image.png

命令行方式

create user TEST identified by "Dameng123"
limit FAILED_LOGIN_ATTEMPS 5 PASSWORD_LIFE_TIME 180 PASSWORD_LOCK_TIME 3
default tablespace "TESTSB";

grant "PUBLIC","ROLEDM2","SOI" to TEST;

grant CREATE TABLE,CREATE VIEW to TEST;

创建表

示例:在用户TEST下创建三张表,分别为T1, T2, T3
其中T1有以下字段:
T1_ID字段,类型为INT,非空,主键
T1_NAME字段,类型为VARCHAR(50),非空

其中T2有以下字段:
T2_ID字段,类型为INT,非空,主键
T2_NAME字段,类型为VARCHAR(50),非空
T2_T1_ID字段,INT类型,非空,外键关联到T1表的T1_ID字段

其中T3有以下字段:
T3_ID字段,类型为INT,非空,主键
T3_NAME字段,类型为VARCHAR(50),非空
T3_T1_ID字段,INT类型,非空,外键关联到T1表的T1_ID字段

图形化方式

创建T1表,需要在DM管理工具的TEST模式展开的表节点上右击,选择新建表:
image.png
image.png
同样的方式创建T2表,不同的是还要添加外键:
image.png
image.png
image.png
创建T3表:
image.png
image.png

命令行方式

create table TEST.T1
(
        T1_ID INT,
        T1_NAME VARCHAR(50)
)
storage(initial 1, next 1, minextents 1, fillfactor 0)
;

create table TEST.T2
(
        T2_ID INT not null ,
        T2_NAME VARCHAR(50) not null ,
        T2_T1_ID INT not null
)
storage(initial 1, next 1, minextents 1, fillfactor 0)
;

alter table TEST.T2 add constraint foreign key("T2_T1_ID") references TEST.T1("T1_ID");

create table TEST.T3
(
        T3_ID INT not null ,
        T3_NAME VARCHAR(50) not null ,
        T3_T1_ID INT not null
)
storage(initial 1, next 1, minextents 1, fillfactor 0)
;

alter table TEST.T3 add constraint foreign key("T2_T1_ID") references TEST.T1("T1_ID");

导入数据

示例:将/opt/test.sql批量导入到库中

图形化方式

image.png

命令行方式

使用disql连接到数据库后执行

`/opt/test.sql

开启归档

实例:开始归档,归档保存到/dm/data/arch目录下,文件大小128M

图形化方式

image.png
image.png
image.png
image.png

命令行方式

alter database mount;

alter database archivelog;

alter database add archivelog 'DEST=/dm/data/arch, TYPE=LOCAL, FILE_SIZE=128, SPACE_LIMIT=0, ARCH_FLUSH_BUF_SIZE=0, HANG_FLAG=1';

alter database open;

执行物理备份

示例:执行联机完全物理备份,备份名称FULL_BAK_1,备份目录为/dm/backup/FULL_BAK_1

图形化方式

image.png
image.png
image.png
image.png
image.png

命令行方式

backup database full to "FULL_BAK_1" backupset '/dm/backup/FULL_BAK_1';

SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/backup');

select * from SYS.V$BACKUPSET;

执行逻辑备份

示例:执行全库逻辑备份,备份的dmp文件名称指定为test_exp.dmp,log文件名称为test_exp.log,均放到/dm/backup/目录下

图形化方式

image.png
image.png
image.png

命令行方式

/dm/bin/dexp "SYSDBA"/"******"@LOCALHOST:5236 DIRECTORY=/dm/backup FILE=test_exp.dmp FULL=Y TABLESPACE=N DROP=N LOG=test_exp.log LOG_WRITE=N

配置备份作业

示例:每周三晚上22点执行全量物理备份,每周一、周二、周四、周五、周六、周日晚上22点执行增量物理备份。

图形化方式

配置全量备份
image.png
image.png
image.png
image.png
image.png
image.png
image.png
配置增量备份
image.png
image.png
image.png
配置完成后可以在对作业做一次执行验证是否正常

命令行方式

call SP_CREATE_JOB('FULL_BAK',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('FULL_BAK');

call SP_ADD_JOB_STEP_EX('FULL_BAK', 'FULL_BAK_STEP', 6, '00000000/dm/backup', 0, 0, 0, 0, NULL, 0, '');

call SP_ADD_JOB_SCHEDULE('FULL_BAK', 'FULL_BAK_SCHEDULE', 1, 2, 1, 8, 0, '22:00:00', NULL, '2025-10-16 10:09:29', NULL, '');

call SP_JOB_CONFIG_COMMIT('FULL_BAK');


call SP_CREATE_JOB('INCR_BAK',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('INCR_BAK');

call SP_ADD_JOB_STEP_EX('INCR_BAK', 'INCR_BAK_STEP', 6, '10000000/dm/backup|/dm/backup', 0, 0, 0, 0, NULL, 0, '');

call SP_ADD_JOB_SCHEDULE('INCR_BAK', 'INCR_BAK_SCHEDULE', 1, 2, 1, 119, 0, '22:00:00', NULL, '2025-10-16 10:15:30', NULL, '');

call SP_JOB_CONFIG_COMMIT('INCR_BAK');

修改表空间

示例:将TMP表空间大小修改为1024M

图形化方式

image.png
image.png

命令行方式

alter tablespace "TEMP" resize datafile 'TEMP.DBF' to 1024;

创建视图

示例:创建视图TEST.TEST_VIEW,用来查询TEST.T1表中T1_NAME是bruce的记录,显示字段为T1_ID和T1_NAME

图形化方式

直接在DM管理工具的查询界面上执行创建视图语句
image.png

命令行方式

create view test.TEST_VIEW AS
select T1_ID, T1_NAME FROM TEST.T1 where T1_NAME='bruce';

安装并配置ODBC

示例:安装ODBC到/usr/local下,并配置访问数据源为dm8
编译安装:

tar xf unixODBC-xxx.tar.gz
cd unixODBC-xxx
./configure && make -j 4 && make install

配置odbcinst.ini和odbc.ini, 执行odbcinst -j后可以看到对应的配置文件具体位置:

vim /usr/local/etc/odbcinst.ini
填写配置如下:
[DM8 ODBC DRIVER]
Description = odbc driver for dm8
Driver = /dm/bin/libdodbc.so  #此文件是DM的odbc驱动文件,需要按照实际DM安装目录找到对应文件后填上去

vim /usr/local/etc/odbc.ini
填写配置如下,主要是驱动名、连接IP、端口、用户名、密码等信息,需要按照实际配置来填写:
[dm8]
Description = dm8 odbc dsn
Driver = DM8 ODBC DRIVER
SERVER = localhost
TCP_PORT = 5236
UID = SYSDBA
PWD = Dameng123

image.png

注意点

考前注意

  1. 虽然是开卷考试,但是一定要提前多实际练习培训时的操作内容,达到熟练的程度,如果不熟练的话在考试中可能会浪费很多时间,如果真的遇到一些比较难操作的点时可能就会时间不够了。
  2. 培训课程中的操作点都要覆盖到,考试时都可能会考到,除非明确说了不考仅作为理解的点,可以看自己时间去选择练习。
  3. 对于培训讲解时的重要概念要了解清楚,比如以上的备份、作业等,实操时的每个参数比如路径、文件大小等需要尝试不同写法去辅助理解。
  4. 对于每个操作是否符合要求,都有对应的检查方法,方式很多,这个需要自己去不断尝试发现。
  5. 考前可以按照前面的步骤进行模拟考试,进行一些内容上的增改,大概估算一下时间,了解可能比较耗时的操作点,针对性多练习几次。
  6. 模拟时间尽量控制在1小时以内,全部做完之后再通篇检查一遍。
  7. 考试前多看几遍考试指南,模式考试按照考试指南去操作。

考试中注意

  1. 一定要仔细审题,对题目要求的操作点必须要达到,理解它要改的是哪一点,不要漏做,也尽量不要做多余的操作。
  2. 考试刚开始的操作要更加仔细,多次核对是否有问题,比如图形化界面配置是否有误、安装数据库的参数是否正确等,有些参数是在初始化时就确定下来后面改不了,这种尤其注意,否则全部操作完了之后发现错了后面就要全部重做了。
  3. 在每一步操作完成后要至少检查一遍是否有误,比如初始化库时要多核对参数是否正确,有误的话就要立即改过来。
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服