一、单机安装部署
(一)安装之前的环境检查和准备(本次安装以官网最新版本3.5.1为例)
1.检查环境和操作系统和安装包是否匹配
gbase8s数据库一般以是以CPU架构为主要区分点,主要分为x86架构和arm架构两种:
-
X86:Intel(centos)、兆芯和海光
-
arm:鲲鹏和飞腾
--检查操作系统
--本次操作系统是x86的,使用uname -a检查,结果后面会有x86的关键词
uname -a
Linux VM-8-4-centos 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
--检查安装包,安装包后缀,一般会有x86,arm等标识,需要和操作系统相互对应
[root@node01 install]# ls -l GBase8sV8.8_TL_3.5.1_x86_64.tar
-rwxr-xr-x. 1 gbasedbt gbasedbt 346388480 3月 21 15:32 GBase8sV8.8_TL_3.5.1_x86_64.tar
2.检查操作系统安装数据库的基础两个软件(unzip和java)
检查:可以通过tab键补全的方式检查是否有相应的软件,如果双击没有反应,表示没有插件,需要安装。
-
unzip双击tab键,如果存在则会出现unzip的命令;
-
java双击,如果存在则会出现java、javac等指令
--本次为例,没有java,所以需要安装,本次是压缩包的方式直接解压使用。
--压缩包已经提供,将压缩包放在指定位置,然后root下配置环境变量即可。
--假设放在位置如下
[root@VM-8-4-centos gbase] ls -l |grep jdk
drwxrwxr-x 9 gbasedbt gbasedbt 4096 Nov 3 17:15 jdk
[root@VM-8-4-centos gbase] pwd
/home/gbasedbt/gbase
#使用root用户配置环境变量,在/etc/profile文件下追加以下内容
cat /etc/profile
export JAVA_HOME=/home/gbasedbt/gbase/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#然后生效环境变量
source /etc/profile
#java双击tab,检查是否java环境存在
3.检查数据库资源
数据库安装最小的资源需求:
-
CPU资源数量:2
-
内存数量:4G
-
硬盘资源:10G
--检查CPU资源
[root@iZ2ze2nmdlhki0ezcrioayZ ~] lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
--检查内存资源
[root@iZ2ze2nmdlhki0ezcrioayZ ~] free -m
total used free shared buff/cache available
Mem: 1723 228 179 618 1315 728
Swap: 0 0 0
--检查硬盘资源
[root@iZ2ze2nmdlhki0ezcrioayZ ~] df -h
4.准备用户
gbase8s数据库和其他国产数据库一样需要自己独有的操作系统用户gbasedbt,所以安装前需要创建数据库用户
useradd -U -m gbasedbt
--明文配置密码
echo '密码'|passwd --stdin gbasedbt
--上述执行失败,可以passwd交互配置
passwd gbasedbt
5.确定安装路径
gbase8s安装路径下不允许文件夹有777权限,否则安装的是否会出现security关键词安全问题出现
--假设此次需要安装的路径为/opt/GBASE/gbase,可以先创建前两级目录,第三级在安装的时候自己会创建
[root@node01 install]# mkdir /opt/GBASE
[root@node01 install]# chown -R gbasedbt:gbasedbt /opt/GBASE
[root@node01 install]# chmod 755 /opt/GBASE
--检查/opt和/opt/GBASE两个文件夹的权限,不允许777
[root@node01 install]# ls -l /|grep opt
drwxr-xr-x. 4 root root 29 3月 29 14:54 opt
[root@node01 install]# ls -l /opt/
总用量 0
drwxr-xr-x. 2 gbasedbt gbasedbt 6 3月 29 14:54 GBASE
(二)脚本安装数据库
1.准备好安装包和脚本
本脚本是公司大佬写的,如果没有,软件安装成功后,在/opt/GBASE/gbase/etc/GBaseInit_gbasedbt.sh下会有一个自带的脚本,有些差别但是大体上是一致的
[root@node01 install]# ls -l
-rwxr-xr-x. 1 gbasedbt gbasedbt 346388480 3月 21 15:32 /home/gbasedbt/install/GBase8sV8.8_TL_3.5.1_x86_64.tar
-rwxr-xr-x. 1 gbasedbt gbasedbt 36030 3月 21 15:35 /home/gbasedbt/install/GBaseInit_gbasedbt_V1.17.sh
2.解压压缩包
解压完压缩包,会出现以下文件,其中ids_install是安装程序
[root@node01 install]# tar -xvf GBase8sV8.8_TL_3.5.1_x86_64.tar
ids_install
onsecurity
doc/
doc/ids_machine_notes_12.10.txt
doc/ids_unix_relnotes_12.10.html
ids.properties
.gbase.properties
3.安装gbase数据库软件
-
安装软件时必须使用root用户,否则会出现问题!!!!!!
-
执行安装
--执行安装,前面为协议,一直回车然后输入y即可
[root@node01 install]# ./ids_install
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
===============================================================================
GBase Software Bundle (created with InstallAnywhere)
-------------------------------------------------------------------------------
Preparing CONSOLE Mode Installation...
===============================================================================
Getting Started
---------------
This application will guide you through the installation of GBase Software
Bundle.
Copyright General Data Corporation 2014, 2024. All rights reserved.
1. Release Notes
The Release Notes can be found in
/home/gbasedbt/install/doc/ids_unix_relnotes_12.10.html.
2. Launch Information Center
Access the GBase Information Center at http://www.gbase.cn.
To Begin Installation, respond to each prompt to proceed to the next step in
the installation.
If you want to change something on a previous step, type 'back'.
You may cancel this installation at any time by typing 'quit'.
PRESS <ENTER> TO CONTINUE:
……
……
All trademarks and registered trademarks mentioned herein are the property of
their respective owners.
DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): Y
- 选择安装路径
--冒号后面为输入的路径,按照自己设定的输入,此次演示为演示路径,并输入后输入Y确定路径
===============================================================================
Installation Location
---------------------
Choose location for software installation.
Default Install Folder: /opt/GBASE/gbase
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
: /opt/GBASE/gbase
INSTALL FOLDER IS: /opt/GBASE/gbase
IS THIS CORRECT? (Y/N): Y
-
安装软件插件的方式选择
--接着为安装的插件选择,默认选择典型安装即可,1
===============================================================================
Installation or Distribution
----------------------------
Select the installation type.
Typical: Install the database server with all features and a database server
that
is configured with default values. Includes:
** Client Software Development Kit (CSDK)
** Java Database Connectivity (JDBC)
Minimum disk space required: 700-800MB
Custom: Install the database server with specific features and software that
you need.
Optionally install a configured database server instance.
Minimum disk space required: 75 MB (without a server instance)
->1- Typical installation
2- Custom installation
3- Extract the product files (-DLEGACY option)
4- Create a RPM package for redistribution
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:: 1
-
数据库实例的初始化:gbase8s数据库的软件和数据库数据存放的文件是分开的,所以可以先安装软件,后续进行初始化实例,而且本安装程序初始化的实例可能不符合需求,所以正常情况下是后续自定义初始化实例
--选择2,不初始化实例,因为默认初始化的实例可能不符合我们的需求,后期进行定制初始化
===============================================================================
Server Instance Creation
------------------------
Create a server instance?
->1- Yes - create an instance
2- No - do not create an instance
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:: 2
-
接下来之后就是确定和回车等待安装成功即可
4.初始化数据库实例
-
初始化实例必须使用gbasedbt用户进行初始化!!!!
-
本次为脚本进行初始化,所以执行脚本安装即可,脚本用户和属组属于gbasedbt,且有执行权限
[root@VM-8-4-centos ~] mv /root/GBaseInit_gbasedbt_V1.17.sh /home/gbasedbt/install/
[root@VM-8-4-centos ~] chown -R gbasedbt:gbasedbt /home/gbasedbt/install/GBaseInit_gbasedbt_V1.17.sh
[root@VM-8-4-centos ~] chmod +x /home/gbasedbt/install/GBaseInit_gbasedbt_V1.17.sh
[root@VM-8-4-centos ~] ls -l /home/gbasedbt/install/GBaseInit_gbasedbt_V1.17.sh
-rwxr-xr-x 1 gbasedbt gbasedbt 36030 Jan 9 21:06 /home/gbasedbt/install/GBaseInit_gbasedbt_V1.17.sh
-
进入到gbasedbt用户执行安装
[root@VM-8-4-centos ~] su - gbasedbt
Last login: Tue Jan 9 21:05:45 CST 2024 on pts/0
[gbasedbt@VM-8-4-centos ~]$ cd install
[gbasedbt@VM-8-4-centos install]$./GBaseInit_gbasedbt_V1.17.sh
-
执行过程-确定实例名称,实例名称在后续的连接和调试需要使用,请记住
--第一步选择实例名称,一台服务器可以安装部署多个数据库服务,此名称用于识别各个数据库服务
--本次命名为gbase_cp
Initializing Program...OK
ENTER THE INSTANCE INFORMATION or PRESS <ENTER> TO ACCEPT THE DEFAULT.
ENTER GBASE INSTANCE NAME (GBASEDBTSERVER) [Default:gbaseserver]: node1
-
执行过程-选择数据库安装信息
--此位置是上述内容安装数据库软件时指定的位置,一般会列出,如果不正确需要手动输入,检查正确回车即可
GBASE INSTALL FOLDER LIST:
1) /home/gbasedbt/gbase
CHOOSE GBASE INSTALL FOLDER(GBASEDBTDIR) [Default:/home/gbasedbt/gbase]: /opt/GBASE/gbase
--选择服务器的IP地址,一般选择自己服务器的ip地址,如果没有网卡,可以输入127.0.0.1或者0.0.0.0,如果默认可以,选择回车
CHOOSE SERVICE IP ADDRESS FROM THE LIST:
1) 192.168.6.6
2) 127.0.0.1
3) 192.168.122.1
ENTER THE NUMBER FOR YOUR CHOICE [Default:192.168.6.6]: 1
--选择自己数据库使用的端口号,默认为9088,如果和其他软件冲突,可以选择其他端口,本次设置为默认,直接回车
SPECIFY THE PORT NUMBER FOR GBASE [Default:9088]:
-
执行过程-实例的模式选择
--后续初始化数据库主要是初始化各个数据空间的大小,此次为自定义和典型,一般选择自定义
INITIALIZE TYPE:
1) TYPICAL -- Initialize the instance with all features configured with default values.
2) CUSTOM -- Initialize the instance with specific features that you need.
ENTER THE NUMBER FOR YOUR CHOICE [Default:1]: 2
--选择数据库的字符集编码,按照所需进行选择,一般为UTF8,因为UTF8支持中文
GBASE CHARACTER SET LIST:
GBASE CHARACTER SET LIST:
1) en_US.8859-1
2) zh_CN.GB18030-2000
3) zh_CN.utf8
ENTER THE NUMBER FOR YOUR CHOICE [Default:1]:
--选择数据库实例位置,此位置为数据存放目录,存放前请检查大盘的位置
--默认位置为数据库软件安装路径下,如有特殊情况请选择指定位置,注意指定位置前一层的权限
--本次为默认
ENTER THE DATA SPACE PATH [Default:/opt/GBASE/gbase/node1_dbs]:
-
执行过程-数据库化初始空间的大小,本次为演练,大小随便设置
--下面的大小都是MB为单位
--初始化逻辑日志空间
--逻辑日志大小设置主要考虑数据库一天的日志记录大小,最起码满足一天的日志记录
--如果无法计算,可以按照下列大小进行添加,后续进行更改
ENTER THE LOGICAL LOG DBSPACE SIZE(MB) [Default:4400]: 300
--初始化物理日志大小,物理日志可以设置为总数据空间的5%左右
ENTER THE PHYSICAL LOG DBSPACE SIZE(MB) [Default:4400]: 300
--初始化数据存放的数据空间,按照自己的数据量等情况可以进行设置
ENTER THE DEFAULT DATA DBSPACE SIZE(MB) [Default:910]: 300
--初始化智能大对象的数据空间
ENTER THE SMART LOB DBSPACE SIZE(MB) [Default:910]: 300
--初始化临时数据存放的数据空间大小
ENTER THE TEMPORARY DBSPACE SIZE(MB) [Default:910]: 300
--上述配置完成之后,进行二次确认,选择Y是确认上述配置
ENTER "Y" TO START DATABASE ADVANCED SETTINGS, OR ENTER "N" TO ACCEPT DEFAULT VALUES: [Default:N]:Y
--确定存放数据的数据空间初始数量,如果存在分片表或者可能需要不同数据空间的需求可以设置,大小按照上述配置,如果配置3,则会初始化3个上述大小的数据空间
ENTER THE NUMBER OF DATA DBSPACES [Default:1]:
--确定存放临时数据的数据空间数量,如果配置3,则会初始化3个上述大小的数据空间
ENTER THE NUMBER OF TEMP DBSPACES [Default:1]:
--二次确定是否接受上述配置,Y为接受
Enter "Y" TO ENABLE ENVIRONMENT GL_USEGLU, OR ENTER "N" TO DISABLE: [Default:N]:Y
--列出上述配置的全部内容,再次检查确定,正确选择Y
INSTANCE SUMMARY:
Instance name: node1
GBase install directory: /opt/GBASE/gbase
IP address & port: 192.168.6.6:9088
Character set: zh_CN.utf8
Logical log space size: 300 MB
Physical log space size: 300 MB
Data space size: 1000 MB
Smart LOB space size: 300 MB
Temp DBSpace size: 300 MB
Data path: /opt/GBASE/gbase/node1_dbs
Data path free size: 43578 MB
The number of data DBSpace: 1
The number of temp DBSpace: 1
Environment GL_USEGLU: 1
Enter "Y" to Start database initializing, or Enter "N" to Edit Again:Y
--配置文件参数,下面会弹出一个选项,是否需要配置参数文件,此处选择Y配置,选择Y回车会进入到一个文件内
--文件内主要是改动一个参数,ROOTSIZE 204800,此文件大小一般设置3~5G,即改为 ROOTSIZE 3072000,也可以选择n不设置
--进入到文件内输入/ROOTSIZE,进行查找参数
--改动结束保存即可,后续将会自动初始化
Touching Chunks...OK
Create sqlhosts File: /opt/GBASE/gbase/etc/sqlhosts.gbase_cp ...OK
Setting Parameters in /opt/GBASE/gbase/etc/onconfig.gbase_cp :
ROOTPATH.ROOTSIZE.DBSERVERNAME.FULL_DISK_INIT.SBSPACENAME.SYSSBSPACENAME.IFX_FOLDVIEW.DBSPACETEMP.LOGFILES.MULTIPROCESSOR.VPCLASS.NETTYPE.NUMFDSERVERS.CLEANERS.DEF_TABLE_LOCKMODE.DIRECT_IO.LOCKS.TAPEDEV.LTAPEDEV.CKPTINTVL.DS_MAX_QUERIES.DS_TOTAL_MEMORY.DS_NONPDQ_QUERY_MEM.PHYSBUFF.LOGBUFF.AUTO_TUNE.MSGPATH.SERVERNUM.ALLOW_NEWLINE.TEMPTAB_NOLOG.DUMPSHMEM.USEOSTIME.STACKSIZE.ON_RECVRY_THREADS.OFF_RECVRY_THREADS.SHMVIRTSIZE.SHMADD.GBASEDBTCONTIME.BUFFERPOOL2K.BUFFERPOOL16K.AUTO_CKPTS.AUTO_REPREPARE.ENABLE_NULL_STRING.MSG_DATE...OK
YOU CAN CUSTOMIZE DATABASE CONFIG FILE NOW,
--询问是否初始化以上空间,选择Y是
ENTER "Y" TO EDIT ONCONFIG FILE BY vi , OR ENTER "N" TO USE DEFAULT VALUES: [Default:N]:Y
-
执行过程-初始化完毕
--一般初始化完毕后,会回车退车,会弹出Killed的结尾,中文为杀死进程,一般如此为安装成功
Database restarting.......Your evaluation license will expire on 2025-03-29 00:00:00
OK
Creating database: gbasedb...OK
Now you can use this URL to connect to gbasedb:
jdbc:gbasedbt-sqli://192.168.6.6:9088/gbasedb:GBASEDBTSERVER=node1;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;NEWCODESET=UTF8,utf8,57372;GL_USEGLU=1
Version:
Your evaluation license will expire on 2025-03-29 00:00:00
On-Line -- Up 00:00:15 -- 1650580 Kbytes
Build Number: 3.5.1_3_6a4e30
GBase Initializing Finished!
Initialize log file : ./InitGBaseDB_202403291514.log
Press <ENTER> to Exit and Logout...
已杀死
-
此时可检查数据库状态和修改环境变量
--以下命令会查看当前服务器上的所有实例的状态
[root@node01 install]# su - gbasedbt
上一次登录:五 3月 29 15:14:32 CST 2024pts/0 上
[gbasedbt@node01 ~]$ onstat -g dis
Your evaluation license will expire on 2025-03-29 00:00:00
On-Line -- Up 00:01:20 -- 1650580 Kbytes
There are 1 servers found
Server : node1
Server Number : 196
Server Type : IDS
Server Status : Up
Server Version: GBase Database Server Version 12.10.FC4G1TL
Shared Memory : 0x44000000
GBASEDBTDIR : /opt/GBASE/gbase
ONCONFIG : /opt/GBASE/gbase/etc/onconfig.node1
SQLHOSTS : /opt/GBASE/gbase/etc/sqlhosts.node1
Host : node01
--关于环境变量
--由于刚安装完成,数据库关于时间存储的格式为:2024年3月28日。这种中文格式,如果改为常见的2024-03-28,需要更改环境变量文件
--以上面初始化的实例为例,环境变量文件为/home/gbasedbt/profile.gbase_cp,即profile后面以实例名称结尾,往里面加入两个变量并生效
echo 'export GL_DATE="%Y-%m-%d"' >> /home/gbasedbt/profile.gbase_cp
echo 'export GL_DATETIME="%Y-%m-%d %H:%M:%S"' >> /home/gbasedbt/profile.gbase_cp
(三)手动初始化的方式安装数据库
1.安装软件(手动和脚本的差别只有初始化实例的区别,安装软件一样的)
-
解压安装包
[root@iZ2ze2nmdlhki0ezcrioayZ install] tar -xvf GBase8sV8.8_TL_3.5.1_3_6a4e30_RHEL6_x86_64.tar
ids_install
onsecurity
doc/
doc/ids_machine_notes_12.10.txt
doc/ids_unix_relnotes_12.10.html
ids.properties
.gbase.properties
-
进行安装软件:安装软件时必须使用root用户,否则会出现问题!!!!!!
--执行安装,前面为协议,一直回车然后输入y即可
[root@VM-8-4-centos install] ./ids_install
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
-
选择安装路径
--冒号后面为输入的路径,按照自己设定的输入,此次演示为演示路径
Installation Location
---------------------
Choose location for software installation.
Default Install Folder: /opt/GBASE/gbase
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
:/opt/GBASE/gbase
-
安装软件插件的方式选择
--接着为安装的插件选择,默认选择典型安装即可,1
Custom: Install the database server with specific features and software that
you need.
Optionally install a configured database server instance.
Minimum disk space required: 75 MB (without a server instance)
->1- Typical installation
2- Custom installation
3- Extract the product files (-DLEGACY option)
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT::1
-
数据库实例的初始化:gbase8s数据库的软件和数据库数据存放的文件是分开的,所以可以先安装软件,后续进行初始化实例,而且本安装程序初始化的实例可能不符合需求,所以正常情况下是后续自定义初始化实例
--选择2,不初始化实例,因为默认初始化的实例可能不符合我们的需求,后期进行定制初始化
===============================================================================
Server Instance Creation
------------------------
Create a server instance?
->1- Yes - create an instance
2- No - do not create an instance
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT::2
-
接下来之后就是确定和回车等待安装成功即可
2.准备初始化实例的文件
-
准备环境变量:目前以安装路径/opt/GBASE/gbase为例,可以在/home/gbasedbt下创建文件profile.node1,并在/home/gbasedbt/.bash_profile增加source /home/gbasedbt/profile.node1
touch /home/gbasedbt/profile.node1
echo 'source /home/gbasedbt/profile.node1' >> /home/gbasedbt/.bash_profile
--文件内容如下
--确定实例名称,这个名称需要记住,三个位置需要使用
export GBASEDBTSERVER=node1
--数据库安装路径
export GBASEDBTDIR=/opt/GBASE/gbase
--执行指令的bin目录位置
export PATH=/opt/GBASE/gbase/bin:/usr/bin:{PATH}:.
--一些库文件的位置
export LD_LIBRARY_PATH=${GBASEDBTDIR}/lib:${GBASEDBTDIR}/lib/esql:${GBASEDBTDIR}/lib/cli
--确定参数文件的名称,一般是onconfig后面+实例名称,本次命名实例名称为node1
export ONCONFIG=onconfig.node1
--确定网络连接文件的名称,一般是sqlhosts后面+实例名称
export GBASEDBTSQLHOSTS=/opt/GBASE/gbase/etc/sqlhosts
--确定数据库的字符集,一般为utf8,可以有中文注释
export DB_LOCALE=zh_CN.utf8
--客户端的字符集
export CLIENT_LOCALE=zh_CN.utf8
--是否启动生僻字,需要设置为1
export GL_USEGLU=1
--设置时间的展示格式,一般格式为2023-01-01 00:00:00,默认的为2023年01月01日 00时00分00秒,设置上述格式需要设置以下参数
export GL_DATE="%Y-%m-%d"
export GL_DATETIME="%Y-%m-%d %H:%M:%S"
-
准备网络连接文件
-
一般在/安装路径/etc/下会存在文件sqlhosts.std,将此文件进行复制并改动
-
gbasedbt@fu etc]$ cp /opt/GBASE/gbase/etc/sqlhosts.std /opt/GBASE/gbase/etc/sqlhosts.node1
--以下四个值为实例名称,连接方式,IP地址,端口号,将信息写入到文件内
[gbasedbt@fu etc]$ echo 'node1 onsoctcp 192.168.8.88 9088' >> /opt/GBASE/gbase/etc/sqlhosts.node1
-
准备实例初始化后的数据存储文件:文件夹权限为755,文件权限为660
--假设此次存放的文件夹在安装目录下的chunk文件内
mkdir /opt/GBASE/gbase/chunks
chown -R gbasedbt:gbasedbt /opt/GBASE/gbase/chunks
chmod 755 /opt/GBASE/gbase/chunks
--gbase8s的数据的存放文件分为多种,主要为系统数据存放文件、逻辑日志文件、物理日志文件、和数据文件,除此之外,还有简单大对象文件、智能大对象文件和临时文件,本次初始化先初始化系统数据存放文件,将系统数据文件命名为rootdbs
mkdir /opt/GBASE/gbase/chunks/rootdbs
chown -R gbasedbt:gbasedbt /opt/GBASE/gbase/chunks/rootdbs
chmod 660 /opt/GBASE/gbase/chunks/rootdbs
-
准备实例初始化的参数文件
-
一般在/安装路径/etc/下会存在文件onconfig.std,将此文件进行复制并改动
-
此次只说明一般的修改参数
-
cp /opt/GBASE/gbase/etc/onconfig.std /opt/GBASE/gbase/etc/onconfig.node1
--文件内修改以下参数
--数据文件的名字和路径,刚才新建的系统数据文件
ROOTPATH /opt/GBASE/gbase/chunks/rootdbs
--用于物理备份的指定路径,如果没有设置,手动备份时需要指定路径
TAPEDEV /dev/null
--用于逻辑日志的备份路径,如果设置为空,则逻辑日志不会进行存留,切换完毕逻辑日志则会标记为可用
LTAPEDEV /dev/null
--实例编号,此编号需要保证同一台服务器上的实例编号唯一
SERVERNUM 1
--数据库服务器实例名称,在环境变量和sqlhosts中都存在,必须一样
DBSERVERNAME gbasedb1
--数据文件的初始化默认大小,可以按照数据大小进行设置,一般设置为3~5G,如果自己使用,可默认
ROOTSIZE 3000000
--数据库的日志文件位置的重定向
MSGPATH /opt/GBASE/gbase/etc/node1.log
--0表示只有在根区未检测到实例的情况下允许完全初始化,存在实例需要初始化需要1
FULL_DISK_INIT 1
3.初始化实例
-
以下命令进行初始化即可,等待执行完成可查看数据库状态
--i是第一次初始化使用,v是打印信息,y是对所有的选项选择y
oninit -ivy
--通过以下命令查看数据库状态
onstat -g dis
4.初始化其他数据库空间
--创建逻辑日志空间,-c创建、-d数据空间的名称、-p创建的数据文件路径(必须全路径,否则启动时可能找不到数据文件)、-o起始位置,设置0即可、-s大小(KB为单位)
touch /opt/GBASE/gbase/chunks/llogdbs
chmod 660 /opt/GBASE/gbase/chunks/llogdbs
onspaces -c -d llogchk -p /opt/GBASE/gbase/chunks/llogdbs -o 0 -s 100000
--创建物理日志空间,-P表示是物理日志空间格式
touch /opt/GBASE/gbase/chunks/plogdbs
chmod 660 /opt/GBASE/gbase/chunks/plogdbs
onspaces -c -P plogchk -p /opt/GBASE/gbase/chunks/plogdbs -o 0 -s 100000
--创建临时空间,-t代表临时,其意义是临时表的操作不走逻辑日志,性能更高,-k表示临时表的页表大小是16KB
touch /opt/GBASE/gbase/chunks/tempdbs
chmod 660 /opt/GBASE/gbase/chunks/tempdbs
onspaces -c -d tempchk -p /opt/GBASE/gbase/chunks/tempdbs -o 0 -s 100000 -k 16 -t
--创建简单大对象的空间,-b表示简单大对象格式,-g是这个格式的页表大小
touch /opt/GBASE/gbase/chunks/bindbs
chmod 660 /opt/GBASE/gbase/chunks/bindbs
onspaces -c -b binchk -p /opt/GBASE/gbase/chunks/bindbs -o 0 -s 100000 -g 16
--创建智能大对象空间,-S是智能大对象空间的格式
touch /opt/GBASE/gbase/chunks/sbdbs
chmod 660 /opt/GBASE/gbase/chunks/sbdbs
onspaces -c -S sbchk -p /opt/GBASE/gbase/chunks/sbdbs -o 0 -s 100000
--查看所有加载的空间
onstat -d
--创建数据的空间,此空间是存放数据的数据空间
onspaces -c -d datachk -p datadbs -o 0 -s 300000 -k 16
--删除已创建的数据空间
onspaces -d llog
5.移动物理日志和逻辑日志
由于物理日志和逻辑日志是在仅有系统数据空间的时候进行初始化的,所以可能会将其数据存放到rootdbs内,所以将其进行移动出来(物理日志可能在其创建时自动移动,需要检查)
--物理日志,使用onstat -l进行查看,查看phybegin下前面的数字,是否是1,如果是1,则需要手动移动,如果不是且和onstat -d中物理日志的序号对应,则已经移动过
[gbasedbt@iZ2ze2nmdlhki0ezcrioayZ install]$ onstat -l
Your evaluation license will expire on 2025-03-15 00:00:00
On-Line -- Up 1 days 18:05:43 -- 676080 Kbytes
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-1 0 1024 1548 184 8.41
phybegin physize phypos phyused %used
3:53 149100 13268 0 0.00
--手动移动的方式,-p说明移动物理日志,-d移动到最终的数据空间,-s设置的物理日志文件大小
onparams -p -d plogdbs -s 500000
- 逻辑日志
--新增新chunk块的逻辑日志,直至出现告警说空间不足,假设上面创建逻辑日志空间为2G,可以分成100M一个,分成20个
[gbasedbt@FU1 chunks]$ onparams -a -d llogdbs -s 100000
Your evaluation license will expire on 2024-10-06 00:00:00
Log operation started. To monitor progress, use the onstat -l command.
Logical log successfully added.
[gbasedbt@FU1 chunks]$ onparams -a -d llogdbs -s 100000
Your evaluation license will expire on 2024-10-06 00:00:00
Log operation started. To monitor progress, use the onstat -l command.
Logical log successfully added.
[gbasedbt@FU1 chunks]$ onparams -a -d llogdbs -s 100000
Your evaluation license will expire on 2024-10-06 00:00:00
Log operation started. To monitor progress, use the onstat -l command.
Logical log successfully added.
[gbasedbt@FU1 chunks]$ onparams -a -d llogdbs -s 100000
Your evaluation license will expire on 2024-10-06 00:00:00
Log operation started. To monitor progress, use the onstat -l command.
Logical log successfully added.
[gbasedbt@FU1 chunks]$ onparams -a -d llogdbs -s 100000
Your evaluation license will expire on 2024-10-06 00:00:00
Log operation started. To monitor progress, use the onstat -l command.
Logical log successfully added.
[gbasedbt@FU1 chunks]$ onparams -a -d llogdbs -s 100000
Your evaluation license will expire on 2024-10-06 00:00:00
Log operation started. To monitor progress, use the onstat -l command.
Cannot add a logical log.
ISAM error: DBSpace is full.
--通过onstat -l查看当前的逻辑日志的编号,使用onmode -l切换日志和onmode -c切换检查点将当前的逻辑日志切换到新的chunk上,即flags标志位上的C和L处于begin开始不为1的编号上
[gbasedbt@FU1 chunks]$ onstat -l
Your evaluation license will expire on 2024-10-06 00:00:00
On-Line -- Up 00:12:12 -- 336528 Kbytes
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-2 11 64 1070 33 32.42
phybegin physize phypos phyused %used
7:53 255947 12 11 0.00
Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
L-1 0 32 302074 24307 4575 12.4 5.3
Subsystem numrecs Log Space used
OLDRSAM 301473 44014284
SBLOB 5 252
HA 20 880
DDL 576 200448
address number flags uniqid begin size used %used
44eecf30 1 U-B---- 1 1:25263 5000 5000 100.00
44eecf98 2 U-B---- 2 1:30263 5000 5000 100.00
44fbbf30 3 U-B---- 3 1:35263 5000 5000 100.00
44fbbf98 4 U-B---- 4 1:40263 5000 5000 100.00
450eb710 5 U---C-L 5 1:45263 5000 4307 86.14
450eb778 6 A------ 0 1:50263 5000 0 0.00
46322f78 7 A------ 0 2:53 50000 0 0.00
4d3e7e80 8 A------ 0 2:50053 50000 0 0.00
4d3e7e18 9 A------ 0 2:100053 50000 0 0.00
4d3e7ee8 10 A------ 0 2:150053 50000 0 0.00
4d3e7f58 11 A------ 0 2:200053 50000 0 0.00
11 active, 11 total
[gbasedbt@FU1 chunks]$ onmode -l
Your evaluation license will expire on 2024-10-06 00:00:00
[gbasedbt@FU1 chunks]$ onmode -l
Your evaluation license will expire on 2024-10-06 00:00:00
[gbasedbt@FU1 chunks]$ onmode -l
Your evaluation license will expire on 2024-10-06 00:00:00
[gbasedbt@FU1 chunks]$ onmode -l
Your evaluation license will expire on 2024-10-06 00:00:00
[gbasedbt@FU1 chunks]$ onmode -c
Your evaluation license will expire on 2024-10-06 00:00:00
[gbasedbt@FU1 chunks]$ onstat -l
Your evaluation license will expire on 2024-10-06 00:00:00
On-Line -- Up 00:12:29 -- 336528 Kbytes
Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-2 0 64 1088 35 31.09
phybegin physize phypos phyused %used
7:53 255947 30 7 0.00
Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
L-3 0 32 302161 24327 4595 12.4 5.3
Subsystem numrecs Log Space used
OLDRSAM 301559 44023360
SBLOB 5 252
HA 21 924
DDL 576 200448
address number flags uniqid begin size used %used
44eecf30 1 U-B---- 1 1:25263 5000 5000 100.00
44eecf98 2 U-B---- 2 1:30263 5000 5000 100.00
44fbbf30 3 U-B---- 3 1:35263 5000 5000 100.00
44fbbf98 4 U-B---- 4 1:40263 5000 5000 100.00
450eb710 5 U-B---- 5 1:45263 5000 4308 86.16
450eb778 6 U-B---- 6 1:50263 5000 5 0.10
46322f78 7 U-B---- 7 2:53 50000 1 0.00
4d3e7e80 8 U-B---- 8 2:50053 50000 7 0.01
4d3e7e18 9 U---C-L 9 2:100053 50000 6 0.01
4d3e7ee8 10 A------ 0 2:150053 50000 0 0.00
4d3e7f58 11 A------ 0 2:200053 50000 0 0.00
11 active, 11 total
--通过onparams命令将之前的逻辑日志编号删除
[gbasedbt@FU1 chunks]$ for i in {1..6};do onparams -d -l $i -y;done
Your evaluation license will expire on 2024-10-06 00:00:00
Logical log 1 successfully dropped.
Your evaluation license will expire on 2024-10-06 00:00:00
Logical log 2 successfully dropped.
Your evaluation license will expire on 2024-10-06 00:00:00
Logical log 3 successfully dropped.
Your evaluation license will expire on 2024-10-06 00:00:00
Logical log 4 successfully dropped.
Your evaluation license will expire on 2024-10-06 00:00:00
Logical log 5 successfully dropped.
Your evaluation license will expire on 2024-10-06 00:00:00
Logical log 6 successfully dropped.
二、安装问题
(一)针对麒麟V10的虚拟机可能会出现的问题
1.初始化结束的后显示不正常
--本次初始化结尾如下,表明此次初始化存在问题,异常退出
Your evaluation license will expire on 2024-11-02 00:00:00
onclean: Cleaning up processes and resources for 'gbase_cp'...
- Looking for the master daemon process: 24413
- Looking for the shmem key: 532b4803
- Looking for the shmem key: 532b4804
- Looking for semaphore ID: 7
- Looking for the shmem key: 532b4801
- Looking for the shmem key: 532b4802
--上述表示清空内存段退出,需要查看日志进行检查
2.检查问题和修复
以本次为例,由于安装之前为进入到数据库安装目录,所以安装之后可以进入到gbasedbt用户下进行查看,本次在进入到gbasedbt用户时,出现以下错误
-
bash:source:kysec:权限不够
--上述安装时,数据库实例名称为gbase_cp,正常情况下/home/gbasedbt下会出现以下文件
[gbasedbt@VM-8-4-centos ~]$ ls -l profile.gbase_cp
-rw-rw-r-- 1 gbasedbt gbasedbt 294 Jan 9 21:34 profile.gbase_cp
--手动使环境变量生效
[gbasedbt@VM-8-4-centos ~]$ source /home/gbasedbt/profile.gbase_cp
--本次执行上述命令依然出现了bash:source:kysec:权限不够关键词,表名是环境变量无法生效导致数据库初始化失败
--本次修复方式,进入到root用户下,执行以下命令即可
[root@VM-8-4-centos ~]# setstatus disable
--再次生效环境变量检查
[root@VM-8-4-centos ~]# su - gbasedbt
Last login: Tue Jan 9 21:42:21 CST 2024 on pts/0
[gbasedbt@VM-8-4-centos ~]$ source /home/gbasedbt/profile.gbase_cp
--执行成功
--本次进入到gbasedbt用户的其他错误
--正常来说进入到一个新用户下,会以用户名称为前缀,但是此次出现了以$为前缀的,形式如下或者是仅有$符号
[root@VM-8-4-centos ~] su - gbasedbt
Last login: Tue Jan 9 21:50:21 CST 2024 on pts/0
-sh-4.2$
--修复措施,一般情况为两种,本次为环境变量配置错误,即/etc/passwd文件内gbasedbt用户后路径配置错误为/bin/sh,如下
[root@VM-8-4-centos ~] cat /etc/passwd|grep gbasedbt
gbasedbt:x:1002:1002::/home/gbasedbt:/bin/sh
--手动进入文件更改为/bin/bash,重新生效即可
[root@VM-8-4-centos ~] vi /etc/passwd
[root@VM-8-4-centos ~] cat /etc/passwd|grep gbasedbt
gbasedbt:x:1002:1002::/home/gbasedbt:/bin/bash
[root@VM-8-4-centos ~] source /etc/passwd
3.重新初始化
--进入到gbasedbt用户下
su - gbasedbt
--检查数据库进程,如果没有重新初始化,如果有,进行kill杀除
--如果进程过多,可以执行下列命令
kill -9 `ps -ef|grep oninit|awk -F ' ' '{print $2}'`
--然后重新初始化,mode=5表示成功
[gbasedbt@VM-8-4-centos ~]$ oninit -ivy
Your evaluation license will expire on 2024-11-02 00:00:00
Reading configuration file '/home/gbasedbt/gbase/etc/onconfig.gbase_cp'...succeeded
Creating /GBASEDBTTMP/.infxdirs...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 63034 kbytes...succeeded
Creating infos file "/home/gbasedbt/gbase/etc/.infos.gbase_cp"...succeeded
Linking conf file "/home/gbasedbt/gbase/etc/.conf.gbase_cp"...succeeded
Initializing rhead structure...rhlock_t 65536 (2048K)... rlock_t (53125K)... Writing to infos file...succeeded
Initialization of Encryption...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
······
Verbose output complete: mode = 5
(二)安装和初始化问题
- 缺少unzip软件的报错
执行安装,直接退出,且出现the version file is not exist.大概率是unzip的软件不存在。
2.由于文件权限的问题导致初始化失败
手动初始化实例时,最后出现mode=5表示初始化成功,如果出现mode=2表示初始化失败,初始化失败需要查看日志
--onstat -m查看日志,如果日志中包含下列内容
stack trace for pid 27204 written to /home/gbasedbt/gbase/tmp/af.3f1e25a
09/28/23 10:18:02 See Also: /home/gbasedbt/gbase/tmp/af.3f1e25a
09/28/23 10:18:02 Unable to bind to the port (9088) on the host (49.232.247.31) for the server (gbase8s).
09/28/23 10:18:02 The chunk '/home/gbasedbt/gbase/chunks/rootchk' must have READ/WRITE permissions for owner (600).
09/28/23 10:18:02 GBase Database Server Stopped.
09/28/23 10:18:02 Process exited with return code 126: /bin/sh /bin/sh -c /home/gbasedbt/gbase/etc/alarmprogram.sh 4 7 "Database Server Initialization failure." "The chunk '/home/gbasedbt/gbase/chunks/rootchk' must have READ/WRITE permissions for owner (600)." "" 7018
10:18:02 mt_shm_remove: WARNING: may not have removed all/correct segments
上述日志中有 The chunk '/home/gbasedbt/gbase/chunks/rootchk' must have READ/WRITE permissions for owner (600).,说明是这个文件的权限不对
3.重新初始化报错
报错如下
[gbasedbt@fu ~]$ oninit -ivy
Your evaluation license will expire on 2024-10-10 00:00:00
oninit: Fatal error in shared memory creation
Reading configuration file '/home/gbasedbt/gbase/etc/onconfig'...succeeded
Creating /GBASEDBTTMP/.infxdirs...succeeded
Allocating and attaching to shared memory...FAILED
WARNING: server initialization failed or timed out.
Check the message log, online.log, for errors.
[gbasedbt@fu ~]$ vi gbase/tmp/online.log
14:08:51 GBase Database Server Started.
14:08:51 Requested shared memory segment size rounded from 4308KB to 4788KB
14:08:51 shmget: [EEXIST][17]: key 52574801: shared memory already exists
14:08:51 mt_shm_init: can't create resident segment
上述显示无法创建内存段,可能是相应的内存段已经被分配,无法回收,可以ipcrm -a手动回收
[root@fu /]ipcrm -a
[root@fu /]su - gbasedbt
上一次登录:三 10月 11 14:21:35 CST 2023pts/2 上
[gbasedbt@fu ~]$ ls -l
总用量 4
drwxrwxr-x. 4 gbasedbt gbasedbt 38 10月 11 14:14 backup
drwxr-xr-x. 21 gbasedbt gbasedbt 4096 10月 11 14:14 gbase
drwxr-xr-x. 4 gbasedbt gbasedbt 250 10月 11 14:19 install
[gbasedbt@fu ~]$ oninit -ivy
Your evaluation license will expire on 2024-10-10 00:00:00
Reading configuration file '/home/gbasedbt/gbase/etc/onconfig'...succeeded
Creating /GBASEDBTTMP/.infxdirs...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 4310 kbytes...succeeded
Creating infos file "/home/gbasedbt/gbase/etc/.infos.node1"...succeeded
Linking conf file "/home/gbasedbt/gbase/etc/.conf.node1"...succeeded
Initializing rhead structure...rhlock_t 16384 (512K)... rlock_t (2656K)... Writing to infos file...succeeded
Initialization of Encryption...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
Creating VP classes...succeeded
(三)检查使用出现问题
1.onstat -g dis查看不到数据库状态
oninit -ivy初始化后,出现mode=5表示初始化成功,但是onstat -g dis中查看不到数据库状态,可能是sqlhosts文件有问题,可以检查一下文件内容,IP和端口问题
2.数据库重启无法加载数据空间
加载表空间-p时指定路径最好是绝对路径,不然启动的时候必须进入到相应的目录下,否则,无法找到启动的表空间位置