GBase 8s开发利器之Datablade模块

GBase 8s Datablade模块以UDR(用户自定义函数)的形式扩展了非传统数据类型如全文索引、图片、视频、空间数据、时间序列的操作,另外还兼容了部分的PL/SQL存储过程和函数。
GBase 8s Datablade模块使用前,必须要在您的数据库中提前注册,以下我们介绍一下通过BladeManager工具使用命令行接口注册的步骤:
1. 配置环境变量
使用gbasedbt用户登录系统,必须设置的环境变量有
- GBASEDBTSERVER
- ONCONFIG
- GBASEDBTDIR
- PATH
- LD_LIBRARY_PATH
以下是以上环境变量设置的一个示例:
export GBASEDBTSERVER=gbase351
export GBASEDBTDIR=/opt/gbase8s351
export GBASEDBTSQLHOSTS=/opt/gbase8s351/etc/sqlhosts.gbase351
export ONCONFIG=onconfig.gbase351
export PATH=/opt/gbase8s351/bin:$PATH
export DB_LOCALE=zh_CN.utf8
export CLIENT_LOCALE=zh_CN.utf8
export GL_USEGLU=1
export DBACCESS_SHOW_TIME=1
export DBDATE=Y4MD-
export LD_LIBRARY_PATH=/opt/gbase8s351/extend:$LD_LIBRARY_PATH
unset DB_LOCALE
unset CLIENT_LOCALE
注意:字符集环境变量一定要取消设置或者设置成en_US.819
2. 命令行启动BladeManager开始注册
环境变量生效后通过blademgr命令则可以启动BladeManager,以下是一个示例:
[gbasedbt@node23 liuguanju]$ source profile.gbase351
[gbasedbt@node23 liuguanju]$ blademgr
gbase351>?
BladeManager supports the following commands:
list [database] - print list of registered DataBlade modules
set user [user]
set server [server]
show modules - print list of DataBlade modules on server
show databases - print list of databases on server
show servers - print list of servers
show client - print DataBlade modules with files on client
register [module] [database]
unregister [module] [database]
add client [module] - install DataBlade module's client files
del client [module] - remove DataBlade module's client files
info [module] - print information about a DataBlade module
del logs - delete all the log files
show log - prompt to display a log
show last log - display log from last action
help, ?
bye, quit, exit
set confirm on|off
gbase351>
启动BladeManager后,输入 ?可以显示命令帮助,如示例所示,输入quit退出。
3. 注册一个Datablade模块
通过show databases命令查看实例上有哪些数据库
通过list testdb命令查看该数据库上注册了哪些模块
通过show modules命令查看有哪些Datablade模块可以安装
通过register excompat.1.0 testdb将PL/SQL兼容模块注册到testdb库中
通过info excompat.1.0查看excompat.1.0模块信息
gbase351>show database
Databases on server:
gbasedbt
stores_demo
sys
sysadmin
sysuser
testdb
gbase351>list testdb
There are no modules registered in database testdb.
gbase351>show modules
9 DataBlade modules installed on server gbase351:
ifxrltree.2.00binaryudt.1.0
bts.3.10TimeSeries.6.00.FC4
excompat.1.0ifxbuiltins.1.1
LLD.1.20.FC2mqblade.2.0
Node.2.0 c
A 'c' indicates DataBlade module has client files.
If a module does not show up, check the prepare log.
gbase351>register excompat.1.0 testdb
Register module excompat.1.0 into database testdb? [Y/n]y
Registering DataBlade module... (may take a while).
DataBlade excompat.1.0 was successfully registered in database testdb.
gbase351>gbase351>list testdb
DataBlade modules registered in database testdb:
excompat.1.0
gbase351>info excompat.1.0
DataBlade Module: excompat.1.0
PL/SQL system package emulation
DataBlade Module Vendor: GBasedbt Software Inc.
4. 验证Datablade模块是否注册成功
连接testdb数据库,查看sysprocedures系统表中新建的存储过程
执行一个PL/SQL存储过程验证是否成功。
> select procname from sysprocedures where mode='O';
procnamesysbldsqltextin
procnamesysbldsqltextout
procnamesysbldsqltextsend
procnamesysbldsqltextrecv
procnamesysbldsqltextimpt
procnamesysbldsqltextexpt
procnamesysbldsqltextimpb
procnamesysbldsqltextexpb
procnameequal
procnamesysbldlike
procnamesysbldprepare
procnamesysbldregister
procnamesysbldregister
procnamesysbldunregister
procnamesysbldunregister
procnamesysbldtrace
procnamesysbldtrace
procnamesysbldcleanuptables
procnamesysbldrelease
procnamesysbldgetsrvrfile
procnamesysbldlstbldtoprep
procnamesysbldprepblade
procnamesysbldtstsbspace
procnamesysbldtstvp
procnamesysbldunprepare
procnamesysbldaddblddir
procnamesysbldputsrvrfile
procnamesysbldgetanysrvrfile
procnamesysbldhtmltableize
procnamesysbldhtmlobjdependents
procnamesysbldhtmlobjdependencies
procnamesysbldhtmlblddependencies
procnamesysbldhtmlbeginfile
procnamesysbldhtmlendfile
procnamesysbldhtmlbldobjs
procnameutl_file_fopen
procnameutl_file_is_open
procnameutl_file_fclose
procnameutl_file_get_line
procnameutl_file_put
procnameutl_file_new_line
procnameutl_file_put_line
procnameutl_file_putf
procnameutl_file_fflush
procnameutl_file_fclose_all
procnamedbms_output_enable
procnamedbms_output_disable
procnamedbms_output_put
procnamedbms_output_put_line
procnamedbms_output_new_line
procnamedbms_output_get_line
procnamedbms_output_get_lines
procnamedbms_lob_append
procnamedbms_lob_append
procnamedbms_lob_getlength
procnamedbms_lob_getlength
procnamedbms_lob_compare
procnamedbms_lob_copy
procnamedbms_lob_copy
procnamedbms_lob_erase
procnamedbms_lob_erase
procnamedbms_lob_substr
procnamedbms_lob_instr
procnamedbms_lob_read
procnamedbms_lob_trim
procnamedbms_lob_trim
procnamedbms_lob_write
procnamedbms_lob_new_clob
procnamedbms_lob_append
procnamedbms_lob_compare
procnamedbms_alert_register
procnamedbms_alert_get_event_id
procnamedbms_alert_remove
procnamedbms_alert_removeall
procnamedbms_alert_set_defaults
procnamedbms_alert_get_defaults
procnamedbms_alert_signal
procnamedbms_alert_waitone
procnamedbms_alert_waitany
procnamedbms_alert_wait
procnamedbms_random_initialize
procnamedbms_random_seed
procnamedbms_random_random
procnamedbms_random_terminate
procnamedbms_random_jrand48
查询到 85 行。
> select dbms_random_random() from dual;
(expression)
-858128384
查询到 1 行。
Elapsed time: 0.002 sec
>
5. 更新一个Datablade模块
如果excompat.1.0模块版本更新到excompat.1.1则
通过registerexcompat.1.1 testdb命令自动更新模块版本,系统自动删除旧版本安装新版本。
6. 删除一个Datablade模块
通过unregister excompat.1.0 testdb命令来删除excompat.1.0模块。
gbase351>list testdb
DataBlade modules registered in database testdb:
excompat.1.0
gbase351>unregister excompat.1.0 testdb
Unregister module excompat.1.0 out of database testdb? [Y/n]y
DataBlade excompat.1.0 was successfully unregistered from Database testdb.
gbase351>quit
Disconnecting...
[gbasedbt@node23 liuguanju]$
7. 一些Datablade模块说明
序号 | 模块名 | 模块释义 |
1 | excompat.1.0 | 外部兼容相关函数 |
2 | binaryudt.1.0 | 二进制相关函数 |
3 | bts.3.10 | 全文索引相关函数 |
4 | mqblade.2.0 | MQ消息中间件相关函数 |
5 | TimeSeries.6.00.FC4 | 时间序列相关函数 |
6 | ifxrltree.2.00 | R-Tree索引相关函数 |
... |
详细完整的说明请查考《GBase 8s语法》手册以及GBase 8s Datablade相关官方文档。


热门帖子
- 12023-05-09浏览数:16869
- 22019-04-26浏览数:10280
- 32020-05-11浏览数:10252
- 42023-09-25浏览数:9652
- 52023-07-04浏览数:9485