第一次使用GBase 8s数据库,目标就是安装、建库、建表,而且有现成的建表语句,感觉应该会很顺利
数据库部署在云平台,系统环境是uos操作系统,x86架构
第一步:安装
在官方社区下载了安装包和文档,安装包包含了安装程序和驱动
先通读了一遍安装手册,安装分成典型安装和定制安装,感觉定制安装更符合自己的风格,而且定制安装需要脚本创建实例,会根据系统环境手动或自动创建字符集、存储空间、日志空间。
安装准备:创建gbasedbt组和用户,设置密码、赋权,解压安装包
运行安装报错了

显示缺少了libnsl.so.1文件,检查了java环境也没问题,咋回事,去GBase社区搜搜,果然有帖子,只要拿 /usr/lib64/下的对应文件做个软链就解决了。继续吧
安装类型选择“2”是定制安装,其他基本默认回车,安装结束,回车退出。
第二步:使用脚本自动创建和初始化实例,脚本在那里呢?我安装后脚本生成在/opt/GBASE/gbase/etc 下,名称是GBseInit_gbasedbt.sh
刚才的安装使用的是root用户,现在切换到gbasedbt用户,
执行脚本sh GBaseInit_gbasedbt.sh,当然之前别忘了授权,执行过程中会看到各类参数配置,包括端口号、空间存储路径、各类日志的大小,仔细看了默认给出的参数配置基本合理,都是回车搞定。
按手册写的运行ps -ef|grep oninit,服务已经起来了,还算顺利,下面该建库建表了
先建个工具的连接吧,方便下面的操作 DBeaver连接数据库,怎么又报错了

这啥情况,密码太简单了吗?不能吧,数据库密码设置挺复杂的啊
再去GBase社区查查看,果然有解决办法https://www.gbase.cn/community/post/1062 原来是gbasedbt用户的密码太简单了
工具也连好了,下面直接运行建库脚本应该可以了吧
CREATE TABLESPACE DATA01 RELATIVE LOCATION 'tablespace/DATA01';
失败了,创建表空间竟然报错,这又是为什么呢?查手册吧
我的天,GBase8s原来不能使用sql建表空间,而是要用Linux命令,步骤是用touch创建数据文件,再给一个660的权限,再onspaces命令创建对应表空间
具体这么干
1. 创建文件(以存储在/opt/dbs目录下为例)
cd /opt/dbs
touch datadbs tempdbs plogdbs llogdbs subspace
chown gbasedbt:gbasedbt datadbs tempdbs plogdbs llogdbs subspace
chmod 660 datadbs tempdbs plogdbs llogdbs subspace
2. 创建数据空间
onspaces -c -d datadbs -p /opt/dbs/datadbs1 -o 0 -s 500000-k 8k;
后面就可以正常建表了create table tab_round ( id int, name varchar(40), nation varchar(40), regtime datetime year to second default current year to second not null ) fragment by round robin in datadbs1
既然用到onspaces 就再多了解一些这方面的知识
Onspaces 功能可以创建dbspace或临时dbspace
dbspace :是一个逻辑上的概念,实际上是由一个或多个chunk组合而成,因此,每个dbspace 至少包含一个chunk来存储数据。
chunk :是磁盘上的一块连续的物理空间,数据最终存放于此,我们可设置chunk的个数和大小。因此,chunk是物理存储实体。
当我们建立数据库或表时,不直接与某个chunk关联,库或表建立在dbspace 上, 库或表的数据存放在dbspace 的chunk中,至于数据最终放在dbspace 的哪个chunk上,则由系统内部自身决定。当dbspace 中的chunk都写满时,可以为它加新的chunk。
简单的一次安装又有了新的认识,尤其是用惯了oracle,感觉其他数据库很另类或不适应,其实想想也无所谓,当下的oracle早已不是数据库的代名词,国产数据又是百花齐放,还是要多接触一些新的东西,说不定哪天oracle真就离我们远去了。




