在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 的数据类型有很多种,主要的数据类型说明如下:


阅读全文»

GBase 8s 全文索引功能

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



阅读全文»

GBase 8s自定义使用find_in_set()函数

从mysql迁移到GBase 8s数据库时,原有find_in_set函数在GBase 8s中不可用,因此需要自己创建相应的函数,可以使用C或者JAVA创建自定义例程,也可以使用存储过程。以下以存储过程方式创建。
该函数实现的功能是:第一个参数pstr在第二个参数pstrlist,以pdel为分隔符(默认为,)中的分隔位置。


阅读全文»

GBase 8s自定义使用timestampdiff()函数

从mysql迁移到GBase 8s数据库时,原有timestampdiff()函数在GBase 8s中不可用,因此需要自己创建相应的函数,可以使用C或者JAVA创建自定义例程,也可以使用存储过程。以下以存储过程方式创建。
该函数的功能是:按第一个参数interval的值,获取dt1与dt2的日期时间差值。如果dt1 > dt2且isabs为'f'时, 将显示负值。


阅读全文»

Qemu安装NeoKylin on Aarch64

环境:CentOS7U6 on x86_64
QEMU版本:qemu-4.1.0
客户机系统:中标麒麟高级服务器操作系统软件(ARM64版)V7.0

1,安装qemu-system-aarch64

从qemu.org上下载qemu-4.1.0版本,使用编译安装方式进行安装,使用root用户操作:

[root@localhost ~]# wget 
https://download.qemu.org/qemu-4.1.0.tar.xz
[root@localhost ~]# tar -xJf qemu-4.1.0.tar.xz
[root@localhost ~]# cd qemu-4.1.0
[root@localhost ~]# ./configure --target-list=aarch64-softmmu
[root@localhost ~]# make
[root@localhost ~]# make install


阅读全文»