- 操作系统:Redhat 7
- 实验环境:VMware Workstation 15 Pro
- 数据库:DM8 企业版
达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统的最新版本是8.0版本,简称DM8。
一、DM8的安装
第一步:DM8数据库的.iso镜像文件上传到redhat 7操作系统的 /opt/dm8.iso目录下
代码语言:javascript复制[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
代码语言:javascript复制[root@localhost ~]# mkdir /mnt/dm8
第三步:挂载
mount /opt/dm8.iso /mnt/dm8
代码语言:javascript复制[root@localhost ~]# mount /opt/dm8.iso /mnt/dm8
mount: /dev/loop0 写保护,将以只读方式挂载
第四步:创建DM用户组和个人用户dinstall、dmdba,并将dmdba添加到dinstall中
groupadd dinstall
代码语言:javascript复制[root@localhost ~]# groupadd dinstall
useradd -g dinstall dmdba
代码语言:javascript复制[root@localhost ~]# useradd -g dinstall dmdba
第五步:进入被挂载目录 /mnt/dm8 ,执行 ./DMInstall.bin,解压完成后将会弹出图形化安装界面
代码语言:javascript复制[root@localhost dm8]# ./DMInstall.bin
解压安装程序..........
- 点击确定
(因为我之前在中标麒麟和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,然后在图形化界面选择该目录为数据库的安装目录
代码语言:javascript复制[root@localhost ~]# chown dmdba:dinstall /dm8
[root@localhost ~]# chmod 755 /dm8
- 选择我们之前创建的/dm8目录,点击下一步,在弹出的窗口点击确定
- 确认安装信息后点击安装
- 安装成功,点击完成
- 这里我们不勾选初始化数据库,点击完成,至此,dm8数据库就安装完成了
一些常用的脚本启动工具:
可执行文件 | 作用 |
---|---|
./DMInstall.bin | 可执行的安装文件 |
./uninstall.sh | 安装目录中的软件卸载脚本 |
./dbca.sh | 安装目录的tool目录下,数据库配置助手:创建、删除数据库实例,注册、删除数据库服务 |
./dmservice.sh | 安装目录的tool目录下,DM服务查看器:启动和停止数据库服务 |
./manager | DM管理工具 |
./console | 控制台工具(参数,备份与还原,系统信息) |
./nca.sh | 网络配置助手,用于disql连接数据库的ip对应别名,配置文件在/etc/dm_svc.conf,disql用法格式:disql 用户名/密码@别名:端口 |
./disql | 安装目录的bin目录下;用于连接数据库,用法:./disql 用户名/密码@localhost:端口号 |
./dts | 数据库迁移工具 |
./dminit | 命令行创建数据库实例 |
./dmserver | 用于启动命令行创建的数据库实例,exit或Ctrl C终止服务 |
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用户启动数据库服务的两种方式:
- /dm8/bin/DmServiceDMSERVER start 问题:在图形化界面显示停止状态,点启动会报错 解答:此方式不会更新 DM服务查看器中服务状态
- dmserver /dm8/data/DAMENG/dm.ini
DMroot用户启动数据库服务的两种方式:
- 图形化界面启动 ./dmservice.sh
- 命令行启动 systemctl start dmservice.sh
五、数据库状态
状态 | 说明 |
---|---|
MOUNT | 配置状态,可以完成数据库归档配置、主备设置等,设置 OGUID 无法查询数据文件中的表,可以查询内存中( v$datafile v$instance等 )的表。数据库无法提供正常服务 |
OPEN | 数据库提供正常服务,可以读取表、数据等信息 |
SUSPEND | 只读状态, 可以查询数据,但不能写数据( commit)写数据文件 |
MOUNT:配置状态,在该状态下进行重做日志文件的迁移 OPEN:打开状态 SUSPEND:挂起状态
命令行修改数据库状态:alter database 状态
六、表空间
五个默认创建的表空间:SYSTEM TEMP ROLL MAIN HMAIN 表空间状态
状态 | 说明 |
---|---|
脱机 offline | 不能查看表空间内容;可以将数据文件进行迁移(修改数据文件路径) |
联机 online | 对表空间数据文件进行相关操作 |
脱机 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 XXX online; |
查询所有表空间的信息 | 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’; |
创建表空间: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’; |
添加表空间数据文件: 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图形化管理工具选择需要还原导入的数据库 第四步:选择导入文件所在的目录及文件 第五步:逻辑备份还原操作完成