【达梦数据库DM8】DM8基本操作及DCA考试感悟分享

 

前言

    达梦公司从1988年研制我国第一个自主版权的数据库管理系统CRDS开始,经过不断的迭代与发展,在吸收主流数据库产品优点的同时,逐步形成了自身的特点,如今达梦数据库已经受到业界和用户的广泛认同。达梦数据库也有了一套完善的认证体系,如图所示:

    其中DCA考察的主要内容为DM8数据安装、创建数据库及实例管理、DMSQL、DM8体系结构、表空间管理、用户管理、模式对象管理、数据库的备份还原、作业管理、DM8开发。下面就是我对达梦数据库DM8-DCA认证的一些学习感悟分享。操作系统:Linux

1.DM8数据库的卸载和安装

1.1 卸载数据库(卸载和安装部分建议反过来看)

1.1.1 运行uninstall.sh

脚本所在位置为DM8数据库安装所在目录

# 进入DM数据库所在安装目录
cd /dm8
# 运行卸载脚本
./uninstall.sh

1.1.2  查看安装目录剩下的文件

1.1.3  清空安装目录 

# 在该目录下执行如下命令,删除所有文件
rm -rf *
# 查看安装目录是否清空
ls

1.2 安装数据库 

1.2.1 创建用户组和用户

# 创建用户组
groupadd dinstall
# 创建用户
useradd -g dinstall dmdba
# 为dmdba用户设置密码
passwd dmdba
# 创建完成后使用以下命令查看是否成功
id dmdba

1.2.2 规划软件安装路径

# 创建数据库安装路径,注意该文件夹为root用户创建
mkdir /dm8
# 授予dmdba用户操作dm8文件夹的权限
chown dmdba:dinstall /dm8
# 查看是否授予成功,正确结果如下图所示
ll -ld /dm8

   

1.2.3 设置文件最大打开数

Linux系统对文件打开的数量有最大的限制,它通常设置为1024,这个数值很容易会达到,从而造成系统程序或系统的瓶颈。所有在进行DM8的安装之前建议修改文件最大打开数。

# 查看最大可打开文件数
ulimit -a

    

# 临时设置,仅当前会话生效
ulimit -n 65536
# 永久设置,需要root用户操作
vi /etc/security/limits.conf
# 然后写入如下内容,保存退出,重启服务器生效
dmdba soft nofile 65536
dmdba hard nofile 65536

root soft nofile 65536
root hard nofile 65536

之后用 ulimit -a 查看是否修改成功

1.2.4 挂载安装文件

# 挂载镜像 mount /镜像地址 /挂载的目标路径
mount -o loop /opt/dm8_20220525_x86_rh6_64.iso /mnt

  

1.2.5 图形化界面安装

此时需要设置DISPLAY,否则调用图形化界面会失败,先来个错误示范

# 切换到dmdba用户
su - dmdba
# 进入到挂载目录
cd /mnt
# 查看目录下的文件
ls
# 执行安装程序
./DMInstall.bin

  

 从上图我们可以看出,之所以失败是因为初始化图形界面失败,此时我们就需要设置DISPLAY的值才能成功调用图形化界面

# 打开终端,需要root用户,执行如下命令
xhost +
# 查看DISPLAY变量值
echo $DISPLAY
# 切换到dmdba用户
su - dmdba
# 设置DISPLAY值,为root用户下查出的DISPLAY变量值,注意仅对当前会话生效
export DISPLAY=:0
# 然后执行如下命令,即可在该会话下调用图形化界面(额,其实好像不加下面这个命令也可以调用,也许只是为了确认设置成功了吧)
xhost +

 

# 接着进入到挂载目录
cd /mnt
# 执行图形化安装程序
./DMInstall.bin

 然后你就可以根据自己的需求进行相应的设置了,key路径可以不用填,一般如果你没有什么特殊要求的话,就只要改个安装路径就行,其余不用动,然后注意根据它的提示进行相应的操作,慢慢来,看清,不要错过了一些步骤设置,相信图形化肯定难不倒你,所以此处省略n张图片。

1.2.6 命令行安装

# 与图形化安装唯一不同的就是加了一个 -i
./DMInstall.bin -i

同样慢慢来,看清,不要错过一些步骤设置,如这个设置:

2.数据库实例管理

2.1 创建数据库实例

2.1.1 图形化创建

# 进入DM的工具目录
cd /dm8/tool
# 启动DM配置助手
./dbca.sh

这里就不一一展示之后的图形化步骤了(此处省略9张或者更多图片),然后你就可以根据自己的需求进行相应的配置,唯一需要注意的就是下面这个,如果没用root执行这三个脚本命令,可能会导致数据库服务创建失败,数据库无法启动。

         

2.1.2 命令行创建

手动建库

# dmdba用户执行
cd /dm8/bin
# 查看帮助手册
./dminit help
# 创建数据库
./dminit db_name=TEST instance_name=TEST port_num=5237 path=/dm8/data

手动注册服务

# root用户执行
cd /dm8/script/
# 注册数据库服务,-p 设置服务名后缀
./dm_service_installer.sh -t dmserver -p TEST -dm_ini /dm8/data/TEST/dm.ini

设置开机自动启动数据库服务,注意数据库服务名前缀是定死了的,为DmService

# root用户执行
systemctl enable DmServiceTEST.service

