达梦数据库(DM8)常用功能总结-图形化界面

所需软件

虚拟机:VMWare15
操作系统:中标麒麟Linux7
软件:达梦数据库DM8
驱动:ODBC-2.3.0

准备工作

一、将dm8和odbc复制到/opt文件夹

步骤:
(1)在虚拟机的桌面上创建dm8file文件夹(名称自定),并赋予权限,用于临时存储文件

chmod 777 '/home/kylin7/桌面/dm8file' 

(2)将dm8和odbc复制到此文件夹(建议安装vmtools后右键复制文件到虚拟机中)
(3)使用命令,将dm8file中的文件复制到/opt下

[root@localhost ~]# cd '/home/kylin7/桌面/dm8file' 
[root@localhost ~]# cp dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /opt/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso
[root@localhost ~]# cp unixODBC-2.3.0.tar.gz /opt/unixODBC-2.3.0.tar.gz

复制完成后如下:
开始的准备文件

二、检查glibc所需环境配置

步骤:
使用命令,检查glibc的环境是否已经配置

[root@localhost ~]# rpm -qa|grep glibc

结果如下:

glibc-common-2.17-222.el7.ns7.01.x86_64
glibc-devel-2.17-222.el7.ns7.01.x86_64
glibc-headers-2.17-222.el7.ns7.01.x86_64
glibc-2.17-222.el7.ns7.01.x86_64

三、配置DM工具路径(可选)

在安装完成数据库之后,即完成图形化操作(二)后,可以将dm8的工具路径添加到配置文件中,便于直接操作

步骤:
(1)在dmdba下,打开.bash_profile,并配置bin和tool路径

[dmdba@localhost ~]$ vi .bash_profile

当前的文档内容:(已经存在的文档内容)

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export DM_HOME="/dm8"

增加如下代码:

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

将配置文件生效:

[dmdba@localhost ~]$ source .bash_profile

图形化操作

一、创建账户和文件夹,并配置文件打开参数

1.创建dmdba账户
(1)创建dinstall组

[root@localhost ~]# groupadd dinstall

(2)创建dmdba用户

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

(3)查看dmdba用户信息

[root@localhost ~]# id dmdba

结果:

uid=1001(dmdba) gid=1002(dinstall) 组=1002(dinstall)

(4)更改dmdba用户密码

[root@localhost ~]# passwd dmdba

2.创建安装所需的文件夹
(1)创建dm8文件夹

[root@localhost ~]# mkdir /dm8

(2)将dm8文件夹赋于的mdba的操作权限

[root@localhost ~]# chown dmdba:dinstall /dm8

(3)修改文件打开数

[root@localhost ~]# vi /etc/security/limits.conf

在limits.conf中增加下列代码

dmdba soft nofile 10240
dmdba hard nofile 65536

二、安装达梦数据库DM8

(1)将dm8软件挂载在/mnt文件夹下

[root@localhost ~]# mount /opt/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt

结果:

mount: /dev/loop0 写保护,将以只读方式挂载

(2)切换到dmdba用户

[root@localhost ~]# su - dmdba

(3)安装数据库软件

[dmdba@localhost ~]$ cd /mnt
[dmdba@localhost mnt]$ ./DMInstall.bin

启动图形化界面安装:

这里因为是开发版,没有key文件;如果是正式版本的,可以选择key文件
key文件
可以根据需要选择安装的类型,这里选择典型安装即可
组件选择
这里注意,需要安装到自己创建的文件夹下
安装目录
这里需要开启另一个终端窗口,使用root执行脚本
脚本执行
执行脚本指令

[root@localhost ~]# /dm8/script/root/root_installer.sh

结果:

移动 /dm8/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务

这里点击取消,稍后执行初始化操作
安装完成

三、初始化数据库实例

(1)直接打开图形化界面

[dmdba@localhost ~]$ dbca.sh

