前言

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

centos7 如何卸载达梦数据库实例_数据

    其中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  查看安装目录剩下的文件

centos7 如何卸载达梦数据库实例_DM_02

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

  

centos7 如何卸载达梦数据库实例_数据_03

 

1.2.3 设置文件最大打开数

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

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

    

centos7 如何卸载达梦数据库实例_数据库_04

# 临时设置,仅当前会话生效
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

  

centos7 如何卸载达梦数据库实例_数据_05

1.2.5 图形化界面安装

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

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

  

centos7 如何卸载达梦数据库实例_centos7 如何卸载达梦数据库实例_06

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

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

 

centos7 如何卸载达梦数据库实例_数据库_07

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

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

1.2.6 命令行安装

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

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

centos7 如何卸载达梦数据库实例_DM_08

2.数据库实例管理

2.1 创建数据库实例

2.1.1 图形化创建

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

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

         

centos7 如何卸载达梦数据库实例_数据库_09

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

   

centos7 如何卸载达梦数据库实例_数据_10

 2.2.2 manager工具


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

     

centos7 如何卸载达梦数据库实例_数据库_11

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 状态)

   

centos7 如何卸载达梦数据库实例_linux_12

     

centos7 如何卸载达梦数据库实例_数据库_13

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

centos7 如何卸载达梦数据库实例_DM_14

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

#进入安装目录的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的培训学习及考试,让我对达梦数据库有了更深的了解,不仅对我后续工作有很大帮助外,更是让我对达梦数据库的发展充满了信心。祝愿达梦数据库产品越来越好,构筑大数据中国梦。