注册
达梦DCA考试之旅
培训园地/ 文章详情 /

达梦DCA考试之旅

py 2024/06/06 1532 2 0

DM8作为国内领先的关系型数据库管理系统,支持超大规模并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。在自己的亲身实际的体验中,DM8的图形化界面非常实用,并且语法与Oracle高度兼容,基本上与平时Oracle的使用并无太大差异,但图形化界面对于新手而言,还是非常便捷。

参加DCA培训

培训总共三天,整个培训过程,老师授课的内容其实远远大于了DCA考试的内容,基本上对DM8从安装、部署、实例启停、表空间管理、用户管理、权限管理、备份还原、修改配置文件、以及ODBC等配置,都有非常深入的讲解。

实操总结

达梦DCA考试全部以实操为主,2个小时如果平时训练比较多的话,时间是足够的,但是我在考试以及实际训练操作过程中,也遇到了一些问题,也希望借此平台帮助一下初学者避免踩坑。

安装前的准备工作

1.需要确定自己的安装临时目录是否大于2G。大部分情况下都需要扩展。

[root@localhost 桌面]# df -h [root@localhost 桌面]# Mount -o remount,size=3G /tmp

2.需要建立用户和组
题目要求会明确建立dmdba用户来安装DM8,此过程需要建立用户和组。在建立了用户dmdba和组install后,一定要将相应文件夹的权限赋给dmdba用户,避免因为权限不够导致数据库安装失败

[root@localhost 桌面]# mkdir -p /dm8 [root@localhost 桌面]# chown dmdba:install -R /dm

DM8安装

DM图形化安装需要初始化一下环境。

[root@localhost 桌面]# echo $DISPLAY :2.0 [root@localhost 桌面]# xhost + access control disabled, clients can connect from any host [root@localhost 桌面]# su - dmdba [dmdba@localhost 桌面]$ export DISPLAY=:2.0

在考试过程中,echo $DISPLAY需要根据实际的情况来进行编写,同时在使用./DMInstall.bin 进行安装的时候,建议在执行了xhost +的同一个命令窗口下进行安装,避免报错。
同时,考试过程中的.iso文件已经挂载好了,无需我们通过mount命令进行挂载,因此可以直接在/opt目录下安装即可

cd /opt ./DMInstall.bin

安装数据库

DM8的安装可以分为图形化和命令行进行安装,有的现网情况可能用命令行会更好一下,命令行会以较少的资源来完成安装。图形化则比较适合新手。
如果选用图形化安装的方式,需要注意在执行xhost +的命令行的同一个窗口下进行执行./DMInstall.bin的命令,否则会报错。
安装完成后,需要根据提示来以root用户执行三个命令。
在安装DM8的时候,老师也是建议以dmdba(或者实际用户)来进行安装,避免用root来安装DM8。

创建数据库及数据库实例管理

方式一 图形化界面方式创建数据库

cd /dm/tool ./dbcs.sh

如果运行报错如下,则是图形化没有设置好,需要重新export一下。(DISPLAY的值需要根据实际情况来填写)
image.png

export DISPLAY=2.0

由于达梦数据库的簇、页大小等关键参数在创建数据库实例后就不能进行更改了,因此,需要格外注意考题的要求,一旦创建错误,只能重新删除实例信息然后再创建。

方式二 命令行的方式

以命令行方式创建的数据库实例,不会自动注册数据库服务(而DM数据库配置助手方式则默认自动注册数据库服务),因此如果要以服务方式启动,则需要注册数据库服务。
在注册完成和启动后,可以检查数据库是否能够连接,密码和端口号根据考试情况填写

./disql sysdba/Dameng123:5237

参数修改及表空间管理

参数修改

DM默认预定义SYSTEM/ROLL/MAIN/TEMP/HMAIN(新版本没有)五个表空间,默认表空间不支持删除。
其中关于参数部分:
TEMP_SIZE 表示临时表空间初始大小
TEMP_PATH 表示临时表空间路径
TEMP_SPACE_LIMIT:表示临时表空间的空间限制,0表示不限制
修改临时表空间初始的大小(用SQL语句):

alter system set 'TEMP_SIZE'=100 SPFILE;

表空间管理

如果以./manager 图形化的方式,可以直接通过图形化来完成表空间的创还能与管理,比较方便。注意,DM数据文件的大小,最低值不能低于页大小的4096倍。若小于4096倍,则会创建报错。可以使用create tablespace语句来创建表空间。例如创建表空间TBS,两个数据文件TBS01.DBF和TBS02.DBF,大小为32M,每次扩展1M,最大扩展到1G。可以用SQL来创建也可以用图形化的方式创建。

create tablespace "TBS" datafile '/dm/data/DAMENG/TBS01.DBF' size 32 autoextend on next 1 maxsize 1024,'/dm/data/DAMENG/TBS02.DBF' size 32 autoextend on next 1 maxsize 1024 CACHE=NORMAL;

以图形化的方式创建比较简单,右击表空间,点击创建表空间。
img_v3_02bh_d3ede3ba732d435bbf69e3203d58b2bg.jpg

在表空间脱机或者删除.DBF的数据文件后,该表空间的数据将不能读写。

用户与角色管理

DM系统口令策略中的PWD_POLICY参数属于隐含参数,不在dm.ini中,只能通过函数或者SQL语句的方式来进行修改,这也是DM的安全考虑之一。
比如可以通过SQL语句查看当前参数:

select * from v$parameter t where t.name = 'PWD_POLICY';

修改系统口令策略:

alter SYSTEM set 'PWD_POLICY' = 15 BOTH;

如果考题中的密码需要带有特殊字符,则需要双引号括起来,在 linux 系统下可以使用单引号‘转义。比如:

