运维管理
数据库管理、维护、故障处理等

[GBase 8s 教程]GBase 8s 常用函数、表达式

聚集函数

函数返回类型描述示例结果
COUNT(*)数值返回行数COUNT(*)100
COUNT(UNIQUE col)
COUNT(DISTINCT col)
数值返回去重后的行数(忽略NULL行)COUNT(UNIQUE col1)50
COUNT(col)数值返回行数COUNT(col1)100
AVG(col/expr)数值返回表达式或指定的列的数值平均值AVG(col1)64
AVG(UNIQUE col)
AVG(DISTINCT col)
数值返回指定的列中唯一值的数值平均值AVG(UNIQUE col1)61
MAX(col/expr)数值返回指定的列或表达式中的最大值MAX(col1)100
MIN(col/expr)数值返回指定的列或表达式中的最小值MIN(col1)10
SUM(col/expr)数值返回指定的列或表达式中的数值总和SUM(col1)5050
RANGE(col)数值返回数值列表达式参数的值的范围RANGE(col1)99
STDEV(col)数值计算数据集的标准差STDEV(col1)200
VARIANCE(col)数值总体方差的估计值,即标准差的平方VARIANCE(col1)40000


阅读全文»

GBase 8s PSM简单配置

  PSM(Primary Storage Manager)是仅有基本的备份/恢复功能(相对于Netbackup等来说),当前的版本中也仅支持文件系统设备。

以下是简单的配置步骤:
准备工作,使用gbasedbt用户,准备足够大的文件系统(目录)用于存储备份。

1,修改ONCONFIG配置文件参数

BAR_BSALIB_PATH为$GBASEDBTDIR/lib/libbsapsm.so,该参数是动态参数,可使用onmode -wf修改

[gbasedbt@bd ~]$ onmode -wf BAR_BSALIB_PATH=$GBASEDBTDIR/lib/libbsapsm.so
Value of BAR_BSALIB_PATH has been changed to /opt/gbase/lib/libbsapsm.so.

修改ALARMPROGRAM为$GBASEDBTDIR/etc/log_full.sh,该配置参数启用逻辑日志备份onbar -b -l
该参数在GBase 8s中也是动态参数,可使用onmode -wf修改

[gbasedbt@bd ~]$ onmode -wf ALARMPROGRAM=$GBASEDBTDIR/etc/log_full.sh
Value of ALARMPROGRAM has been changed to /opt/gbase/etc/log_full.sh.

修改LTAPEDEV为非/dev/null,启动逻辑日志备份,而不是丢弃逻辑日志备份。

[gbasedbt@bd ~]$ onmode -wf LTAPEDEV=/opt/gbase/backups/logs
Value of LTAPEDEV has been changed to /opt/gbase/backups/logs.


阅读全文»

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。


阅读全文»

GBase 8s 使用dbaccess工具调试SQL语句

GBase 8s的客户端工具相对缺乏,通过jdbc客户端工具也仅显示语法错误号码,而不具体指明实际位置。
而GBase 8s所自带的dbaccess工具能较好的显示实际位置。
以下示例的方式使用dbaccess调试SQL语句,语句已经写在1.sql文件中。

1,在命令行下,dbaccess登陆需要调试SQL所在的库

[gbasedbt@bd temp]$ dbaccess sysmaster


阅读全文»

GBase 8s 通过systemd实现自启动与关闭

在RHEL7/CENTOS7/SUSE12及最新的Ubuntu等linux发行版本中, 均使用systemd进行服务控制管理(Service Control Manager)。
使用systemd, 不再需要编写shell脚本程序来控制启动、关闭。

以下是通过systemd方式实现GBase 8s数据库的自启动与关闭。
适用于操作系统: RHEL7/CENTOS7, 以及基于RHEL7内核的系统



阅读全文»

GBase 8s 全文索引功能

GBase 8s 支持中文的全文本搜索功能BTS -- Basic Text Search。
传统关系型数据库上,我们通常通过 LIKE 或 MATCHES 条件来搜索文本数据,往往需要进行全表扫描,性能低下。
BTS提供全文本搜索能力,可以检索一个表上的字符数据类型列(BLOB, CHAR, CLOB, LVARCHAR, NCHAR, NVARCHAR, or VARCHAR)数据



阅读全文»

GBase 8s数据库连接 – Perl(DBD::ODBC)

操作系统: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

1,系统环境确认

1.1 perl、perl-devel及unixODBC版本

Linux下root用户通过rpm确认perl、perl-devel,unixODBC、unixODBC-devel均已经安装,如下:






阅读全文»

GBase 8s数据库连接 – Perl(DBD::GBasedbt)

操作系统:RHEL 7U6 64bit
软件需求:
1,GBase 8s CSDK
2,perl-5.16.3
3,DBD-GBasedbt-2018.1031(Base on: DBD-Informix-2018.1031)

1,系统环境确认

1.1 perl版本

Linux下root用户通过rpm确认perl、perl-DBI、perl-Test-Pod、perl-Test-Pod-Coverage及perl-ExtUtils-MakeMaker均已经安装,如下:





阅读全文»

GBase 8s数据库表分片介绍

GBase 8s数据库在语法上支持Round-Robin(轮询调度),Expression-Based(基于表达式),List(列表式),Range(区间)四种分片方式。
1,Round-Robin(轮询调度)
插入数据是按照顺序逐条往各个分片上写。
特点:
简单,不需要了解数据的分布
把数据均匀地分配到所有分片中
提高查询性能
只能用于表,不能用于索引
不能用于分片忽略以增加性能









阅读全文»

通过SQL检查GBase 8s HDR运行状态

检查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

阅读全文»