(2)进行图形化操作
注意检查数据库存放位置
数据库位置
填写数据库名称、实例名和端口号
数据库名称
注意参数要求
日志文件
参数配置
设置口令,这里设置的是:Dameng123
口令设置
这里同样需要使用root执行一些脚本
脚本执行

(3).设置兼容sqlserver
打开控制台工具,显示图形化界面:

[dmdba@localhost ~]$ console

找到兼容性选项,将其修改为兼容sqlserver
兼容性
根据后面的注释,修改兼容性参数
修改兼容性参数
(4)设置密码策略

根据后面的策略说明,进行设置
设置密码策略
指令设置:(sql查询窗口)

sp_set_para_value(1,'PWD_POLICY',7) 

至此,数据库实例初始化完成

四、创建表空间

注意:下列图形化界面操作使用SYSDBA用户登陆

(1)打开达梦数据库的管理工具,开启图形化界面:

[dmdba@localhost ~]$ manager

(2)链接上面创建的数据库,注意端口号不要写错:
登陆数据库
创建表空间
设置表空间的参数时,需要注意各个参数的配置
表空间参数
至此,表空间设置完成

五、创建用户

注意:下列图形化界面操作使用SYSDBA用户登陆

(1)使用指令开启DM管理工具的图形化界面

[dmdba@localhost ~]$ manager

(2)创建用户并填写信息
创建用户

根据要求填写用户信息,这里的密码为:Dameng123
创建用户
(3)创建角色并填写信息
创建角色

填写名称
授予角色权限
授予权限
(4)将对应角色授予给DMTEST
修改角色
修改所属角色
授予查询dba_tablespaces的权限

图形化界面操作:

在 对象权限-SYS-视图-系统视图中,找到 DBA_TABLESPACES,选择 select 权限
增加查询表1
增加查询表2

sql语句操作:

grant select on sys.dba_tablespaces TO dmtest;

六、创建表

注意:下列图形化界面操作使用DMTEST用户登陆

(1)使用DMTEST用户登陆,密码是:Dameng123

使用DMTEST登陆

创建表的位置在 模式-用户名-表 下

创建表的位置

(2)创建DEPT表(先创建这个表,便于之后的外键关联)

注意主键的设置、数据类型设置、非空设置、精度设置等

创建dept表
设置表空间
(3)创建EMP表

注意数据的设置,需要关联DEPT表的主键作为外键

创建emp表
设置存储位置
(4)将EMP表和DEPT表进行外键约束
设置约束1
设置约束2
选择外键列,选择参照列
设置外键约束1
设置外键约束
设置完成后,可以查看设置的约束属性
约束属性
如果创建完成表之后,没有创建外键,则可以通过下列方式创建:
(这里是EMP表的外键引用DEPT表的主键)
增加外键1
增加外键2

七、数据导入

(1)使用终端,切换到dmdba用户,使用DMTEST,密码Dameng123,连接5238上的数据库

[dmdba@localhost ~]$ disql DMTEST/Dameng123@localhost:5238

(2)使用start指令,将sql数据插入到表中

SQL> start /opt/script1.sql

插入后可以使用图形化界面查看,结果如下
emp表
dept表
直接使用图形化界面操作如下:
(1)打开script1.sql文件,直接全选+复制数据
(2)粘贴到DM管理工具中的查询窗口中,并执行
粘贴数据

八、数据库备份

备份之前的准备:

1、在初始化完成数据库实例后,建议直接打开归档设置,便于备份后可以恢复到之前任意时间的数据

(1)切换到dmdba下,打开DM管理工具的图形化界面

[dmdba@localhost ~]$ manager

(2)登陆SYSDBA账号,开启归档设置
管理服务器

注意:在打开归档设置之前,需要将数据库的状态设置为“配置”状态

先点击配置,然后点击转换按钮
开启配置
设置归档
最后,别忘记将配置状态修改为打开状态
还原状态

2-1【冷备份】、 备份之前需要关闭数据库实例

