GBase 8s存储过程通过table(set)实现投影列绑定变量

  从Oracle迁移到GBase 8s数据库时,存储过程中有使用游标绑定投影列的语法:

open cursor1 for 'select ? as username, ? usertext from dual' using p_username, p_usertext;

  这个语法(投影列绑定变量)在GBase 8s中暂时还是不支持的。由于使用的是dual表,实际上只是需要返回这两个值到游标上。我们可以通过如下改造,达到类似的效果。示例存储过程如下:

阅读全文»

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。


阅读全文»

B+ 索引的特点和优缺点

特点:

1、索引的高度相对较低
2、索引本身可以存储列值
3、索引本身有序

优点:

1、便于快速查询,提高数据访问的效率

缺点:

1、索引的使用容易形成热块竞争
2、会表开销---通过ROWID来找到对应的数据行
3、数据更新或插入带来的相关开销,包括叶子分裂等
4、创建索引的开销:锁表和排序

在GBase 8s上使用java udr实现Oracle兼容的加密解密功能

  最近碰到客户从Oracle迁移到GBase 8s使用到字段加密解密功能,使用到了Utl_raw.cast_to_varchar2、Utl_raw.cast_to_raw、Utl_encode.base64_decode、dbms_obfuscation_toolkit.desdecrypt等oracle特有函数,这些与GBase 8s自带的加密函数DECRYPT_CHAR并不兼容。客户暂时只能考虑使用程序加密的方式实现。
  对于GBase 8s数据库来说,其实也可以使用自定义例程(UDR,可以是基于C,也可能是基于Java)的方式来扩展函数使用。以下我们就以这个加密解密功能来说明Java UDR的创建与使用。


阅读全文»

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使用emoji表情符号示例

近期有较多的客户询问:GBase 8s支不支持emoji表情符号的保存及查询?Emoji表情 和 某些特殊字符 在UTF-8编码中使用4个字节,GBase 8s支持的UTF-8编码允许使用1-4个字节,同时GBase 8s也支持GB18030-2000编码,该编码中允许使用1,2,4个字节。也就是说GBase 8s完全支持保存emoji表情符号。
以下是个操作emoji表情符号的示例:

1,数据库配置

1.1 环境变量中增加GL_USEGLU=1,使用zh_CN.utf8或者zh_CN.GB18030-2000字符集,整个环境变量如下:

export GBASEDBTDIR=/opt/gbase
export GBASEDBTSERVER=gbase01
export ONCONFIG=onconfig.${GBASEDBTSERVER}
export PATH=${GBASEDBTDIR}/bin:${PATH}

export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
export GL_USEGLU=1

阅读全文»

GBase 8s数据类型

数据类型是在创建表的时候为每个字段设置的。
GBase 8s提 供了丰富的数据类型。用户可以使用 CREATE TYPE 命令在数据库中创建新的数据类型。GBase 8s 的数据类型有很多种,主要的数据类型说明如下:


阅读全文»