达梦DCA 认证考试培训学习技术分享

DCA考试整体难度适中,有 ORACLE的经验相对容易,内容上大部分兼容oracle。考试时间2小时,全为上机实操,包含:数据库 安装、实例创建、参数修改、创建表空间、创建用户、角色、权限管理; 创建表、导入脚本数据、约束、索引、视图等;物理备份还原、逻辑备份还原;DM 作业、 ODBC 配置等。
 达梦数据库发展至今也很多年了,在使用习惯上做了很多的适配,达梦的图形化管理工具基本上支持日常百分之七八十左右的操作,非常人性化,非常强大。支持国产、相信总有一天我们国家的系统均能自给自足、哈哈~~

环境准备

进入正题,在日常练习学习中,需要准备的环境如下:
操作系统:Windows Server 版,Windows 7以上更高版本
内存:4G及以上
硬盘:40G及以上的连续硬盘空间
虚拟机:VMware(如果真机环境是银河麒麟ky10.x86_64,则不需要虚拟机)
实验环境操作系统:银河麒麟ky10.x86_64(麒麟操作系统比较吃内存,建议分配2G以上的内存)/CentOS7/redhat7也可
数据库:DM8安装包官网可下载,(默认开发版本有一年的试用期,安装的时候可以暂时不注册key)
在本机上装VMware的朋友们要注意啦,建议win10操作系统以上的使用VMware16及以上版本,否则可能会出现一启动虚拟机就蓝屏的情况。在VMware上装麒麟数据库时,可选择Linux  CentOS7/redhat7 的选项进行安装。
安装及使用文档达梦官网有特别详细的说明,这里就不作过多叙述,可参照以下网站内容,打开网页的时候注意一下浏览器的兼容性,建议使用IE外的其他浏览器,谷歌呀、firefox之类的打开,我就遇到过IE打开没有显示完整的情况,当时还以为网站上什么详细的内容都没有写呢,哈哈。终究是我格局小了,文档写的可详细了。
安装前准备 | 达梦技术文档 (dameng.com)icon-default.png?t=M1H3https://eco.dameng.com/docs/zh-cn/start/install-dm-linux-prepare.html接下来我主要介绍一下学习考试中踩过的坑,以数据库安装用户为dmdba为例................

设置图形化界面:

对于我们这些懒人来说,当然特别喜欢使用图形化界面了。要启动图形化界面,首先需要进行设置。
1 )第一次进入虚拟机,root用户下执行  xhost + 
root@KylinDCA03 桌面 ]# xhost +
access control disabled, clients can connect from any host
2 )查看 root 用户的 DISPLAY 变量值
[root@KylinDCA03 桌面 ]# echo $DISPLAY
:0.0
3 )切换 dmdba 用户 
[root@KylinDCA03 桌面 ]# su - dmdba
4 )设置 dmdba 用户的 DISPLAY 变量值为步骤( 2 )中的值(仅对当前会话生效)
[dmdba@KylinDCA03 ~]$ export DISPLAY =:0.0
如果不想每次调用图形化界面都设置一遍,可将设置写到环境变量中 
cd
vi .bash_profile

 然后加上内容 export DISPLAY=:0.0

修改完成保存后,执行 source .bash_profile

安装前文件打开数设置

为了避免安装或使用过程中出现超过最大打开文件数之类的错误,可在安装前对最大文件数进行检查或设置。

ulimit -a 查询

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 11341
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 11341
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


open files 默认1024  需做调整,有两种方式可做调整

cat /proc/sys/fs/file-max 可查询打开文件数可设置的最大值

(1)使用 编辑器打开 /etc/security/limits.conf 文件进行设置

在最后添加四条语句,需添加的语句如下:
dmdba hard nofile 102400
dmdba soft nofile 102400

root hard nofile 102400
root soft nofile 102400

重启服务器后永久生效


(2)使用 ulimit -n 数值 调整 

ulimit -n 102400
设置参数后临时生效 

小写查询表/执行存储过程报错

这个是数据库大小写敏感的问题。数据库在初始化的时候选择是否大小写敏感,默认是大小写敏感。这时执行的 SQL 在到解释器那层解析时,会自动转换为大写名称,但数据库存的小写对象。这样一来,在执行查询表或调用存储过程时,数据库解释器自动换行成大写对象,而大写对象在数据库中是不存在的。解决方案可以加上""(双引号)再执行,如:select * from "aaa";还是建议大家最好是使用大写进行创建。

密码的修改策略