(1)切换到root下,在/dm8/tool下启动数据库服务的图形化界面

[root@localhost tool]# ./dmservice.sh

(2)关闭需要备份的数据库实例
关闭数据库实例

正式备份操作
(1)在终端中开启控制台工具的图形化界面

[dmdba@localhost ~]$ console

(2)选择 备份还原 ,选择 新建备份功能
选择功能

设置需要备份的路径、名称和备份的类型
新建备份
备份完成后,即可查看到备份的信息
备份完成1

2-2【热备份】.不需要关闭数据库实例

(1)进入DM管理工具,选择 备份-库备份
库备份
(2)设置备份名称和备份路径
库备份2

3.设置代理环境

设置代理环境创建作业

4.设置定时任务,在每周日的22点进行完全备份

job1
完整备份1

完全备份

5.设置定时任务,在周一到周六的22点进行增量备份

job2
增量备份
作业调度

九、执行脚本删除数据文件

调用script2.sh,删除表空间

执行如下指令删除:

[dmdba@localhost opt]$ ./script2.sh

存在的问题:
(1)-bash: ./script2.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

这个问题是因为script2.sh在windows系统下进行编译,所以文件中存在\r\n字符,需要转换成\n

解决方案:

使用vi打开script2.sh
使用如下指令修改:
:set ff=unix
:wq

(2)不存在DmServiceDBSERVER数据库实例

由于之前在创建实例时,原先的实例名称为:DmServiceDMSERVER,后来修改实例名称为:DmServiceDBSERVER,可以使用vi命令,修改script2.sh文件中的实例名称

执行脚本完成后,需要将数据进行还原,还原成之前的数据

(1)打开控制台工具界面,进入“还原”界面
控制台1
选择之前备份文件的目录,执行库还原
库还原
(2)还原完毕之后,选择“恢复”功能
控制台2
恢复类型选择指定归档恢复,选择之前设置归档的目录
归档恢复
(3)完成恢复之后,选择“更新DB_MAGIC”的功能
控制台3
执行更新DB_MAGIC的操作
db-magic

十、数据库逻辑导出

使用SYSDBA登陆数据库,在数据库上右键,选择导出

导出
导出

十一、创建视图

登陆DMTEST账号,使用sql语句添加视图

(1)创建VIEW_HIREDATE,存放数据

create or REPLACE VIEW VIEW_HIREDATE AS SELECT * FROM DMTEST.EMP where DMTEST.EMP.HIRE_DATE >= TO_DATE('2006-01-01','YYYY-MM-DD') AND DMTEST.EMP.HIRE_DATE <= TO_DATE('2009-01-01','YYYY-MM-DD');

(2)创建VIEW_SALARY,存放数据

create or REPLACE VIEW VIEW_SALARY AS SELECT e.DEPT_ID,avg(e.salary) AS avgs FROM DMTEST.EMP e GROUP BY e.DEPT_ID HAVING avg(e.SALARY)>12000;

十二、添加索引

这里使用DMTEST账号登陆

(1)在模式中,找到相应的表,新建索引
新建索引
(2)填写需要设置索引的信息
新建索引

十三、安装ODBC驱动

安装驱动需要处于root下,执行下列指令操作

[root@localhost ~]# cd /opt
[root@localhost opt]# tar -xvf unixODBC-2.3.0.tar.gz
[root@localhost opt]# cd /opt/unixODBC-2.3.0
[root@localhost unixODBC-2.3.0]# ./configure
[root@localhost unixODBC-2.3.0]# make
[root@localhost unixODBC-2.3.0]# make install

配置odbc驱动,用于链接dm8数据库

[root@localhost unixODBC-2.3.0]# odbcinst -j
[root@localhost unixODBC-2.3.0]# cd /usr/local/etc

(1)配置odbc.ini

[root@localhost etc]# vim odbc.ini

添加以下内容

