国产数据库---达梦应用技巧及使用案例

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统的最新版本是8.0版本,简称DM8。
  • 操作系统:Redhat 7
  • 实验环境:VMware Workstation 15 Pro
  • 数据库:DM8 企业版

达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统的最新版本是8.0版本,简称DM8。

一、DM8的安装

第一步:DM8数据库的.iso镜像文件上传到redhat 7操作系统的 /opt/dm8.iso目录下

[root@localhost ~]# ll /opt
总用量 660224
-rwxrw-rw-. 1 root root 676069376 8月  20 2020 dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso
[root@localhost ~]# mv /opt/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /opt/dm8.iso
[root@localhost ~]# ll /opt
总用量 660224
-rwxrw-rw-. 1 root root 676069376 8月  20 2020 dm8.iso

注:修改文件名所用到的命令是mv

第二步:创建挂载目录

mkdir /mnt/dm8

[root@localhost ~]# mkdir /mnt/dm8

第三步:挂载

mount /opt/dm8.iso /mnt/dm8

[root@localhost ~]# mount /opt/dm8.iso /mnt/dm8
mount: /dev/loop0 写保护,将以只读方式挂载

第四步:创建DM用户组和个人用户dinstall、dmdba,并将dmdba添加到dinstall中

groupadd dinstall

[root@localhost ~]# groupadd dinstall

useradd -g dinstall dmdba

[root@localhost ~]# useradd -g dinstall dmdba

第五步:进入被挂载目录 /mnt/dm8 ,执行 ./DMInstall.bin,解压完成后将会弹出图形化安装界面

[root@localhost dm8]# ./DMInstall.bin 
解压安装程序..........

1、点击确定

(因为我之前在中标麒麟和centos 7 都不会弹出图形化安装界面,需要进行如下操作 )

注意:此时会启动图形化界面失败,需要进行如下操作:

1、在root用户下输入echo $DISPLAY ,将其结果:0复制;

2、执行xhost +,检查xclock是否安装,没有安装则yum install -y xclock;

3、切换到dmdba,执行export DISPLAY=:0,也可直接添加到环境变量中vim .bash_profile,完成后刷新环境变量source .bash_profile;

  • 点击下一步
  • 勾选接受,点击下一步
  • 有条件的可以去达梦购买安全版体验安全特性,也可以不选择key文件直接下一步
  • 默认典型安装,下一步

第六步:创建DM安装目录/dm8将其拥有者改为指定的用户dmdba和组dinstall,并赋予改目录权限为755,然后在图形化界面选择该目录为数据库的安装目录

[root@localhost ~]# chown dmdba:dinstall /dm8
[root@localhost ~]# chmod 755 /dm8
  • 选择我们之前创建的/dm8目录,点击下一步,在弹出的窗口点击确定
  • 确认安装信息后点击安装
  • 安装成功,点击完成
  • 这里我们不勾选初始化数据库,点击完成,至此,dm8数据库就安装完成了

一些常用的脚本启动工具:

网络异常,图片无法展示
|

1、 ./DMInstall.bin:可执行的安装文件

2、./uninstall.sh:安装目录中的软件卸载脚本

3、./dbca.sh:安装目录的tool目录下,数据库配置助手:创建、删除数据库实例,注册、删除数据库服务

4、./dmservice.sh:安装目录的tool目录下,DM服务查看器:启动和停止数据库服务

5、./manager:DM管理工具

6、./console:控制台工具(参数,备份与还原,系统信息)

7、./nca.sh:网络配置助手,用于disql连接数据库的ip对应别名,配置文件在/etc/dm_svc.conf,disql用法格式:disql

用户名/密码@别名:端口

8、./disql:安装目录的bin目录下;用于连接数据库,用法:./disql

用户名/密码@localhost:端口号

9、./dts:数据库迁移工具

10、./dminit:命令行创建数据库实例

11、./dmserver:用于启动命令行创建的数据库实例,exit或Ctrl+C终止服务

2、命令行安装

前五步同上;在命令行输入 ./DMInstall.bin -i,根据提示一步一步进行安装操作

二、初始化数据库

1、图形化创建DM数据库

第一步:执行./dbca.sh数据库配置助手脚本进行配置

第二步:创建数据库实例模板

第三步:指定数据库目录

第四步:设置数据库名、实例名、端口号标识

第五步:初始化参数,簇大小只能是16页、32页或64页,默认16页;页大小可以为4k、8k、16k或32k,默认8k;日志文件大小64-2048,默认是64M

