返回首页

gbase数据、南大通用产品文档:GBase8sAUTO_REPREPARE 配置参数

更新日期:2024年09月11日

在 SPL 例程引用表模式之后,或引用表模式的已准备就绪的对象更改之后,
AUTO_REPREPARE 配置参数控制数据库服务器是否自动地重新优化 SPL 例程和重新准备已
准备就绪的对象。
onconfig.std 值
未设置。如果 AUTO_TUNE 配置参数设置为 1,则自动地重新优化 SPL 例程,并自动地重
新准备已准备就绪的对象。

0 = 在修改一个直接引用表或间接引用表的模式之后,禁用已准备就绪对象的自动重新准
备。还会在修改间接引用表的模式之后禁用 SPL 例程的自动重新优化。
1 = 启用自动重新准备和自动重新优化。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 35 -

生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
如果在当前 onconfig 文件中未设置 AUTO_REPREPARE 值,
编辑 AUTO_TUNE 配置参数并重
启数据库服务器。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
通过启用 AUTO_REPREPARE 配置参数,您可以避免许多 -710 错误,并减少重新准备和重
新优化操作的数目。修改 SPL 例程中动态 SQL 语句或 DML 语句引用的表模式之后,您必
须明确地执行这些重新准备和重新优化操作。
例如,
某些 DDL 语句修改表模式,
诸如 CREATE
INDEX、
DROP
INDEX、
DROP
COLUMN 和 RENAME
COLUMN。如果在运行这些 DDL 语句时禁用了 AUTO_REPREPARE 配置参数,则用户会收到
-710 错误。 这些错误还会发生,如果您下次运行:
l 直接引用或间接引用被 DDL 语句修改的表的 SPL 例程。
l 引用被 DDL 语句修改的表的已准备就绪对象。
限制:
启用 AUTO_REPREPARE 可能不会影响已准备就绪的语句或引用表的 SPL 例程,
DDL 操作改
变这些表中的列数,或者一列的数据类型。这些模式更改之后,对于引用模式已经更改的
表的 SPL 例程,您往往一定会重新发出 DESCRIBE 语句、PREPARE 语句(对于已准备就绪
的对象)
和 UPDATE
STATISTICS 语句
(对于例程相关的游标)

否则,
不管 AUTO_REPREPARE
的设置,数据库服务器都会发出 SQL 错误 -710。

您可以下列任一方式执行 SPL 例程或外部例程:

使用从 DB-Access 执行的单独的 EXECUTE PROCEDURE 或 EXECUTE
FUNCTION 语句

从另一 SPL 例程或外部例程显式地调用例程

在 SQL 语句中使用带有表达式的例程名称
执行例程的附加的机制仅支持 sysdbopen 和 sysdbclose 过程,DBA 可定义这些过程。当用
户通过 CONNECT 或 DATABASE 语句连接到数据库时,
如果 sysdbopen 过程的所有
者与数据库中存在的用户的登录标识符相匹配,则自动地执行那个例程。如果没
有 sysdbopen 例程的所有者与该用户的登录标识符相匹配,但存在 PUBLIC.sysdbopen 例
程,则执行那个例程。这种自动的调用使得 DBA 能够在连接时刻为用户定制会话环境。
当用户从数据库断开连接时,类似地调用 sysdbclose 例程。(要获取关于这些会话配置例
程的更多信息,请参阅《GBase 8s SQL 指南:语法》和 GBase 8s 管理员指南。)
外部例程是以 C 或某种其他外部语言编写的例程。

V9.5.X.X 集群之间的版本升级时需要设置coordinateHost 和dataHost 为所有已
存在的Coordinator 和Data 集群节点IP。如果是升级到9.5.3.X,还需要设置
gcwareHost 为已存在的gcware 节点。升级操作需要在一个已存在的Coordinator 节
点上进行。
必须保证所有节点的状态正常,且已完成集群初始化,才可以进行版本升级操
作,否则需要解决故障后才能继续操作。
检查集群信息状态,恢复FEVENT LOG 步骤与V8.6.X.X 版本升级V9.5.X.X
版本相同。
具体步骤如下:
步骤1
在集群所有节点上使用DBAUser 用户停止所有集群节点服务。

GBase 8a MPP Cluster 产品手册
3 集群安装升级与卸载
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
116
[gbase@rhel73-1 ~]$ gcluster_services all stop
Stopping gcrecover :
[
OK
]
Stopping gcluster :
[
OK
]
Stopping gbase :
[
OK
]
Stopping gbase :
[
OK
]
Stopping syncserver :
[
OK
]
Stopping syncserver :
[
OK
]
[gbase@rhel73-1 ~]$ gcware_services all stop
Stopping GCWareMonit success!
Stopping gcware :
[
OK
]
步骤2
解压V9.5.X.X 集群安装包,并切换到gcinstall 目录下。
$cd /opt
$tar xjf
GBase8a_MPP_Cluster-License-9.5.3.27-redhat7.3-x86_64.tar.bz2
$cd /opt/gcinstall
步骤3
修改demo.options 配置文件。
#su - gbase
$ vi /opt/gcinstall/demo.options
installPrefix= /opt
coordinateHost = 192.168.146.20,192.168.146.21,192.168.146.22
coordinateHostNodeID = 20,21,22
dataHost =