[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5238

(2)配置odbcinst.ini

[root@localhost etc]# vim odbcinst.ini

添加以下内容

[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
DRIVER = /dm8/bin/libdodbc.so

配置完成后,测试能否连接到达梦数据库

[dmdba@localhost ~]$ isql dm8 -v

链接成功的结果如下:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

问题如下:

在链接数据库时,显示[01000][unixODBC][Driver Manager]Can’t open lib
‘/dm8/bin/libdodbc.so’ : file not found

解决方案:
(1)使用如下命令查看是否未找到so文件的依赖性

[root@localhost etc]# ldd /dm8/drivers/odbc/libdodbc.so

显示如下:

linux-vdso.so.1 =>  (0x00007ffcb2594000)
	libdmdpi.so => not found
	libdmfldr.so => not found
	libdmelog.so => not found
	libdmutl.so => not found
	libdmclientlex.so => not found
	libdmos.so => not found
	libdmcvt.so => not found
	libdmstrt.so => not found
	librt.so.1 => /lib64/librt.so.1 (0x00007fc57b95e000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc57b742000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fc57b53e000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fc57b237000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fc57af35000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fc57ab68000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc57a952000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fc57bd91000)

(2)因为libdmapi.so未找到,推测为环境变量的问题,修改环境变量

[dmdba@localhost ~]$ vi .bash_profile

修改后:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export DM_HOME="/dm8"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

修改完成后,使用如下代码使环境变量生效

source .bash_profile

(3)修改后,检查是否存在依赖关系

[dmdba@localhost ~]$ ldd /dm8/bin/libdodbc.so

显示如下:

linux-vdso.so.1 =>  (0x00007ffcb91f5000)
	libdmdpi.so => /dm8/bin/libdmdpi.so (0x00007f679bd00000)
	libdmfldr.so => /dm8/bin/libdmfldr.so (0x00007f679b00c000)
	libdmelog.so => /dm8/bin/libdmelog.so (0x00007f679ae06000)
	libdmutl.so => /dm8/bin/libdmutl.so (0x00007f679abf5000)
	libdmclientlex.so => /dm8/bin/libdmclientlex.so (0x00007f679a9a2000)
	libdmos.so => /dm8/bin/libdmos.so (0x00007f679a777000)
	libdmcvt.so => /dm8/bin/libdmcvt.so (0x00007f679a097000)
	libdmstrt.so => /dm8/bin/libdmstrt.so (0x00007f6799e83000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f6799c7b000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6799a5f000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f679985b000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f6799554000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f6799252000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f6798e85000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f6798c6f000)
	libdmmem.so => /dm8/bin/libdmmem.so (0x00007f6798a62000)
	libdmcalc.so => /dm8/bin/libdmcalc.so (0x00007f67987f2000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f679cb71000)

问题答疑

一、无法打开图形化界面

(1)在dmdba用户下,检查图形化界面是否正确

[dmdba@localhost mnt]$ xhost +

正确结果:

access control disabled, clients can connect from any host

错误结果:

xhost:  unable to open display ""

解决方案:

[dmdba@localhost mnt]$ export DISPLAY=:0

特殊问题:(考试的虚拟机上,需要查看root下的DISPLAY类型是什么,根据此类型进行设置)

export DISPLAY=:2

结果:
如果仍然不行进行图形化操作,则切换到root下,检查图形化并执行此命令
注意:此操作为临时性的,当从root切换到dmdba时,需要重新设置

二、无法直接调用脚本

如果无法直接输入脚本或者指令调用相应的功能,则需要进行路径的配置:

解决请方案:
请查看准备工作3中的操作并进行路径配置

三、创建数据库时显示打开文件数需要调整

打开文件数
解决方案:
查看图形化操作(一)中第二部分的第三小节,增大打开文件数参数

四、数据库不能自动提示

在数据库查询数据时,不能自动提示函数信息和表的信息,需要手动编写

解决方案:
(1)打开窗口-选项界面
窗口-选项
(2)修改编辑器中的语法检查和输入助手功能
修改参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值