第六步:设置密码和创建示例库

2、命令行创建DM数据库

工具:dminit(安装目录的bin目录下)

例子:dminit path=/dm8/data db_name=DMTEST instance_name=DMTESTSERVER port_num=5237

三、注册数据库服务

该功能服务于用dminit工具创建的数据库实例,目的是为了DM服务查看器统一管理DM数据库实例

1、图形化界面注册

打开DM数据库配置工具./dbca.sh;选择注册数据库服务

2、命令行界面注册

在DM安装目录下script/root/dm_service_installer.sh执行脚本文件并指定参数

例子:./dm_service_installer.sh -t dmserver -p DMTESTSERVER -dm_ini /dm8/data/DMTEST/dm.ini

四、启动数据库服务

DM非root用户启动数据库服务的两种方式:

1、/dm8/bin/DmServiceDMSERVER start

问题:在图形化界面显示停止状态,点启动会报错

解答:此方式不会更新 DM服务查看器中服务状态

2、dmserver /dm8/data/DAMENG/dm.ini

DMroot用户启动数据库服务的两种方式:

  • 图形化界面启动 ./dmservice.sh
  • 命令行启动 systemctl start dmservice.sh

五、数据库状态

网络异常,图片无法展示
|

MOUNT:配置状态,在该状态下进行重做日志文件的迁移

OPEN:打开状态

SUSPEND:挂起状态

命令行修改数据库状态:alter database 状态

六、表空间

五个默认创建的表空间:SYSTEM TEMP ROLL MAIN HMAIN表空间状态

网络异常,图片无法展示
|

脱机 offline:不能查看表空间内容;可以将数据文件进行迁移(修改数据文件路径)

联机 online:对表空间数据文件进行相关操作

SYSTEM、ROLL和TEMP表空间不允许脱机。当表空间有未提交事务时,不能脱机联机状态下可以对表空间进行重命名;用户自定义表空间可以重命名,SYSTEM、ROLL、TEMP、MAIN和HMAIN表空间不支持重命名操作。

网络异常,图片无法展示
|

创建表空间:create tablespace XXX datafile ‘xxx/xxx/xxx.dbf’ size xx;

删除表空间:drop tablespace XXX;

修改表空间名:alter tablespace XXX rename to YYY;

修改表空间脱机状态:alter tablespace XXX offline;

修改表空间联机状态:alter tablespace XXXonline;

查询所有表空间的信息:select * from v$tablespace

修改表空间数据文件大小:alter tablespace XXX resize datafile ‘xxx/xxx/xxx.dbf’ to aa;(注意:不能将数据文件的大小变小,例如:256M.dbf==>128M.dbf)

修改表空间数据文件路径:alter tablespace XXX rename datafile ‘xxx/xxx/xxx.dbf’ to ‘yyy/yyy/yyy.dbf’;

一个表空间可以包含多个数据文件,一个数据文件只能归属一个表空间。

七、联机重做日志文件

将数据库切换到MOUNT状态下,然后可以对重做日志文件进行路径修改。

第一步:在数据库管理工具选择数据库,右键选择管理服务器,点击系统管理,可对数据库状态进行转换

第二步:在管理服务器选择日志文件(注意:如果用root用户创建的文件夹,则需要给登入数据库的用户对该文件夹的权限或者直接修改文件夹的所属)

八、数据文件

层次关系:

数据库==》表空间==》数据文件==》段==》簇==》页

网络异常,图片无法展示
|

添加表空间数据文件:

alter tablespace XXX add datefile ‘XXX/XXX/XXX.dbf’ size xx;

扩展数据文件大小:

alter tablespace XXX resize datafile ‘XXX/XXX/XXX.dbf’ to yy;

自动扩展数据文件大小:

1、在添加表空间数据文件时指定参数 autoextend on 或者 autoextend off

2、在创建表空间时指定可扩展数据文件的大小范围

autoextend on next xx maxsize xx;

修改数据文件路径:(此操作表空间必须处于脱机状态)

alter tablespace XXX rename datafile ‘XXX/XXX/XXX.dbf’ to ‘YYY/YYY/YYY.dbf’;

九、用户、角色和权限的管理

权限、角色、用户的关系:

  • 权限==》用户
    权限==》角色==》用户

用户与模式的关系:

  • 归属关系,创建用户的同时会在模式下创建同名文件

权限分类:

网络异常,图片无法展示
|

