达梦数据库DMV8 管理与维护知识小结

1、DM8 简介

达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统的最新版本是8.0版本,简称DM8。DM8采用全新的体系架构,在保证大型通用的基础上,针对可靠性、高性能、海量数据处理和安全性做了大量的研发和改进工作,极大提升了达梦数据库产品的性能、可靠性、可扩展性,能同时兼顾OLTP和OLAP请求,从根本上提升了DM8产品的品质。新一代大型通用关系型数据库,全面支持 ANSI SQL 标准和主流编程语言接口/开发框架。行列融合存储技术,在兼顾 OLAP 和 OLTP 的同时,满足 HTAP 混合应用场景。融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进。

2、DM8数据库的安装

DM数据库适配多种操作系统,包括主流的windows,Linux发行版以及国产操作系统。安装之前首先要确认与服务器硬件的兼容性

更多适配信息请登录达梦官网达梦云适配中心 | 达梦数据库 查询确认。

2.1、查看硬件服务器CPU架构,内核版本,在达梦官网获取与CPU和操作系统对应的安装包

[root@localhost]lscpu
[root@localhost] cat /proc/cpuinfo
[root@localhost] cat /proc/version

2.2、查看操作系统(linux)glibc 版本号(glibc>2.3

[root@localhost]rpm -qa|grep glibc

2.3、配置图形化显示环境,调出图形化安装界面执行安装

# 创建用户组
[root@localhost]groupadd dinstall
# 创建dba用户
[root@localhost]useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
# 设置密码
[root@localhost]passwd dmdba
#安装路径
[root@localhost]mkdir /dm8
[root@localhost]chown dmdba:dinstall /dm8

# 设置图形化显示,打开命令行(root用户)
[root@localhost]xhost +
# 查看DISPLAY值
[root@localhost]echo $DISPLAY
[root@localhost]su - dmdba
# 查看DISPLAY值
[root@localhost]echo $DISPLAY
# 设置DISPLAY值
[root@localhost]export DISPLAY=:0.0

# 执行安装程序
[root@localhost]./DMInstall.bin

更多安装详情请参考达梦官网安装手册。数据库安装 | 达梦技术文档, 本博文不再赘述。

3、数据库的创建与实例管理

创建数据库可以通过如下两种方式完成:
一、 通过数据库配置助手dbca建库(图形化)

# 进入到dm工具包目录
cd /dm8/tool
# 打开数据库配置助手
./dbca.sh

 
二、 命令行创建数据库实例

# 进入到目录
cd /dm8/bin
# 初始化数据库
./dminit path=/dm8/data db_name=DMTEST instance_name=DMTEST port_num=5238 page_size=16 SYSDBA_PWD=Dameng123

4、数据库的启动与关闭

      4.1 达梦数据库DM8图形化安装安装最后一步。会创建相应的服务

达梦数据库的启动顺序:
1、先读取初始化参数文件,根据参数文件找到控制文件并打开控制文件,启动后台进程和线程,打开共享内存,此时数据库启动到mount状态;
2、根据控制文件打开数据文件和联机日志文件,启动数据库到open状态。

DM数据库有三种状态:
mount:配置状态,可以进行数据库归档、修改主备等配置,处于此状态时不能读取数据(数据文件没有打开)。
open:数据库正常的打开状态,可以提供正常的数据库服务。
suspend:只读状态,此时数据库只能读不能写,如果执行commit操作,数据库会挂起。

三种状态之间的转换
mount和open可以相互转换,open和suspend可以相互转换,mount和suspend不能相互转换。

可以通过以下几种方式启动数据库服务

1、通过systemctl方式启动数据库服务

启动:systemctl start DMServiceDMSERVER
停止:systemctl stop DMServiceDMSERVER
查看:systemctl sttus DMServiceDMSERVER

2、执行/dm/bin/DMServiceDMSERVER 启动服务

./dm/bin/DMServiceDMSERVER 
#查看数据库实例状态
cd /dm8/bin
./disql SYSDBA/Dameng123:5236
select status from v$instance;
行号 STATUS$
---------- 
1  open

5、达梦数据库客户端工具

5.1 manager管理工具

(图形化管理数据库,联机工具,包含用户管理、角色权限管理、表空间、模式、模式下对象(表、索引、约束、函数、过程、视图等)、数据库物理联机备份、作业管理等功能)

[dmdba@localhost]$ ./manager

 5.2 控制台工具(console)

DM 控制台工具是一个脱机工具,提供脱机备份还原、修改数据库参数(修改后重启数据库才能生效)等功能。

[dmdba@localhost]$ cd /opt/dm8/bin
[dmdba@localhost]$ ./console

5.3 数据迁移工具(dts)

数据迁移工具支持其他数据库迁移到达梦,或者达梦迁移到文件等功能。达梦数据迁移工具DM DTS提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件的功能。达梦数据库对目前主流大型关系型数据库系统有着业界领先的兼容性,借助于DM图形界面且采用向导方式引导各个迁移步骤的DTS工具,移植工作可以变得非常的简单

[dmdba@localhost]$ ./dts

6、表空间的创建与管理

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。

6.1 表空间类型

  • SYSTEM:系统表空间,存放的是数据字典信息,包含表定义、视图定义、用户权限等
  • ROLL:回滚表空间,存放undo信息。INSERT、UPDATE、DELETE都会产生undo信息
  • MAIN:用户默认表空间,创建用户时,没有指定表空间,则使用MAIN表空间
  • TEMP:临时表空间,用于存放临时表数据、索引、大量数据排序等产生的数据
  • HMAN:HUGE表(列存储表)的默认表空间

6.1、创建表空间  

语法:create tablespace 表空间名 datafile '数据文件存放绝对路径' SIZE 数据文件大小(mb);
示例:create tablespace dbtbs datafile '/opt/data/DMTBS01.DBF' SIZE 128;

6.2、修改表空间大小

语法:alter tablespace 表空间名 resize datafile '文件存放路径' to 文件大小(mb);
示例:alter tablespace project resize datafile 'test01.DBF' to 128;

6.3、修改表空间开启自动增长,增长步长,最大表空间

语法:alter tablespace 表空间名 datafile '文件存放路径' autoextend on next 增长步长 maxsize 文件最大值
示例:alter tablespace users01 datafile 'test01.DBF' autoextend on next 2 maxsize 10240;

6.4、删除表空间

语法:drop tablesapce 表空间名称;
示例:drop tablespace users;

6.5、增加表空间下的数据文件

语法:alter tablespace '修改前表空间名' rename to '修改后表空间名';
实例:alter tablespace dmtbs rename to users;

7、用户管理及角色

达梦V8 用户类型

  • SYS:内置用户,不能直接登陆
  • SYSDBA:系统管理员,拥有DBA角色(除了安全、审计其他都管)
  • SYSAUDITOR:系统审计管理员
  • SYSSSO:系统安全管理员
  • SYSDBO:系统安全操作员(达梦安全版才有)

角色就是一系列权限的集合,是方便用户操作的一个方式,因为把很多的权限(如很多表的查询权限,或者其他权限等)打包到一个角色中,后面要授予某个用户所有这些权限,只需要grant 角色 to 用户就可以了。
达梦数据库默认有三个角色:DBA、RESOURCE、PUBLIC 三个角色。
DBA 角色中,是系统全部权限的即可,授予了 DBA,就是数据库系统中的老大了。
RESOURCE 角色中,是对应用户自己用户下的全部权限,授予了 RESOURCE ,就是用户可以在自己的用户下尽情操作了

7.1 创建用户

语法:create user 用户名 identified by 密码 default tablespace 表空间名;
示例:create user hrtest identified by "Dmeng123";

7.2 设置密码策略

语法:alter system set 'PWD_POLICY' = '策略组合数值' both;
示例:alter system set 'PWD_POLICY' = '6' both;

7.3 设置密码输错锁定次数改为5次,锁定时间为3分钟

语法:alter user '用户名' limit FAILED_LOGIN_ATTEMPS 6,PASSWORD_LOCK_TIME 3;
示例:alter user tom limit FAILED_LOGIN_ATTEMPS 5,PASSWORD_LOCK_TIME 3;

 7.4、查看用户资源限制,例如最大并发数

示例:select * from dba_users a,sysusers b where a.user_id = b.id;

7.5、查询指定用户所有用的权限

示例:select * from DBA_SYS_PRIVS where grantee = '用户名';
示例:select * from dba_tab_privs where grantee = '用户名';
示例:select * from dba_role_privs where grantee = '用户名';
示例:select * from dba_col_privs where grantee = '用户名';

7.6、创建角色,并授予角色权限

语法:create role '角色名';     grant '权限' to '角色名';
示例:create role r1;        grant r1 to dmtest;
语法:grant select on '模式名'.'表名' to '用户名';
示例:grant select on dmhr.department to newuser;

7.7、权限回收

语法:revoke '角色名' from '用户名';
语法:revoke '具体权限' from '用户名';
示例:revoke r1 from newuser;
示例:revoke create table from newuser;

7.8、对象权限转授 with grant option

示例:grant select on sysdba.t_test to hrtest with grant option;

8、备份与还原

任何数据库都需要备份,备份数据是维护数据库必不可少的操作。
备份就是为了防止原数据丢失,保证数据的安全。当数据库因为某些原因造成部分或者全部数据丢失后,备份文件可以帮我们找回丢失的数据。因此,数据备份是很重要的工作。
常见数据库备份的应用场景如下。

数据丢失应用场景:

  • 人为操作失误造成某些数据被误操作
  • 软件 BUG 造成部分数据或全部数据丢失
  • 硬件故障造成数据库部分数据或全部数据丢失
  • 安全漏洞被入侵数据恶意破坏

非数据丢失应用场景:

  • 特殊应用场景下基于时间点的数据恢复
  • 开发测试环境数据库搭建
  • 相同数据库的新环境搭建
  • 数据库或者数据迁移

以上列出的是一些数据库备份常见的应用场景,数据库备份还有其它应用场景,这里就不一一列举了。比如磁盘故障导致整个数据库所有数据丢失,并且无法从已经出现故障的硬盘上面恢复出来时,可以通过最近时间的整个数据库的物理或逻辑备份数据文件,尽可能的将数据恢复到故障之前最近的时间点。

8.1全库导出

dexp在达梦的bin目录下,注意需要先创建目录,而且导出用户和导入用户都使用dmdba

[dmdba@localhost]./dexp userid=sysdba/SYSDBA:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y

8.2 按用户导出

[dmdba@localhost]dexp userid=sysdba/SYSDBA:5238 directory=/dm8/backup/dexp file=dmtest.dmp log=dmtest.log owner=dmtest

8.3导入sql文件在disql里执行的话使用以下命令

start sql '文件路径'

  在达梦客户端工具里执行的话,使用以下命令

` sql '文件路径';
commit;

8.4联机备份

8.4.1全库备份到默认路径下

backup database;

8.4.2 全库备份到指定路径下(备份目录不带文件名)

backup database full backupset '备份目录';

8.4.3 基于基础备份集的增量备份,并备份到指定目录

backup database increment to incrbak01 backupset '/dm8/backup/incr/incrbak01';

 8.4.4 使用drman备份工具备份

 8.5 DM图形化界面进行备份还原:

     如果对备份命令语法生疏,可以使用达梦manager工具提供的图形化备份还原工具来完成工作是一项不错的选择。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值