达梦数据库(DM8)疑难问题记录及解决办法

达梦数据库(DM8)疑难问题记录及解决办法

  • 前言
  • 一、安装失败或无法安装
    • 磁盘挂载失败
    • 图形化界面安装失败
  • 二、备份/还原失败
    • 服务状态不正确
    • 操作用户不正确
  • 三、配置ODBC失败
    • 缺少gcc工具
    • 配置文件信息出错

前言

达梦数据库是一款功能强大的国产数据库,已经应用到国家电网、南方电网、民航客票系统、武汉公积金核心系统、海南社保项目等核心业务系统,非常值得我们学习!下面是本人在学习过程中遇到的一些问题及解决办法,希望会帮到大家。

一、安装失败或无法安装

磁盘挂载失败

在执行安装达梦数据库之前需要挂载镜像文件,那么挂载失败可能原因:

  1. 用户权限不够,挂载镜像这里一般挂载到文件系统根目录下,如果权限不够是挂载不成功的,而且这里我的镜像文件是放在’/home’目录下的,权限不够也是不成功的。所以,这里我们需要将操作用户切换到root用户(系统管理员):使用su root 或者su - root;然后输入密码即可,如图:
    切换用户
  2. 最大打开文件数不够,如果已经是root用户但是镜像文件仍然挂载失败,可能原因是系统设置的最大打开数不够,这还可能影响到之后的安装。这里我们可以修改最大文件打开数,有两种方式。可以先查看最大文件打开数,命令:ulimit -n,如图:
    文件最大打开数
    可以看到,只有1024,那么我们将它修改为65536;
    方式一,临时生效:输入命令 ulimit -n 65536
    方式二,重启生效:修改系统配置文件,输入命令
    vi /etc/security/limits.conf
    打开文件limits.conf,在文件最后添加两行内容
    dmdba soft nofile 4096
    dmdba hard nofile 65536
    然后重启服务。

到这里,挂载问题一般都可以解决,后面附上挂载命令:
mount -o loop /home/dm8_setup_rh7_64_ent_8.1.1.88.iso /mnt
这里 /home/dm8_setup_rh7_64_ent_8.1.1.88.iso为镜像路径,大家可以去官网下载http://www.dameng.com/down.aspx?TypeId=11&FId=t14:11:14,/mnt为镜像加载路径。

图形化界面安装失败

镜像挂载成功后,如果我们需要用图形化界面安装的话,一般用普通用户来调用安装,这里我用dmdba用户,现将目录切换到镜像挂载目录 /mnt,输入命令:./DMInstall.bin

  1. 最大打开文件数不够,这个问题前面讲了,就不再赘述,调整一下就行了,提示截图:
    达梦数据库(DM8)疑难问题记录及解决办法_第1张图片

  2. 切换用户次数过多,在主机安装的话,如果出现图形化界面失败的提示, 有可能是多次在终端界面切换用户导致的,提示截图:
    在这里插入图片描述
    这是可以使用快捷键:Ctrl/Command + D来退出当前用户,直到退出到最外层用户为止,再去执行图形化安装命令。如果,到这里还是无法调出图形化安装界面,可能是系统本身不支持,如果还是需要安装,建议用命令行安装,输入命令:./DMInstall.bin -i

  3. 用户权限不够,因为这里我们是用普通用户安装数据库到根目录 /dm8下,如图:
    达梦数据库(DM8)疑难问题记录及解决办法_第2张图片如果提示用户权限不够,那么需要切换到root用户下,执行命令来为其赋权:chown dmdba:dinstall -R /dm8;这样一般就不会有读写文件权限不够的问题。

  4. 脚本未执行或执行失败,普通用户安装的话,在安装过程中系统会提示需要用root账号执行脚本,如图:
    达梦数据库(DM8)疑难问题记录及解决办法_第3张图片
    如果直接跳过或者没有用root账号执行,都会导致安装失败。若执行成功,提示信息如图:
    达梦数据库(DM8)疑难问题记录及解决办法_第4张图片
    后面遇到需要执行脚本的情况同样需要用root账号执行成功后才能进行下一步。

二、备份/还原失败

服务状态不正确

我们会根据不同的需要对数据库进行备份,不同的备份方式数据库需要的服务和服务状态不一定相同,所以在备份的时候需要保证应有的服务及状态。

  1. 未开启DmAP服务,不管哪种备份方式,都需要依赖DmAP服务,所以在备份的时候需要确保DmAP服务是已正常运行的,查看DmAP服务状态命令:./DmAPService status,这个命令需要到安装目录的 /bin下执行,如图:
    在这里插入图片描述
    图中表示DmAP服务正在运行;若显示stop,那么需要在开启该服务,同样在这个目录下,执行命令:./DmAPService start
  2. 冷备份没有关闭数据库服务,在物理冷备份的时候是需要我们关闭数据库实例所在的服务,关闭服务需要到安装目录的 /bin下执行命令:./DmServiceDMSERVER stop,如图:
    在这里插入图片描述
    然后再用console工具去备份;
  3. 热备份可没有开启数据库服务,热备其实就是实时备份,需要开启归档,所以数据库需要处于运行状态,如果服务关闭则无法备份。开启服务需要到安装目录的 /bin下执行命令:./DmServiceDMSERVER start,如图:在这里插入图片描述
    显示数据库已运行,然后去开启归档。开启归档(这里只介绍命令行方法):登录数据库,依次执行
    SQL> alter database mount;
    SQL> alter database archivelog;
    SQL> alter database open;

操作用户不正确

一般我们去备份数据库,需要使用普通用户,不能使用root用户;调用图形化界面进行备份操作,打开图形化的用户也只能是普通用户,否则可能导致备份有问题或者无法还原。

三、配置ODBC失败

在我们做程序开发是可能需要配置odbc驱动,由于其配置要求比较严格,所以可能会导致各种无法成的情况。

缺少gcc工具

我们在安装odbc依赖包的时候,如果过程过于简短,切伴有大量的“no”提示信息,那么极有可能是系统缺少gcc编译工具,这时我们去安装gcc工具:

  1. 检查系统是否有gcc包:rpm -qa|grep gcc,若查询结果如下图,
    在这里插入图片描述
    这说明有gcc(以gcc-开头的软件包);
  2. 若检查到没有安装gcc,那么去执行安装:yum install -y gcc,这里最好用root用户操作,如图,在这里插入图片描述

配置文件信息出错

在安装成odbc驱动之后,一般需要去 /usr/local/etc路径下配置两个配置文件,文件名分别为odbcinst.iniodbc.ini文件有严格配置格式并且需要root用户来写入,下面是我的配置示例及代码(DM8为服务启动名称,大小写均可):

  1. 编辑odbcinst.ini命令:vi /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
  1. 编辑odbc.ini命令:vi /usr/local/etc/odbc.ini
[DM8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = 111111111
TCP_PORT = 5236
  1. 保存退出:先按ESC键,再输入**:wq**,回车即可;
  2. 连接测试,使用普通用户测试odbc连接,这里以dmdba用户为例,在任意目录输入命令:isql dm8,执行如图所示达梦数据库(DM8)疑难问题记录及解决办法_第5张图片
    则说明已连接成功;
  3. 若连接不成功,定位错误信息,输入命令:isql -vim dm8,如图
    在这里插入图片描述
    说明用户或密码错误,需重新配置上述odbc.ini文件;
  4. 退出odbc和用终端直连的时候退出命令不一样,此时退出命令:quit

本文将继续更新,希望能给予各位帮助!

注:原创内容,未经授权请勿转载。

你可能感兴趣的:(达梦数据库,dm8,数据库,linux)