PWD_POLICY 参数指定系统的口令策略,默认为 2
系统支持的口令策略有:
0 无策略
1 禁止与用户名相同
2 口令长度不小于 9
4 至少包含一个大写字母( A-Z
8 至少包含一个数字( 0-9
16 至少包含一个标点符号(英文输入法状态下,除 和空格外的所有符号)
口令策略可单独应用,也可组合应用。组合应用时,如需要应用策略 2 4 ,则设置口
令策略为 2+4=6 即可。
select * from v$parameter t where t . name = 'PWD_POLICY' ;
alter SYSTEM set 'PWD_POLICY' = 6  BOTH ;

密码带有特殊字符的登录处理:

如果含有特殊字符,则需要用引号扩起来

例(1)alter user hrtest IDENTIFIED by "Dameng@123";

例(2)/dm8/bin/disql sysdba/'"dameng@123":5236' 

收集到的归档日志不连续错误解决

执行CHECKPOINT(100);

sql数据的导入(DM 使用 start 或者`)

(1)命令行方式

方法一:SQL> start /dm8/backup/JOB.sql
方法二:SQL> ` /dm8/backup/JOB.sql

(2)图形化管理工具的窗口方式

` /dm8/backup/JOB.sql

sql数据导入常见问题

在学习过程中,有看到其他的学习伙伴在导入时遇到了很多问题,也简单总结一下。同伴使用的时图形化页面进行建表,图形化界面建表的内容可选项非常多,稍不留意就可能设置错误 。其实定位问题还是蛮简单的,建议可以从以下几个方面进行排查:

(1)各字段的字段类型和长度是否正确

(2)主键字段是否正确(有没有建错主键)

(3)是否包含自增长序列

(4)约束是否存在语法错误

(5)外键字段是否正确

第一点需要细致,就不过多叙述;

第二点,作为主键字段,一定要保证主键字段的数据时唯一且非空的

第三点,也需要细致,这个当时是不需要自增长的,同伴在用图形化界面建表的时候不小心给选中了这一个

第四点:约束这块一定要注意语法,有可能建表的时候系统并不能识别出有语法错误,需要仔细核对约束字段的字段类型,当时要求的是对一个日期型格式字段进行日期限定约束,同伴直接用字段<'20010101'的方式设置的,实际应该使用 字段 < date '2001-01-01'的方式进行设置,由于设置错误,建表时系统并未识别出错误,导入的时候报错了:字符串转化错误(记不大清楚了,反正类似的错误),由于错误没有指定哪个字段的问题,所以找这个问题还是花了些时间

第五点:外键字段:关联的是另外一张表的主键字段,对于本表来说,一定要选择与另一张表同一个意义字段。当时同伴就误选成本表的主键字段,导致导入的时候一之报错。

推荐一个方法,在自己无法确定哪个环节出问题的时候,可以选择先禁用所有基础表相关的主键、约束、外键等等特殊设置,再进行导入。如果导入成功,再启用一个特殊设置,清空表后重新进行导入,如果导入成功,则进行测试下一个设置,如果导入不成功,那就是这个设置的问题,虽然方法是笨了点,但好使,哈哈。

ODBC 的安装:

1 )解压
[root@KylinDCA03 opt]# tar -zxvf unixODBC-2.3.0.tar.gz
2 )源码安装三部曲(配置、编译、安装)
[root@KylinDCA03 opt]# cd unixODBC-2.3.0/
[root@KylinDCA03 unixODBC-2.3.0]# ./configure
[root@KylinDCA03 unixODBC-2.3.0]# make
[root@KylinDCA03 unixODBC-2.3.0]# make install
3 ) 配置 odbc.ini 数据源信息和 odbcinst.ini 驱动信息
[root@KylinDCA03 unixODBC-2.3.0]# cd /usr/local/etc/
(/usr/local/etc/:如果没有修改安装目录,默认会安装到此路径下)
[root@KylinDCA03 etc]# vim odbcinst.ini
[ DM8 ODBC DRIVER ]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@KylinDCA03 etc]# vim odbc.ini
[ DM8 ]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5236
使用 dmdba 用户执行 isql 测试连接是否正常:
su - dmdba 
isql dm8 -v (dm8与odbc.in中的设置对应,设置和调用均不区分大小写)
注意su的时候记得带-,数据库安装时会自动写入环境变量, LD_LIBRARY_PATH和DM_HOME,配置了 LD_LIBRARY_PATH  环境变量 才能调用isql成功

susu -都是用来切换用户的命令,简单说它们之间的区别就是:su -切换的干净彻底,而su
切换用户却拖泥带水。

su username,切换到指定用户,但是当前目录不会变化,环境变量还是上一个用户的环境变量。

su - username,切换到指定用户,当前目录即刻切换成指定用户的家目录,即~环境变量
即刻切换到指定目录的环境变量。

ENDING

希望大家都能顺利通过考试,切记考试中一定一定要仔细审题,目录、名字等等千万不要弄错了。。。盆友们,下次见~~~

 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值