2.2 数据库连接

2.2.1 disql 工具

1 /dm8/bin    类似于oracle sqlplus username/passwd
# 进入到bin目录
cd /dm8/bin
# 本地连接可省略ip
./disql SYSDBA/SYSDBA:5236
# 连接远程服务器需要加上ip
./disql SYSDBA/SYSDBA@223.254.16.66:5236
2 /dm8/tool    类似于oracle sqlplus /nolog
                                   connect username/passwd
# 进入到tool目录
cd /dm8/tool
# 使用disql连接,本地连接可省略ip
./disql 
# 然后 connect 用户名/密码:端口号
connect SYSDBA/SYSDBA:5236

   

 2.2.2 manager工具

# 进入到tool目录
cd /dm8/tool
# 运行manager工具
./manager

     

2.3 数据库的启动和关闭

2.3.1 数据库的实例状态

DM 数据库的启动顺序: shutdown -> mount ->open
Oracle 启动: shutdown -> nomount -> mount ->open
Shutdown: 关闭状态。
MOUNT :配置状态,此状态下不能访问数据库中数据文件的数据,可以访问 v$ 开头来源于
控制文件或内存中的表数据。配置状态,数据库不能对外提供正常服务,业务不能正常运行。
设置归档、迁移联机日志、设置主备集群主机、备机需要在配置状态。
OPEN 状态:打开状态,此时数据库对外提供正常服务。可以读写数据文件中的数据。
SUSPEND 状态:挂起状态,此时数据库只能读不能写。
DM mount open 可以相互转换, Oracle mount 只能到 open open 不能到 mount
DM suspend open 可以相互转换,但 mount suspend 不能相互转换。
DM 没有 NOMOUNT 状态( oracle NOMOUNT 状态)

   

     

2.3.2 数据库启动和关闭

(1)服务方式启动:使用systemctl命令,root用户执行

# 查看服务状态
 systemctl status DmServiceTEST.service
# 关闭数据库服务
 systemctl stop DmServiceTEST.service
# 启动数据库服务
 systemctl start DmServiceTEST.service
# 重启数据库服务
 systemctl restart DmServiceTEST.service

(2)DM服务查看器,root用户执行

cd /dm8/tool/
./dmservice.sh

(3)使用后台启动方式,dmdba用户执行(DmServiceXXXXXXXX 是实例名

#进入安装目录的bin目录下
cd /dm8/bin
# 启动数据库服务
./DmServiceTEST start
# 关闭数据库服务
./DmServiceTEST stop
# 启动到mount状态
./DmServiceTEST start mount

(4)使用前台启动方式,dmdba用户执行,前面三种启动,前提都是数据库已经注册 linux 服务。 前台启动方式没有这个限制。前台启动方式可以启动到 mount,也可以到 open。 按 CTRL+C 或者输入 exit 数据库即会关闭。

cd /dm8/bin
# 默认启动到 OPEN 状态
./dmserver /dm8/data/DMOA/dm.ini
# 启动到 mount 状态
./dmserver /dm8/data/DMOA/dm.ini mount

3.DMSQL

3.1 SQL分类

DML(Data Mannipulation Language) 数据操纵语言:
查询、操纵数据表资料行,包含: INSERT DELETE UPDATE SELECT MERGE
DDL(Data Definition Language) 数据定义语言:
建立、修改、删除数据库中数据表对象,包含: CREATE ALTER TRUNCATE DROP
COMMENT
DCL(Data Control Language) 数据控制语言:
用于执行权限授予与收回操作,包含 :GRANT REVOKE
TCL(Transactional Control Language) 事物控制语言:
维护数据的一致性,包含: commit rollback savepoint
TRUNCATE DELETE 的区别:
DELETE DML 语句, delete 操作会产生 redo undo ,所以大量的 delete 数据很慢。 Delete 可以删除部分数据(带 where 条件删除),支持回滚 rollback Delete 的数据支持闪回查询。 Delete 不立即释放空间。
TRUNCATE DDL 语句,不会产生 redo undo ,整表删除数据,大表的 truncate 也很快。 不支持删除部分数据,只支持整表删除,不支持回滚。不支持闪回查询。truncate 立即释放空间。

3.2 SQL查询

Select 查询字段信息,聚合函数
From 表名 / 视图名 / 子查询
Where 条件过滤 (>= = < <>, in, like , is null, is not null between and 等等 )
Group by 分组列( cube rollup 小计合计)
Having 分组后聚合条件的过滤
Order by 排序列

3.3 按要求创建视图

CREATE VIEW TEST.VIEW_SALARY AS
SELECT B.DEPARTMENT_ID,B.DEPARTMENT_NAME,SUM(A.SALARY) SUMSALARY
FROM TEST.EMPLOYEE A,TEST.DEPARTMENT B
WHERE A.DEPARTMENT_ID=B.DEPARTMENT_ID
HAVING SUM(A.SALARY)>80000
GROUP BY B.DEPARTMENT_ID,B.DEPARTMENT_NAME;

总结

    通过这次达梦数据库DM8-DCA的培训学习及考试,让我对达梦数据库有了更深的了解,不仅对我后续工作有很大帮助外,更是让我对达梦数据库的发展充满了信心。祝愿达梦数据库产品越来越好,构筑大数据中国梦。

                                                                            

                                                                           

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值