返回首页

gbase数据、南大通用产品文档:GBase8sSYSPROCBODY

更新日期:2024年09月11日

sysprocbody 系统目录表描述数据库中每个过程或函数的已编译版本。因为
sysprocbody 表存储例程的文本,所以每个例程可以有多行。sysprocbody 表具有以下列。

表 24. SYSPROCBODY 表列描述

类型
解释

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 53 -


类型
解释
procid
INTEGER
例程的唯一标识代码
datakey
CHAR(1)
data 列中的信息的类型:
A
= 例程更改 SQL
(在
更新统计信息后不会更改该值)D
= 例程用户文
档文本E = 创建时间信息L = 文字值(即,文
字数字或带引号字符串)P = 解释器指令代码
(p-code)R
= 例程返回值类型列表S
= 例程符号
表T = 例程文本创建 SQL
seqno
INTEGER
例程内的行号
data
CHAR(256)
例程的实际文本

A 标志表示过程修饰符已更改。ALTER ROUTINE 语句仅更新修饰符而不是例程主体。
UPDATE
STATISTICS 更新查询计划而不是例程修饰符,并且数据键的值不会更改成 A 以外
的值。A 标志标记所有已更改修饰符的过程和函数,包括超负荷的过程和函数。T 标志用
于例程创建文本。
data 列包含实际数据,这些数据可以使用下列格式之一:
编码返回值列表
编码符号表
文字数据
例程的 P-code
例程的已编译代码
例程及其文档的文本
procid、datakey 和 seqno 列只允许唯一值。

替换说明

创建新的distribution,将数据从旧的distribution 重分布到节点替换成功后新创
建的distribution 上,非替换节点上的分片不变。

替换一个vc 的纯数据节点时可访问其他vc
集群环境描述:
Coordinator 节点:172.168.83.11,172.168.83.12,172.168.83.13
Data 节点:
vc1:172.168.83.11,172.168.83.12,172.168.83.15
Vc2:172.168.83.13,172.168.83.14
Freenode:172.168.83.16
使用172.168.83.16 替换172.168.83.15。

您也可以按照如下步骤,手动创建实例并初始化。
(1)创建一个实例,假设其实例名为“gbaseserver”。
(2)创建一个实例需要配置以下三个文件,使用用实例名作为文件的后缀:
a)
环境变量文件名为 profile.gbaseserver
b)
配置参数文件名称为 onconfig.gbaseserver
c)
sqlhosts 配置文件名称为 sqlhosts.gbaseserver
具体步骤如下:
1 创建数据库的数据文件存储目录 /dbs
以 root 身份登录,进入安装目录,创建数据目录:
[root@localhost ~]# cd /opt/GBASE/gbase
[root@localhost gbase]# mkdir dbs
[root@localhost gbase]# cd dbs
[root@localhost dbs]# touch rootdbs
[root@localhost dbs]# chown gbasedbt:gbasedbt rootdbs
[root@localhost dbs]# chmod 660 rootdbs
2 配置profile.gbaseserver 环境变量文件
切换到 gbasedbt 用户身份登录,将默认环境变量 .bash_profile 文件复制一份,命名为
profile.gbaseserver,并对它进行编辑。
[root@localhost dbs]# su gbasedbt
[gbasedbt@localhost ~]$ cd /home/gbasedbt
[gbasedbt@localhost ~]$ cp .bash_profile profile.gbaseserver
[gbasedbt@localhost ~]$ vi profile.gbaseserver

(进入文件后按“i”建,开启 insert 模式)

注意:根据实例的实际情况更改红色部分字段信息
export GBASEDBTSERVER=gbaseserver //实例名
export GBASEDBTDIR=/opt/GBASE/gbase //安装路径
export ONCONFIG=onconfig.gbaseserver //配置参数文件名称
export GBASEDBTSQLHOSTS=$GBASEDBTDIR/etc/sqlhosts.gbaseserver //sqlhosts 文件名称
export PATH=$GBASEDBTDIR/bin:/usr/bin:${PATH}:.
export GL_DATE="%iY-%m-%d"
export DATETIME="%iY-%m-%d %H:%M:%S"
export DB_LOCALE=zh_cn.GB18030-2000
export CLIENT_LOCALE=zh_cn.GB18030-2000
export
LD_LIBRARY_PATH=${GBASEDBTDIR}/lib:${GBASEDBTDIR}/lib/esql:${GBASEDBTDIR}/lib/cli
export TERM=vt100
export TERMCAP=$GBASEDBTDIR/etc/termcap

GBase 8s 安装手册
南大通用数据技术股份有限公司
- 17 -
export GBASEDBTTERM=termcap
export DBTEMP=$GBASEDBTDIR/tmp

完成之后保存退出。(第一步按 ESC ;第二步 输入冒号“:”;第三步输入 wq 代表保
存退出,q 代表退出,q! 代表强制退出。最后回车)。
使环境变量生效:
[gbasedbt@localhost ~]$ source profile.gbaseserver

为了 gbasedbt 用户在登录后自动应用这些环境变量,请执行以下操作:
vi .bash_profile 文件,此文件后添加以下内容。
source /home/gbasedbt/profile.gbaseserver
然后执行以下命令,使环境变量生效:
[gbasedbt@localhost ~]$ source .bash_profile

3 配置 onconfig.gbaseserver 参数文件
将 /opt/BASE/gbase/etc/ 目录中的 onconfig.std 文档复制一份,命名为 $ONCONFIG 变量
指定的名称 onconfig.gbaseserver。
[gbasedbt@localhost ~]$ cd /opt/GBASE/gbase/etc/
[gbasedbt@localhost etc]$ cp onconfig.std onconfig.gbaseserver

vi onconfig.gbaseserver 文件,配置以下参数并保存:
提示:vi 编辑器中模糊查找字符串“XXX”方法:输入”/XXX”后回车即可向下检索到该字符串位置。

ROOTPATH /opt/GBASE/gbase/dbs/rootdbs //系统数据库文件存储空间路径,参照步骤 1 中
的设置
SERVERNUM 1 //实例编号,多实例中每个实例编号要唯一
DBSERVERNAME gbaseserver //数据库服务器实例名称
TAPEDEV /dev/null //用于存储空间备份的磁带设备
LTAPEDEV /dev/null //用于逻辑日志备份的磁带的设备路径

4 配置 sqlhosts.gbaseserver 文件
GBase 8s 数据库使用的监听端口默认为 9088,多实例中每个实例的端口必须唯一。
将 /opt/GBASE/gbase/etc/ 目录中的 sqlhosts.std 文档复制一份,命名为
GBASEDBTDQLHOSTS 变量指定的名称 sqlhost.gbaseserver。
[gbasedbt@localhost ~]$cd /opt/GBASE/gbase/etc/
[gbasedbt@localhost etc]$ cp sqlhosts.std sqlhosts.gbaseserver

GBase 8s 安装手册
南大通用数据技术股份有限公司
- 18 -

vi
sqlhosts.gbaseserver 文件,在文件末尾添加相关实例名、网络连接方式、IP 及端口
号。
[gbasedbt@localhost etc]$ vi sqlhosts.gbaseserver

在文件末尾按照如下格式添加内容并保存:
实例名 网络连接方式 IP 端口
gbaseserver onsoctcp 192.168.127.101 9088
(IP 地址是当前虚拟机中 IP,可使用 ifconfig 命令查看)
5 初始化数据库
使用 gbasedbt 用户执行初始化命令:
[gbasedbt@localhost ~]$ oninit -ivy