GBase 8s 数据库安装常见问题解析

GBase 8s v8.7 数据库建议安装在RHEL7或者CentOS7或者类似内核的Linux发布版本中。以下是安装过程中常见的一些问题:

1,执行ids_install安装时,报“The version file is not exist.”

解析:操作系统确少必要的unzip工具,需要安装unzip。CentOS系统中可通过yum install unzip安装。
如果安装目录下的隐藏文件 .gbase.properties 缺失,也会出现此问题。重新解压缩安装包后,再次安装。

2,执行ids_install安装时,报“No Java virtual machine could be found from your PATH environment variable. You must install a VM prior to running this program.”

解析:提示信息为无Java虚拟机,按照提示安装JRE/JDK。支持的JRE/JDK版本为1.6及以上,如CentOS自带的java-1.8.0-openjdk。

3,执行ids_install安装时,报“The parent directory of the user install path is not exists, please choose another one.”

解析:提示信息为指定的目录上级目录不存在。默认的安装目录为:/opt/GBASE/gbase,如果/opt/GBASE目录不存在,则会报这个错误。需要在安装前创建/opt/GBASE目录。

4,执行ids_install安装时,报“User install directory is not empty, please chooose another one.”

解析:提示信息为指定的目录非空。安装数据库需要在空目录或者不存在的目录下(上级目录需存在,系统会自动创建目录),手工指定其它非空目录或者不存在目录(上级目录需存在,系统会自动创建目录)。

5,执行数据库初始化或者启动数据库时,报

“Allocating and attaching to shared memory…FAILED
WARNING: server initialization failed or timed out.
Check the message log, online.log, for errors.”

解析:出现问题,根据提示要求查看online.log,使用onstat -m命令可查看最近20行online.log日志信息。如果日志里包含类似以下信息
“19:03:42 shmget: [EEXIST][17]: key 52564801: shared memory already exists
19:03:42 mt_shm_init: can’t create resident segment”,
表示数据库的内存段已经被占用,可能的情况是:
1)当前实例已经启动,即通过onstat -命令检查状态,如果已经是On-Line状态,即“GBase Database Server Version 12.10.FC4G1AEE – On-Line – Up 00:07:02 – 208516 Kbytes”
表示数据库不需要再初始化或者重新启动,保持现有状态即可。
2)当前实例未启动,即通过onstat -命令检查状态,如果已经是未启动状态,即“shared memory not initialized for GBASEDBTSERVER ‘ol_gbasedbt1210’”
则表示之前的数据库关闭或者异常时,内存未能及时释放,执行onclean -ky命令强制清理内存,然后通过ipcs -m命令查看key中与报错信息中一致的0x52564801是否存在,如果不存在,可以重新启动数据库实例;如果存在,使用root用户执行ipcrm -M 0x52564801清理共享内存,同时清理0x525648XX 开头各个内存段,完成后可以重新启动数据库实例。

6,执行数据库初始化或者启动数据库时,报

“Opening primary chunks…FAILED
oninit: Fatal error in shared memory initialization
WARNING: server initialization failed or timed out.
Check the message log, online.log, for errors. ”

解析:出现问题,根据提示要求查看online.log,使用onstat -m命令可查看最近20行online.log日志信息。如果日志里包含类似以下信息:
1)“19:07:08 The chunk ‘/opt/gbase/storage/rootdbs’ must have READ/WRITE permissions for owner and group (660).”
表示数据库使用的chunk对应的文件或者文件系统权限不对,按提示要求修改为属主及属组均为gbasbedbt,权限为660(即:chown gbasedbt:gbasedbt /opt/gbase/storage/rootdbs , chmod 660 /opt/gbase/storage/rootdbs),完成后重新启动数据库。
2)“19:10:51 The chunk ‘/opt/gbase/storage/rootdbs’ must have READ/WRITE permissions for owner (600).”
数据库使用的chunk对应的文件或者文件系统权限应为属主及属组均为gbasbedbt,权限为660,这里提示需要600权限。说明oninit可执行文件的属主及权限不对,或者是非root用户安装的数据库。我们要求使用root用户来安装数据库。故在$GBASEDBTDIR目录下,使用root用户执行RUNasroot.installserver脚本以完成对所有已安装的文件的权限修正。同时修改chunk文件或者文件系统的属主及属组均为gbasbedbt,权限为660(即:chown gbasedbt:gbasedbt /opt/gbase/storage/rootdbs , chmod 660 /opt/gbase/storage/rootdbs),完成后重新初始化实例或者重启实例。