系统权限:全局,所有表的操作

对象权限:局部,对具体的表操作

授予权限:grant

例子:

grant create table to user;(直接赋予权限)

grant resource to user;(赋予角色)

回收权限:revoke

例子:

revoke create table form user;(直接回收权限)

revoke resource from user;(回收角色)

用户的锁定与解锁:lock unlock

例子:

alter user testuser account lock;(锁定)

alter user testuser account unlock;(解锁)

十、事务的提交与回退

  • commint:对表进行的操作,需要提交
  • rollback:回滚,在数据库中发生了数据修改的操作,但是没有commint,可以使用rollback恢复数据到修改之前的状态

十一、数据库文本导入

首先用(ROOT用户登入)DM./dts数据迁移工具进行数据库表迁移成sql文件【DM==》SQL】登入需要导入表数据的用户下执行命令 start /XXX/XXX/XXX.sql例子:start /dm8/data/DAMENG/backup/dmhr.sql

补充:视图可以用来保护数据,将用户不敏感的数据保存在视图中,而敏感信息则保存在表中,只提供视图给查询用户即可;简单的视图可以进行增加、删除、修改操作,而复杂的函数视图则不能进行以上操作;

十二、数据库备份与还原

物理备份与还原:脱机备份(冷备)

  • 工具:./console:DM控制台工具==》备份还原==》新建备份
  • 流程: 准备工作:首先需要关闭备份和还原的数据库服务

第一步:点击新建备份;选择需要备份的数据库文件dm.ini;自动在bak目录下生成备份文件

第二步:点击还原;选择需要还原的数据库目录下的数据库文件dm.ini;如果提示已存在,则勾选覆盖数据库文件;

第三步:点击恢复;选择需要恢复的数据库目录下的数据库文件dm.ini;

第四步:点击更新数据库魔数;选择需要更新的数据库目录下的数据库文件dm.ini;

总结:数据库备份还原成功;需要注意一点:备份还原后的数据库口令已不是本身的口令,而是备份数据库的口令;

逻辑备份与还原:导入与导出

方式:图形化管理工具和命令行导出(dexp)导入(dimp)命令

步骤:

第一步:在DM图形化管理工具选择需要备份导出的数据库

第二步:指定导出文件目录及文件

第三步:在DM图形化管理工具选择需要还原导入的数据库

第四步:选择导入文件所在的目录及文件

第五步:逻辑备份还原操作完成

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
2月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
2天前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
19天前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
83 8
|
15天前
|
数据库
【赵渝强老师】达梦数据库实例的状态
达梦数据库实例包含NORMAL、PRIMARY和STANDBY三种模式,以及MOUNT、OPEN和SUSPEND三种状态。模式之间可在MOUNT状态下相互转换,不同状态与模式适用于数据库的启动、配置及运行需求。
|
8天前
|
存储 弹性计算 安全
现有数据库系统中应用加密技术的不同之处
本文介绍了数据库加密技术的种类及其在不同应用场景下的安全防护能力,包括云盘加密、透明数据加密(TDE)和选择列加密。分析了数据库面临的安全威胁,如管理员攻击、网络监听、绕过数据库访问等,并通过能力矩阵对比了各类加密技术的安全防护范围、加密粒度、业务影响及性能损耗。帮助用户根据安全需求、业务改造成本和性能要求,选择合适的加密方案,保障数据存储与传输安全。
|
1月前
|
存储 人工智能 数据库
视图是什么?为什么要用视图呢?数据库视图:定义、特点与应用
本文三桥君深入探讨数据库视图的概念与应用,从定义特点到实际价值全面解析。视图作为虚拟表具备动态更新、简化查询、数据安全等优势,能实现多角度数据展示并保持数据库重构的灵活性。产品专家三桥君还分析了视图与基表关系、创建维护要点及性能影响,强调视图是提升数据库管理效率的重要工具。三桥君通过系统讲解,帮助读者掌握这一常被忽视却功能强大的数据库特性。
383 0
|
2月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
23天前
|
安全 关系型数据库 MySQL
MySQL安全最佳实践:保护你的数据库
本文深入探讨了MySQL数据库的安全防护体系,涵盖认证安全、访问控制、网络安全、数据加密、审计监控、备份恢复、操作系统安全、应急响应等多个方面。通过具体配置示例,为企业提供了一套全面的安全实践方案,帮助强化数据库安全,防止数据泄露和未授权访问,保障企业数据资产安全。
|
8天前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
39 3