./disql sysdba/'"Dameng@123"':5237

考试中,主要会考角色的创建,并且赋予角色相应创建表、视图、索引的权限。例如:创建角色DMROLE,角色具有创建表和视图的权限。

create role DMROLE; GRANT CREATE TABLE TO DMROLE; GRANT CREATE INDEX TO DMROLE;

在用户方面,通常会考察创建用户及其默认表空间并配置密码,配置密码策略。比如创建用户TEST01,用户密码Dameng123,用户Test01最多登录失败五次,默认表空间TBSTEST。

create user "TEST01" identified by "Dameng123" limit FAILED_LOGIN_ATTEMPS 5

img_v3_02bh_22c160c158d343f48f7edb2b29c7640g.jpg

创建表以及表管理

这一部分需要按照题目的要求,一步一步地进行创建表,以及表的主外键信息。如果创建表和配置主外键信息出现错误,会导致后面的数据导入不成功。

数据导入

DM在disql下使用start或者`都可以执行,Oracle是用@,MYSQL是用source

start /xxx/xxx.sql `/xxx/xxx.sql

但是需要格外注意的是,如果用图形化工具(DM 管理工具)来完成数据导入的时候,只能采用`方式,文件路径不能带空格,并且必须手工commit,否则数据并没有成功导入。
如果遇到导入数据失败的情况,则是创建表、约束和健的地方没有设置正确,需要重新检查。

创建视图以及视图管理

普通视图(不包含物化视图),是不包含数据的,数据来源于基表。因此,视图提供是一个查询窗口,是一个由select语句组成的查询定义的虚拟表。
在考试中,考到了一个简单视图和一个复杂视图。复杂视图考察包括多表连接,group by等知识点。

还原与恢复

数据库的还原是数据库备份的逆过程,恢复则是把数据库恢复至最新。
在数据库的还原与恢复中,首先需要停掉达梦数据库服务器。使用达梦dmdba用户在/dm8/bin(按照具体的安装目录来)进行操作:

./DmServiceDMServer stop

脱机备份与还原数据库

库备份(冷备)

使用达梦RMAN工具进行冷备

cd /dm/tool/dmrman
backup database '/dm/data/DM/dm.ini';

表空间级的还原与恢复

表空间的还原与恢复只有两个步骤:restore + recover
需要注意的是,还原和目标库得是同一个库,否则会报错“备份集DB_MAGIC”与当前库不相同。

整库的还原恢复步骤如下:

1)还原

RMAN> restore database '/dm/data/DM/dm.ini' from backupset '/dm/backup/full/ONLINEBAK_02';

2)恢复

RMAN> recover database '/dm/data/DM/dm.ini' with archivedir '/dm/arch';

3)更新Magic

RMAN> recover database '/dm/data/DM/dm.ini' update db_magic;

4)生产环境下在还原和恢复后再进行一次全备
**注意:如果在执行过程中出现:果报错“数据文件读写出错”,则是使用 root 打开了 console 控制台操作导致更改了数据文件的读写权限。
在还原与恢复的过程中,需要注意的是,一定是操作的同一个库。
如果在联机备份开启归档时候出现:[-718]:收集到的归档日志不连续.的报错日志,则需要
执行完全检查点checkpoint(100),或者重启数据库
**

ODBC

整体ODBC的配置过程比较简单,按照/opt目录下的模板格式进行配置即可。但是需要注意的是:
root账号是没有配置LD_LIBRARY_PATH的动态参数变量的,如果需要配置LD_LIBRARY_PATH参数变量,可以用root账户执行:

vim ~/.bash_profile export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/XXXXX source ./bash_profile

容易踩坑的点

1.在图形化安装的时候,需要从root切换到dmdba,同时需要注意哪些文件夹需要给dmdba权限
2.在进行数据库安装/实例初始化的时候,需要注意自己是否打开了Caps Lock的大小写锁定按键,自己在设立SYSDBA的密码的时候,因为紧张忘记关大写锁定了,导致后面登录不上去,只能通过uninstall.sh把数据库删了重装(也可以用dbca.sh删除实例然后重装)。
3.在ODBC的安装过程中,需要认真核对odbc.ini 和 odbcinst.ini模版信息中的参数,确保参数信息和考试中需要的参数一致。(比如TCP_PORT端口号等)
4.使用manager工具来导入数据的时候,只能用`方式,并且需要手动commit,可以用manager来导入,然后用disql来进行检查是否数据导入成功。
5.在备份与还原的过程中,容易有两方面的问题,第一个是报[-8055]:备份目录冲突,这是因为备份集和归档集设置在了同一个目录下,或者这个目录下已经有其他的备份集了。第二个问题就是报[-718]归档日志不连续的问题,此时可以执行checkpoint(100)来进行完全检查点。
6.在考试的时候,容易报错invalid(NULL)pointer instance/ "核心已转储”的错误。这种情况,需要检查是否正确配置DISPLAY的变量。可以关闭当前终端,使用dmdba用户执行 xhost +,并且在当前终端启动manager图形化工具。

学习总结

DCA的课程基本上涵盖了达梦数据库的安装、参数配置、SQL查询、基础视图创建、用户管理、备份还原、ODBC配置等操作。考试内容题量还是有点大,需要加以练习,建议还是需要多熟悉命令行,虽然图形化的操作会比命令行要简单,但是如果图形化没启来,只能通过命令行来完成考试。达梦内部员工需要90分以上才能拿证,外部同学70分以上即可通过。总体来说,DCA不算太难,只是作为达梦数据库的入门,只要好好听讲,多加练习,通过概率较大。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服