导航菜单
首页 >  CBA考试是什么  > 达梦数据库(DM8)基本使用及DCA考试心得

达梦数据库(DM8)基本使用及DCA考试心得

达梦数据库(DM8)基本使用及DCA考试心得

达梦数据库是一款完全自主原创的国产数据库。近些来的不断发展,达梦数据库在中国不断壮大,与政府及事业单位应用广泛。有幸在上年暑期参加了达梦举办的达梦精英挑战赛,认识接触到了达梦数据库,并有幸参加了DCA考试。因此发此博文记录。

DM8的安装

本次DM的安装均在中标麒麟7的操作系统下进行,其他Linux系统无独有偶,windows系统请自行尝试:

安装之前: 请检查系统配置,使用ulimit -a命令查看参数(主要注意参数如下) 在这里插入图片描述 (获取你可能发现你的open files不够。咋办?)在这里插入图片描述 设置文件打开数 open files(临时方法,仅针对会话生效 ulimit -n):[root@localhost opt]# ulimit -n 102400[root@localhost opt]# ulimit -n102400设置文件打开数(修改配置文件,永久生效):[root@localhost opt]# vim /etc/security/limits.conf增加dmdba soft nofile 10240dmdba hard nofile 65536 安装用户组和安装用户(数据库推荐由一个专门dba用户统一管理,而不是root) [root@localhost opt]# groupadd dinstall[root@localhost opt]# useradd -g dinstall dmdba 创建安装目录及安装操作(本次使用图形化安装(方便!!),命令行安装可看最后附件。); [root@localhost opt]# mkdir /dm8 #用于安装数据库的目录[root@localhost /]# chown dmdba:dinstall /dm8 #切换属主属组[root@localhost /]# chmod 755 /dm8#更改目录权限挂载 iso 镜像文件:[root@localhost /]#mkdir /mnt/dm[root@localhost /]# mount /opt/dm8_20210203_x86_rh6_64_ent_8.1.1.172.iso /mnt/dmmount: /dev/loop0 写保护,将以只读方式挂载[root@localhost /]# su - dmdba[dmdba@localhost ~]$ cd /mnt/dm[dmdba@localhost dm]$ ./DMInstall.bin #执行可视化安装

!!!注:若不能成功唤起可视化图形界面可用以下方法解决:

出现上述错误是图形化界面参数未设置好。使用下列方法设置图形化界面:图形化界面设置(root 执行 xhost +,并查看 DISPLAY 变量):[root@localhost 桌面]# xhost +access control disabled, clients can connect from any host[root@localhost 桌面]# echo $DISPLAY:0[root@localhost 桌面]#设置 dmdba 用户的 DISPLAY(仅对当前会话生效)[dmdba@localhost dm]$ echo $DISPLAY[dmdba@localhost dm]$ export DISPLAY=:0[dmdba@localhost dm]$ ./DMInstall.bin

在这里插入图片描述 切记用root执行!root执行!root执行!!! 4. 安装完成后主要使用的工具汇总:(主要在/dm8/tool的路径下); 在这里插入图片描述

创建数据库及数据库示例管理(./dbca.sh,命令行操作可看最后附件): 在这里插入图片描述 在这里插入图片描述 这步操作可按各自所需进行修改,若不修改可直接下一步直至完成。注意!!最后的命令也需要root执行!!!!!DM客户端的使用(./manager 达梦的可视化效果还是很好的,可以实现全部操作的可视化了) 在这里插入图片描述 其中新建查询sql与oracle相似。表空间管理 在这里插入图片描述 使用创建表空间示例: #创建表空间,默认自动扩展了 Create tablespace tbsprod DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod01.dbf' size 32;#修改表空间的名字 alter tablespace TBSPROD rename to TBSPRODTEST;#更改表空间文件大小 Alter tablespace "TBSPROD" resize datafile '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' to 64; alter TABLESPACE TBSPROD ADD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf'size 32; #添加数据文件 alter tablespace "TBSPROD" offline; alter tablespace "TBSPROD" rename datafile '/dm8/data/DMTEST3/tbs/tbsprod01.dbf' to '/dm8/data/DMTEST3/tbsprod01.dbf'; alter tablespace "TBSPROD" online;#修改表空间数据文件的位置 alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' AUTOEXTEND off;#修改为不自动扩展 alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' AUTOEXTEND on NEXT 2 maxsize 1024;#开启自动扩展,指定范围 Select * from DBA_DATA_FILES; #查看表空间的数据文件select * from v$tablespace;#查看存在的表空间Select * from v$huge_tablespace;#查看大表空间