7,连接数据库时,报 “908: Attempt to connect to database server (ol_gbasedbt1210) failed.”

解析:根据提示信息,表示当前无法连接到指定的数据库。对于此问题,需要从最底层往上排查。
首先,检查数据库的侦听是否正常,命令onstat -g ntt的输出结果中,thread name为soctcplst对应的address中应包括 主机名或IP地址|服务名称或者端口号|scotcp(如localhost.localdomain|ol_gbasedbt1210|soctcp),该信息来源地sqlhosts配置文件(建议在sqlhosts配置文件中指定IP地址及端口,而不是使用主机名或者服务名称)。如果不存在符合条件的soctcplst,则需要修改sqlhosts为正确配置,并重启数据库。如果存在soctcplst,但IP是本地loop地址(127.0.0.1),也需修改为实际物理IP,并重启数据库。
如果侦听正常,则继续检查操作系统防火墙设置,请关闭防火墙或者放通数据库使用的端口。

8,GBase DataStudio连接参数配置

image001.png

解析:主机 -> 填写能访问到数据库服务器的IP地址或者域名(能通过ssh客户端访问)
端口 -> sqlhosts配置文件中的端口号(通过onstat -g ntt可看到)
实例名 -> $GBASEDBTSERVER配置参数
数据库/模式 -> create database语句创建的库。可使用系统库sysmaster
用户名 -> 操作系统用户,默认的系统用户是gbasedbt
密码 -> 用户名在操作系统上的密码(注意密码强度要求)

9,GBase DataStudio连接数据库报连接错误,如下图:

image003.png

解析:该问题是指定的用户密码不符合密码强度要求(GBase 8s v8 2.0.1a2_2版本有密码强度要求,需要密码不少于8位且需包含大小写字母数字),在数据库服务器上执行onstat -m能看到“09:17:03 listener-thread: err = -961: oserr = 0: errstr = : The password is too simple.”信息。
修改用户密码以符合密码强度要求(最长可能需要15分钟生效)。

10,执行ids_install安装时,报

“./ids_install: line 3319: /tmp/install.dir.15072/Linux/resource/jre/jre/bin/java: cannot execute binary file
./ids_install: line 3319: /tmp/install.dir.15072/Linux/resource/jre/jre/bin/java: Success”

解析:提示信息是数据库安装包里自带的java命令是不能执行的二进制文件,原因是:当前的平台与数据库安装包使用的平台不同(如x86平台上使用了其它平台(飞腾、龙芯、Power等)的安装包)。X86平台对应的文件名后缀是x86_64.tar,飞腾平台对应的文件名后缀是FT.tar,龙芯平台对应的文件名后缀是Loongson3B.tar。

11,执行ids_install时,报

“java.lang.Error: java.io.FileNotFoundException: /tmp/install.dir.4858/Linux/resource/jre/jre/lib/tzdb.dat (没有那个文件或目录)”

解析: tzdb.dat是一个链接文件,链接到 tzdb.dat -> /usr/share/javazi-1.8/tzdb.dat,若发现不存在这个目录和文件,可以创建链接至系统的tzdb.dat。如:mkdir -p /usr/share/javazi-1.8 && ln -s /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/tzdb.dat /usr/share/javazi-1.8/tzdb.dat。

12,Kylin V10Sp2或者UOS20(1021a)中执行ids_install时,报

libjvm.so preloadLibrary(/tmp/install.dir.33990/Linux/resource/jre/jre/lib/amd64/libjava.so): libnsl.so.1: 无法打开共享对象文件: 没有那个文件或目录

解析: 安装libnsl: yum -y install libnsl

13,USO20(1021a)中安装过程中报

One or more prerequisite system libraries are not installed on your computer. Install libncurses.so.5 and then restart the installation program.

解析:
1)安装ncurses-devel:yum -y install ncurses-devel
2)创建相应的链接文件为so.5
cd /usr/lib64
ln -s libncurses.so.6.1 libncurses.so.5
ln -s libtinfo.so.6.1 libtinfo.so.5

注:本文于20220519更新

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值