GBase 8s 使用sqltrace跟踪sql性能

SQLTrace用于跟踪执行sql的性能,可用于定位性能较差的sql,从而进行优化。

Example
打开sqltrace跟踪15000条sql,所需内存:15000*4k=60MB

dbaccess sysadmin - <<!
EXECUTE FUNCTION task("set sql tracing on","15000","4","high","global");
!

查看执行耗时较长sql:

dbaccess sysmaster -<<!
unload to sql.unl 
select sql_maxtime,sql_avgtime,sql_statement 
from syssqltrace order by sql_maxtime desc;
!

查看当前路径下生成的sql.unl文件


阅读全文»

GBase 8s 设置数据文件自动扩展

根据onstat -d 输出查看需要扩展的数据文件号。

示例:chunk号为8的数据文件打开自动扩展

dbaccess sysadmin -<<!
EXECUTE FUNCTION task ("modify chunk extendable on", 8);
!

示例:chunk号为8的数据文件关闭自动扩展

dbaccess sysadmin -<<!
EXECUTE FUNCTION task ("modify chunk extendable off", 8);
!

GBase 8s 使用dblink访问远端数据库实例

使用场景:

gbase01实例需要访问gbase02实例中的数据。
sql语法:

select * from dbname@gbase02:tabname;

方法一、配置信任

1、配置目标服务器/etc/hosts.equiv信任
如node1(192.168.17.101)上的数据库实例(gbase01) 访问node2(192.168.17.102)上的数据库实例(gbase02)

2、在node1数据库实例gbase01的sqlhosts文件中增加gbase02的实例信息:

echo "gbase02         onsoctcp        192.168.17.102      9088">>$GBASEDBTSQLHOSTS


阅读全文»

TPC-H对GBase 8s数据库基础能力测试

什么是 TPC-H 测试

1、 TPC- H 是针对数据库决策支持能力的测试基准,主要是评价服务器数据库的分析处理能力。测试数据库复杂查询的响应时间,以每小时执行的查询数作为度量指标。
2、 TPC-H 基准模型中定义了一个数据库模型,容量可以在 1GB~10000GB 的 8 个级别中选择。
3、 数据库中共有 8 张表,支持多用户并发执行复杂的动态查询,同时有并发执行表修改操作
4、 TPC-H 测试围绕 22 个 SELECT 语句展开,还有 2 条带有 insert 和 delete 程序段的更新流语句
5、 TPC-H 测试分解为 3 个子测试:数据装载测试、Power 测试和 Throughput 测试





阅读全文»

GBase 8s常见锁错误原因及处理办法

-243 Could not position within a table table-name.

错误原因:不能在表的数据行上加锁,该行数据已被锁
示例:
session1

dbaccess testdb -                    
drop table if exists t;
create table t(col1 int,col2 char(100));
insert into t select tabid,tabname from systables;        
begin;
delete from t where col1=1;        


阅读全文»

GBase 8s自定义使用hex或者unhex函数

从mysql迁移到GBase 8s数据库时,原有hex(有同名函数,但用法不同)、unhex函数在GBase 8s中不可用,因此需要自己创建相应的函数,可以使用C或者JAVA创建自定义例程,也可以使用存储过程。以下以存储过程方式创建。
hexstr函数实现的功能是:将文本转换成十六进制字符串显示。
unhex函数实现的功能是:将十六进制字符串转换成对应的ASCII可视文本显示。



阅读全文»

Windows下Python3通过DbtPy连接到GBase 8s数据库

示例使用的操作系统:Win 7 64bit
软件需求:Python 3.7.9

1,安装CSDK,设置环境变量

可从以下地址下载:

https://gbasedbt.com/odbc/GBase8s_3.0-Win64-ODBC-Driver.zip

免安装CSDK版本。
解压,生成的gbase8s-odbc-driver放置于D:\目录下。
在我的电脑->系统属性->高级->环境变量 中,增加环境变量GBASEDBTDIR 指向D:\gbase8s-odbc-driver,Path中增加%GBASEDBTDIR%\bin;




阅读全文»

Linux下Python3通过DbtPy连接到GBase 8s数据库

操作系统:CentOS 7.8 64-bit
软件需求:
Python 3.6.8 及Python-devel 3.6.8

有互联网连接的情况下,可以直接安装DbtPy (仅限Linux x64和Win x64)

1,直接pip3安装DbtPy,将自动安装最新的DbtPy

[root@a02 ~]# pip3 install DbtPy
Collecting DbtPy
  Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/1f/45/22d842ffe40fbcb58878b891ba8f4e319a3585afd0f09ac13fd3d51b0a9b/DbtPy-3.0.5.tar.gz (165kB)
    100% |████████████████████████████████| 174kB 13.0MB/s
# 注:对于Linux x64和Win x64,这步可以需要些时间下载对应的csdk驱动。
Installing collected packages: DbtPy
  Running setup.py install for DbtPy ... done
Successfully installed DbtPy-3.0.5


阅读全文»