以上命令不会写也没事,可以通过manager管理工具进行可视化操作,操作简单命令,因此不展示了!

用户管理: 在这里插入图片描述

示例:

#创建用户 create user "USERTEST" identified by "123456" default tablespace "TBSPROD"; Alter user USERTEST identified by .... 修改用户密码Alter user USERTEST ACCOUNT lock(unlock); 用户锁定解锁 SELECT GRANTEE,PRIVILEGE,TABLE_NAME FROM DBA_TAB_PRIVS WHERE GRANTEE='aaa';查看用户权限信息 REVOKE CREATE TABLE FROM TEST; revoke VTI FROM aaa; 撤销权限 DROP USER USERTEST;删除用户 #创建角色 CREATE ROLE ROLE1; GRANT CREATE TABLE TO ROLE1;GRANT UPDATE ON SYSDBA.EMP TO ROLE1; 给角色分配权限

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 如图:界面化操作简单明了,即便不会具体的sql,在界面依旧可以完成,同在DDL可以查看已操作的命令行sql语句!!

模式对象管理: DM 中一个用户可以拥有多个模式,一个模式只能归属于一个用户。 Oracle 用户和模式是一对一,DM 可以一对多。 创建用户,默认会创建一个同名的模式,也可以单独创建模式。 默认情况下,用户查询同名模式下的对象。

在模式下,可创建表,修改表,增加外键,索引 , 视图。。。。(语句与oracle基本类似) 创建表:create table t_usertest(userid int,username varchar(20) )tablespace tbs;修改字段:alter table t_usertest modify username not null;添加字段:alter table t_usertest add phonenumber varchar(30) unique ;alter table t_usertest add sex bit;alter table t_usertest add email varchar(20);删除字段:alter table t_usertest drop column email;外键(引用的是另一张表的主键):create table t_emp(emp_id int constraint pk_emp_empid primary key,emp_name varchar(20),dept_id int );

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 如图:图形化界面操作简单!!!!!!!!!!!!!!

10.备份与还原: BAK_PATH 为数据库默认备份目录,生产环境建议修改此目录,避免磁盘损坏,备份文件 和源库数据文件同时损坏的情况。 (./dmservice.sh root 打开!!!) 保证DmAPService开启,需备份还原的数据库服务关闭!在这里插入图片描述 (./console tool目录下 dmdba用户打开) 在这里插入图片描述 注意:表空间的还原和恢复(不需要更新数据库魔数) 数据库级的还原和恢复如果没有更新数据库魔数,则会启动失败。(需更新数据库魔数) 在这里插入图片描述

DCA考试

dca考试时长2小时,通过VLC远程连接服务器,按照考试试卷.txt进行操作即可,考试内容基本包含上述内容,且占大部分。可能还包含作业管理等等。整体难度适中,但考试一定要小心!!我就是因为没看清端口号,一直登不进数据库,还以为哪步操作错误了,看了半天日志。浪费了好多时间,太可惜了!!!总之:小心仔细,一定顺利通过考试的!!!!!

