达梦数据库(DM8)常用功能总结

您所在的位置:网站首页 界面怎么用 达梦数据库(DM8)常用功能总结

达梦数据库(DM8)常用功能总结

2024-07-10 09:18| 来源: 网络整理| 查看: 265

目录 所需软件准备工作一、将dm8和odbc复制到/opt文件夹二、检查glibc所需环境配置三、配置DM工具路径(可选) 图形化操作一、创建账户和文件夹,并配置文件打开参数二、安装达梦数据库DM8三、初始化数据库实例四、创建表空间五、创建用户六、创建表七、数据导入八、数据库备份九、执行脚本删除数据文件十、数据库逻辑导出十一、创建视图十二、添加索引十三、安装ODBC驱动 问题答疑一、无法打开图形化界面二、无法直接调用脚本三、创建数据库时显示打开文件数需要调整四、数据库不能自动提示

所需软件

虚拟机: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 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)修改编辑器中的语法检查和输入助手功能 修改参数



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3