返回首页

gbase数据、南大通用产品文档:GBase8s大对象更新以及插入空对象

更新日期:2024年09月11日

oracle大对象主要对应GBase 8s的智能大对象类型,BLOB和CLOB两种,其余在GBase 8s中
并不支持。
在OCI接口中,实现插入和写入大对象数据过程主要有以下过程:
向表中插入数据,其中需要插入的大对象字段,通过使用 empty_blob/empty_clob
函数插入一个空的大对象数据。
将刚刚插入的大对象数据查询出来。

调用大对象写接口,完成大对象内容写入。

GBase 8s GCI 接口使用指南

南大通用数据技术股份有限公司 14
在上述过程的第一步中,使用到了empty_blob/empty_clob两个函数,在GBase 8s系统中是没
有支持的,GCI接口库对此进行了适配, 主要将这两个函数转换为:

OCI
GCI
empty_blob
FILETOBLOB
empty_clob
FILETOCLOB

转换过程不区分大小写。
更新大对象为空对象时也做上述替换。

例:


OCI:Update lob set c1 = empty_blob() where id = :1
GCI:update lob set c1= filetoblob(‘/dev/null’, ’client’) where id = ?
当前, 对于空大对象函数的替换操作,暂不能在windows系统中支持。

这些主题概述了在高可用性环境中设置和配置 SD(共享磁盘)辅助服务器。SD 辅助服务
器选项可用于标准版 GBase 8s。
SD 辅助服务器
共享磁盘 (SD) 辅助服务器参与了高可用性集群配置。 在这样的配置中,主服务器和 SD
辅助服务器共享同一个磁盘或磁盘阵列。
SD 辅助服务器不在自己的磁盘空间上保存物理数据库副本。而是与主服务器共享磁盘。
必须将 SD 辅助服务器配置为访问允许并行访问的共享磁盘设备。不要配置使用操作系统
缓冲(如 NFS 交叉安装的文件系统)的 SD 辅助服务器。如果 SD 辅助服务器实例和主
服务器实例位于一台机器上,那么这两台服务器都可访问本地磁盘。如果 SD 辅助服务器
和主服务器位于不同的物理机器上,那么必须这两台服务器必须都配置为访问显示为本地
连接的共享磁盘设备,如 Veritas 或 GPFS™。
SD 辅助服务器可与 HDR 辅助服务器、RS 辅助服务器和 Enterprise Replication 结合使
用。
可以非常快速地将 SD 辅助服务器添加到高可用性环境,
因为它们不需要单独的磁盘副本。
因为 SD 服务器共享主服务器的磁盘存储资源,所以建议您提供一些其他磁盘备份方法,
例如磁盘镜像,或者使用 RS 辅助服务器或 HDR 辅助服务器。
以下限制影响属于共享磁盘辅助服务器的数据库服务器实例的提升:

SD 辅助服务器不能提升为 RS 辅助服务器。

SD 辅助服务器不能提升为可存在于主要高可用性环境之外的标准服务器。
SD 辅助服务器的磁盘需求
除了磁盘需求(与主服务器共享)之外,硬件和软件需求通常与 HDR 辅助服务器的需求
相同(请参阅针对特定受支持平台的机器说明®)。 此外,具有数据库服务器的计算机之
间必须共享主磁盘系统。这表示从 SD 辅助服务器到数据库空间的路径必须与主服务器的
数据库空间路径相同。请参阅配置集群。
设置共享磁盘辅助服务器
设置共享磁盘辅助服务器要先设置 SDS_ENABLE 配置参数。 接下来,将使用 onmode 实
用程序来设置 SD 辅助服务器用于连接到主服务器的主服务器别名。然后,修改 SD 辅助
服务器上的配置文件以包含相应选项。
最后,
运行 oninit 实用程序以启动 SD 辅助服务器。

15.
在主服务器上,设置 onconfig 文件中的 SDS_TIMEOUT 配置参数:
SDS_TIMEOUT x

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 380 -
SDS_TIMEOUT 指定主服务器将等待从 SD 辅助服务器发送的日志位置确认的时
间量
(以秒为单位)

有关 SDS_TIMEOUT 配置参数的信息,
请参阅
《GBase 8s 管
理员参考》。
16.
在主服务器上,配置 SD 主服务器的别名:
onmode -d set SDS primary
指定的服务器名称将成为共享磁盘环境的主服务器和 SD 辅助服务器的
日志源。
17.
在 SD 辅助服务器上,设置配置文件中的以下配置参数:
SDS_ENABLE 1
SDS_PAGING ,
SDS_TEMPDBS ,,,,
SDS_ENABLE 在辅助服务器上必须设置为 1(启用)以便支持对共享磁盘环境。
SDS_PAGING 指定两个文件的路径,这两个文件用于保存检查点之间可能需要清
空的页。
每个文件都作为任意页大小块的临时磁盘存储器。
SDS_TEMPDBS 用于
定义 SD 辅助服务器使用的临时数据库空间。 此数据库空间在启动服务器时会动
态创建(不是通过运行 onspaces 而创建)。 请参阅《GBase 8s 管理员参考》以获
取有关这些参数的其他信息。
18.
在 SD 辅助服务器上,设置以下配置参数以与主服务器上的那些参数匹配:

ROOTNAME

ROOTPATH

ROOTOFFSET

ROOTSIZE

PHYSFILE

LOGFILES

LOGSIZE
映射其他配置参数以使主服务器的那些参数与 DBSERVERALIASES、
DBSERVERNAME 和 SERVERNUM 的异常匹配。
对于高可用性集群中的 HDR、RSS 和 SDS 辅助服务器,必须通过将
TEMPTAB_NOLOG 配置参数设置为 1 来始终禁用对临时表的逻辑日志记录。
19.
在 SD 辅助服务器上,
如果要启用客户机应用程序以在辅助服务器上执行更新,

入和删除操作,
可以选择将 UPDATABLE_SECONDARY 配置参数设置为正整数。

20.
向主服务器的 sqlhosts 文件添加条目:

primary_dbservername nettype primary_hostname servicename

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 381 -
21.
使用 oninit 命令启动 SD 辅助服务器。
在主服务器处于活动状态之后才能启动 SD 辅助服务器。
辅助服务器启动时,必须首先使用快速恢复方式处理任何已打开的事务。仅当启动
检查点时打开的所有事务均落实或回滚之后,客户机应用程序才可连接到服务器。
处理了打开的事务之后,客户机应用程序可正常连接到服务器。必须检查辅助服务
器上的 online.log 文件,以验证是否已完成处理打开的事务。
下表说明了前面的步骤,这样您可以清楚地确定在主服务器上执行的步骤和在辅助服务器
上执行的步骤。
表 1. 首次启动 SD 辅助服务器的步骤
步骤
在主服务器上
在辅助服务器上
1.
设置 onconfig 文件中的
SDS_TIMEOUT 配置参数:
SDS_TIMEOUT x

2.
配置 SD 主服务器的别名:
onmode -d set SDS primary


3

设置配置参数:
SDS_ENABLE 1
SDS_PAGING ,
SDS_TEMPDBS
,,
,,

4

设置配置参数以便与主服务器上的那些参数
匹配:

ROOTNAME

ROOTPATH

ROOTOFFSET

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 382 -
步骤
在主服务器上
在辅助服务器上

ROOTSIZE

PHYSFILE

LOGFILES

LOGSIZE
5

(可选)
将 UPDATABLE_SECONDARY 配置参数
设置为正整数。
6

向主服务器的 sqlhosts 文件添加条目:
dbservername nettype hostname
servicename
7

启动 SD 辅助服务器
oninit
添加辅助服务器时,LGR 内存池中的内存使用量将增加。
请参阅《GBase 8s 管理员参考》 以获取有关配置参数的信息。

获取 SD 辅助服务器统计信息
使用 onstat 实用程序或系统监视接口 (SMI) 表来查看 SD 辅助服务器统计信息。
使用 onstat -g sds 来查看 SD 辅助服务器统计信息。
onstat 实用程序的输出取决于实用程
序是在主服务器还是在辅助服务器上运行。
查询 syssrcsds 表可获取有关主服务器上共享磁盘统计信息的信息。
查询 systrgsds 表可获取有关辅助服务器上共享磁盘统计信息的信息。
有关 onstat 和 SMI 表的信息,请参阅《GBase 8s 管理员参考》。
SD 辅助服务器配置
将 SD 辅助服务器升级为主服务器
通过在 SD 辅助服务器上发出以下命令,将 SD 辅助服务器转换为主服务器:
onmode -d set SDS primary
SD 辅助服务器不能转换为标准服务器。
将主服务器转换为标准服务器

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 383 -
通过在主服务器上使用下列命令,可以将主服务器转换为标准服务器,并断开与共享磁盘
环境的连接。
onmode -d clear SDS primary
SD 辅助服务器安全性
SD 辅助服务器支持与 HDR 类似的加密规则。请参阅集群的数据库服务器配置需求以获
取详细信息。
可启用或禁用任何主服务器和辅助服务器对之间的加密。
即,
可以加密主服务器与某台 SD
辅助服务器之间的流量,而对主服务器与其他 SD 辅助服务器之间的流量不进行加密。
有关设置和配置主服务器与 SD 辅助服务器之间加密的其他信息,请参阅服务器多路复用
器组 (SMX) 连接主题。

_gbase_express_table_metadata_limit
取值:最大值最小值不限
默认值:temp 堆大小一半

GBase 8a MPP Cluster 参数手册
文档版本2022-06-07
南大通用数据技术股份有限公司
123
说明:内存中表元数据大小限额,超过则启动TrashManager。
该参数用于限制表元数据总大小。gnode 下默认值为temp 堆大小一半,
gcluster 下默认值为1GB,最小值最大值不限,配置文件中可使用K/M/G 方
式设置。
当引擎层打开表的元数据大小之和达到参数设定的值时,
不会立即触发清理
动作。而是由后台线程每5 秒检测一次,如果达到上限才会触发清理动作。
可通过以下状态信息查看当前值:
show status like ‘%express_cached%’;
express_cached_tables:表示内存中当前有多少表实例
express_cached_metadata:表示当前内存中所有表实例的元数据大小
修改方式:可使用set 语句修改值。适用于session、global 范围均可。