命令行操作: (静默安装):./DMInstall.bin -idminit help 初始化创建数据库 创建数据库 dmdba用户dminit path=/dm8/data db_name=DMTEST instance_name=DMTESTSERVER port_num=5237创建服务 root用户 /dm8/script/root默认未启动./dm_service_installer.sh -t dmserver -p DMTESTSERVER -dm_ini /dm8/data/DMTEST/dm.ini 删除服务 root用户/dm8/script/root./dm_service_uninstaller.sh -n DmServiceDMTESTSERVER启动关闭服务 DmServiceDMTESTSERVER stop(start) dmdba用户/dm8/bin/#systemctl stop DmServiceDMTESTSERVER3.service root用户dmserver dm.inidmdba到要启动的数据库的目录下/dm8/data/DAMENG 临时的关闭了就没了图形化进入dmservice.sh root用户进入修改冷备/全量备份:服务需关闭1.systemctl stop DmServiceDMSERVER.service用root先关闭服务2../dmrman dmdba用户/dm8/bin3.backup database '/dm8/data/DAMENG/dm.ini' full; 备份4.systemctl stop DmServiceDMTESTSERVER3.serviceroot用户关闭DMTESTSERVER35. restore database '/dm8/data/DMTEST3/dm.ini' from backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20200823_171641_696277'; 把DAMENG的数据恢复到DMTEST3中6.recover database '/dm8/data/DMTEST3/dm.ini' update db_magic 还原图形化进入console工具backup database '/dm8/data/DAMENG/dm.ini' full;restore database '/dm8/data/DMTEST/dm.ini' from backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20200821_160405_556837';recover database '/dm8/data/DMTEST/dm.ini' update db_magic;创建表空间 Create tablespace tbsprod DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod01.dbf' size 32; 默认自动扩展了 alter tablespace TBSPROD rename to TBSPRODTEST;修改表空间的名字 Alter tablespace "TBSPROD" resize datafile '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' to 64; 更改表空间文件大小 alter TABLESPACE TBSPROD ADD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf'size 32; 添加数据文件 alter tablespace "TBSPROD" offline;alter tablespace "TBSPROD" rename datafile '/dm8/data/DMTEST3/tbs/tbsprod01.dbf' to '/dm8/data/DMTEST3/tbsprod01.dbf';alter tablespace "TBSPROD" online; 修改表空间数据文件的位置 alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' AUTOEXTEND off;修改为不自动扩展 alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf' AUTOEXTEND on NEXT 2 maxsize 1024; 开启自动扩展,指定范围 Select * from DBA_DATA_FILES; 查看表空间的数据文件select * from v$tablespace;查看存在的表空间Select * from v$huge_tablespace;查看大表空间创建用户create user "USERTEST" identified by "123456" default tablespace "TBSPROD";Alter user USERTEST identified by .... 修改用户密码 Alter user USERTEST ACCOUNT lock(unlock); 用户锁定解锁SELECT GRANTEE,PRIVILEGE,TABLE_NAME FROM DBA_TAB_PRIVS WHERE GRANTEE='aaa';查看用户权限信息REVOKE CREATE TABLE FROM TEST; revoke VTI FROM aaa; 撤销权限DROP USER USERTEST;删除用户创建角色 CREATE ROLE ROLE1;GRANT CREATE TABLE TO ROLE1; GRANT UPDATE ON SYSDBA.EMP TO ROLE1; 给角色分配权限移动日志文件位置,一定要是mount状态Alter database mount;Alter database RENAME LOGFILE 'DMTEST301.log' to './redo/DMTEST301.log';添加日志文件,在open状态alter database add logfile '/dm8/data/DMTEST3/DATEST305.log' size 32;添加日志文件 alter database resize logfile '/dm8/data/DMTEST3/redo/DMTEST301.log' to 500; 修改日志文件的大小select * from SYS."V$RLOGFILE"; 查看重做日志信息 select * from SYS."V$RLOG"; 查看当前活跃的日志文件数据迁移./dtsdisql sysdba/SYSDBA@192.168.88.135:5236 dmdba用户/dm8/bin./disqldisqlstart /dm8/data/backup/dmhr.sql 导入数据文件逻辑导出dexp helpdmdba用户/dm8/bin ./dexp userid=sysdba/tls2008033:5239 directory=/dm8/data/bak file=dexpDAMENG_fulltest.dmp log=dexpDAMENG_fulltest.log full=y 必须是sysdba用户进行全量导出逻辑导入dmdba用户/dm8/bin ./dimp userid=sysdba/SYSDBA:5242 directory=/dm8/data/bak file=dexpDAMENG_fulltest.dmp log=dexpDAMENG_fulltestimp.log full=y disql sysdba/SYSDBA@192.168.88.135:5236 cat /etc/dm_svc.conf 查看网络配置属性 执行DML语句(insert,update,delete,select) 需要commit或rollback;创建索引 create index idx_id on t_test(id);物理备份和逻辑备份逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。例如使用 dexp 和 dimp 进行的备份还原。逻辑备份针对的是数据内容,不关心这些数据物理存储在什么位置物理备份还原是对 数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。例如使用 RMAN 工具进行的备份还原。

相关推荐: