GBase 8s的客户端工具相对缺乏,通过jdbc客户端工具也仅显示语法错误号码,而不具体指明实际位置。
而GBase 8s所自带的dbaccess工具能较好的显示实际位置。
以下示例的方式使用dbaccess调试SQL语句,语句已经写在1.sql文件中。
1,在命令行下,dbaccess登陆需要调试SQL所在的库
[gbasedbt@bd temp]$ dbaccess sysmaster
GBase 8s的客户端工具相对缺乏,通过jdbc客户端工具也仅显示语法错误号码,而不具体指明实际位置。
而GBase 8s所自带的dbaccess工具能较好的显示实际位置。
以下示例的方式使用dbaccess调试SQL语句,语句已经写在1.sql文件中。
[gbasedbt@bd temp]$ dbaccess sysmaster
在RHEL7/CENTOS7/SUSE12及最新的Ubuntu等linux发行版本中, 均使用systemd进行服务控制管理(Service Control Manager)。
使用systemd, 不再需要编写shell脚本程序来控制启动、关闭。
以下是通过systemd方式实现GBase 8s数据库的自启动与关闭。
适用于操作系统: RHEL7/CENTOS7, 以及基于RHEL7内核的系统
GBase 8s 支持中文的全文本搜索功能BTS -- Basic Text Search。
传统关系型数据库上,我们通常通过 LIKE 或 MATCHES 条件来搜索文本数据,往往需要进行全表扫描,性能低下。
BTS提供全文本搜索能力,可以检索一个表上的字符数据类型列(BLOB, CHAR, CLOB, LVARCHAR, NCHAR, NVARCHAR, or VARCHAR)数据
操作系统:RHEL7U6 64bit
软件需求:
1,GBase 8s CSDK
2,perl-5.16.3 及perl-devel-5.16.3
3,unixODBC-2.3.1
4,DBD-ODBC-1.60
Linux下root用户通过rpm确认perl、perl-devel,unixODBC、unixODBC-devel均已经安装,如下:
操作系统:RHEL 7U6 64bit
软件需求:
1,GBase 8s CSDK
2,perl-5.16.3
3,DBD-GBasedbt-2018.1031(Base on: DBD-Informix-2018.1031)
Linux下root用户通过rpm确认perl、perl-DBI、perl-Test-Pod、perl-Test-Pod-Coverage及perl-ExtUtils-MakeMaker均已经安装,如下:
GBase 8s数据库在语法上支持Round-Robin(轮询调度),Expression-Based(基于表达式),List(列表式),Range(区间)四种分片方式。
1,Round-Robin(轮询调度)
插入数据是按照顺序逐条往各个分片上写。
特点:
简单,不需要了解数据的分布
把数据均匀地分配到所有分片中
提高查询性能
只能用于表,不能用于索引
不能用于分片忽略以增加性能
检查GBase 8s HDR集群运行状态最简便的方式是使用onstat -g dri命令
GBase Database Server Version 12.10.FC4G1AEE -- On-Line (Prim) -- Up 00:28:21 -- 627616 Kbytes
Data Replication at 0x47588028:
Type State Paired server Last DR CKPT (id/pg) Supports Proxy Writes
primary on gbase32 4 / 14 NA
DRINTERVAL 0
DRTIMEOUT 30
DRAUTO 0
DRLOSTFOUND /home/gbase30/etc/dr.lostfound
DRIDXAUTO 0
ENCRYPT_HDR 0
Backlog 0
Last Send 2019/05/06 09:09:42
Last Receive 2019/05/06 09:09:42
Last Ping 2019/05/06 09:09:36
Last log page applied(log id,page): 4,15
Linux下通过PHP(pdo)连接到GBase 8s数据库
操作系统:RHEL 6U9 64bit
必需组件:
unixODBC: unix下的odbc
php: 操作系统自带的php
php-devel: php开发组件,包含phpize工具
php-pdo: php-pdo组件
httpd: apache httpd服务器
automake: 编译组件
autoconf: 编译组件
gcc: 编译组件,编译器注1:php-devel一般位于安装光盘的dvd2上
注2:若编译过程中涉及到其他组件,需先安装后再继续
数据库连接工具:
GBase 8s CSDK
PDO_GBASEDBT:
PDO_GBASEDBT-1.3.3.tgz
PDO_GBASEDBT-1.3.3: 由PDO_INFORMIX修改而来
配置前提
1,GBase 8s 数据库服务器已经正常启动
2,GBase 8s 客户端连接工具已经安装
Linux下通过PHP(ODBC)连接到GBase 8s数据库
操作系统:RHEL 6U9 64bit
必需组件:
unixODBC unix下的odbc
php 操作系统自带的php
php-odbc odbc连接php组件
httpd apache httpd服务器
数据库连接工具:
GBase 8s CSDK
配置前提
1,GBase 8s 数据库服务器已经正常启动
2,GBase 8s 客户端连接工具已经安装
有网友反馈说,merge into报229/102错误,并提供相应的表结构。测试并复现了该问题,并最终确认如下结论:
merge into使用的表的特殊字段不能超过112个。
测试过程如下:
创建表mergetab
create table mergetab
(
col1 varchar(10),
col2 varchar(10),
col3 varchar(10),
col4 varchar(10),
-- 中间还有 col5 至 col111字段,均为varchar(10)
col112 varchar(10),
col113 varchar(10)
);