返回首页

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

更新日期:2024年09月11日

使用 HA_FOC_ORDER 配置参数来为服务器的高可用性集群定义单一的连接管理故障转移规
则。
onconfig.std 值
HA_FOC_ORDER SDS,HDR,RSS

辅助服务器类型的列表,以逗号分隔并按优先级顺序罗列。例如,缺省值 SDS,HDR,RSS 表
示主服务器故障转移到 SD 辅助服务器,然后是 HDR 辅助服务器,再然后是 RS 辅助服务
器。
l HDR = 高可用性数据复制服务器
l RSS = 远程独立辅助服务器
l SDS = 共享磁盘辅助服务器
MANUAL = 对集群中所有连接管理器禁用自动故障转移。
分隔符
以逗号分隔值。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
运行带有 -wf HA_FOC_ORDER=value 或 -wm HA_FOC_ORDER=value 参数的 SQL 管理 API
task() 或 admin() 函数之后。
用法
如果在高可用性集群的主数据库服务器上设置 HA_FOC_ORDER 配置参数,则连接到该主服
务器的每一个连接管理器都采用该设置。该值取代连接单元的 ORDER=rule 故障转移序列
规则。然后,高可用性集群中的每一数据库服务器采用主服务器的 HA_FOC_ORDER 配置参
数值作为自己的 HA_FOC_ORDER 配置参数。
如果主服务器上的 HA_FOC_ORDER 配置参数设置为 MANUAL。
则在管理主服务器的集群的所
有连接管理器上禁用自动故障转移。
如果连接管理器的配置文件中连接单元的 FOC ORDER 值设置为 DISABLED,则连接管理器
不对那个连接单元执行故障转移。
HA_FOC_ORDER 配置参数的语法

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


示例
在下列示例中,您配置两个连接管理器来管理一个三服务器的集群。
三台服务器是:
l server_1(主服务器)
l server_2(SD 辅助服务器)
l server_3(HDR 辅助服务器)
第一个连接管理器有下列配置文件:
NAME connection_manger_1

CLUSTER cluster_1
{
SERVERNUM servers_1
SLA sla_1 DBSERVERS=ANY
FOC ORDER=ENABLED \
PRIORITY=1
}
第二个连接管理器有下列配置文件:
NAME connection_manger_2

CLUSTER cluster_1
{
SERVERNUM servers_1
SLA sla_2 DBSERVERS=ANY
FOC ORDER=ENABLED \
PRIORITY=2
}
server_1 的 onconfig 文件有下列值:
HA_FOC_ORDER SDS,HDR
当 connection_manger_1 和 connection_manger_2 与 server_1 连接时,其配置成为:
NAME connection_manger_1

CLUSTER cluster_1

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

{
SERVERNUM servers_1
SLA sla_1 DBSERVERS=ANY
FOC ORDER=SDS,HDR \
PRIORITY=1
}
NAME connection_manger_2

CLUSTER cluster_1
{
SERVERNUM servers_1
SLA sla_2 DBSERVERS=ANY
FOC ORDER=SDS,HDR \
PRIORITY=2
}
在 server_2 和 server_3 的 onconfig 文件中,HA_FOC_ORDER 条目的值更新为
SDS,HDR。

onconfig.std 值
EXT_DIRECTIVES 0

0(缺省)= 关。即使 IFX_EXTDIRECTIVES 为开,也不可启用指令。
1 = 开。如果 IFX_EXTDIRECTIVES 为开,则为会话启用指令。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 84 -
2 = 开。即使 IFX_EXTDIRECTIVES 未设置,也可使用指令。
生效
编辑 onconfig 文件并重启数据库服务器之后。
用法
EXT_DIRECTIVES 配置参数启用或禁用外部查询优化器指令的使用。通过与客户端侧
IFX_EXTDIRECTIVES 环境变量组合在一起,
使用 EXT_DIRECTIVES 配置参数启用外部指令,
如下:
IFX_EXTDIRECTIVES 环境变量的设置取代 EXT_DIRECTIVES 配置参数的设置。如果您不设
置 IFX_EXTDIRECTIVES 环境变量,
则客户端的所有会话继承数据库服务器处理外部指令的
配置。
SQL 的 SET ENVIRONMENT EXTDIRECTIVES 语句指定的设置取代(仅对于当前用户会话)
IFX_EXTDIRECTIVES 环境变量和 EXT_DIRECTIVES 配置参数二者的设置。

VARCHAR 数据类型存储包含单字节和(如果语言环境支持)多字节字符的可变长度字
符串,其中 m 是列的最大大小(以字节计),r 是为该列保留的最小字节数。
声明为 VARCHAR 的列(无圆括号或参数)具有一个字节的最大大小并且保留的大小置
零。
VARCHAR 数据类型是字符可变数据类型的 GBase
8s 实现。
可变长度字符串的 ANSI 标
准数据类型是 CHARACTER VARYING。
VARCHAR 列的最大大小 (m) 参数的大小范围可以从 1 到 32765 个字节。
指定最小保留空间 (r) 参数是可选的。此值可以在从 0 到 32765 个字节的范围内,
但必须小于 VARCHAR 列的最大大小 (m)。如果您未指定任何最小值,缺省值是 0。当起初
打算在列中插入具有短字符串或 NULL 字符串的行,
但后来想要用较长的值更新此数据时,
应指定此参数。
当为 VARCHAR 列设置索引时,其最大长度不能超过 Maxlen 值:
Maxlen =((PAGESIZE-93)/5-1)
其中 PAGESIZE 是数据库服务器的页面大小。
可以使用 onstat
–d 命令查看 dbspace

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

的 PAGESIZE 值。
同一表上不超过 151 列可以是 VARCHAR 数据类型。
ROWTYPE 类型中包含 VARCHAR 列时其最大长度不能超过 32764 个字节。
将表中的字段修改为 VARCHAR 列或 Alter Type Varchar 列时,此 varchar 列长度
需要小于页面的可用空间。具体最大长度如下表所示:
数据库页面大小
可修改的最大长度
2K
1958
4K
4006
8K
8102
16K
16294

在基于 VARCHAR 列(或 NVARCHAR 列)的索引中,每个索引键都具有基于实际输入的
数据值的长度,而不是声明的列的最大大小。
当您在 VARCHAR 列中存储字符串时,只会存储实际数据字符。数据库服务器不会除去
任何用户输入的结尾空格的 VARCHAR 字符串,
也不会将 VARCHAR 值填充至列的声明长度。
如果指定保留空间 (r),但某些数据字符串比 r 字节要短,那么为行保留的某些空间变得
无用。
用比较 CHAR 值的相同方式将 VARCHAR 值与其他 VARCHAR 值(和其他字符串数据类
型)进行比较。用空格在右边填充较短的值直到这些值具有相同的长度;然后对其比较全
长。
VARCHAR 类型的不可打印字符
用处理 CHAR 值中的不可打印字符的相同方法输入、
显示和处理不可打印 VARCHAR 字
符。有关详细信息,请参阅 CHAR 类型的不可打印字符。
存储 VARCHAR 列中的数字值
当在 VARCHAR 列中插入数字值时,不会用结尾空格将存储的值填充至列的最大长度。
数字 VARCHAR 值中的位数是存储该值所需要的字符数。例如:在下一个示例中,存储在表
mytab 中的值为 1。
create table mytab (col1 varchar(10));
insert into mytab values (1);
技巧: VARCHAR 将 C 语言的null(二进制 0)和字符串终止符看作不可打印字符的
终止字符。
在某些东亚语言环境中,如果数据库语言环境支持多字节代码集,那么 VARCHAR 数据
类型能够存储多字节字符。如果存储多字节字符,务必要计算所需的字节数。有关更多信
息,请参阅《GBase 8s GLS 用户指南》。

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

VARCHAR 类型的多字节字符
VARCHAR 数据类型声明中的第一个参数可受字符类型声明中的逻辑字符语义一节中描
述的 SQL_LOGICAL_CHAR 功能影响。
整理 VARCHAR 值
NVARCHAR 与 VARCHAR 数据类型之间的主要差别(就如 CHAR 与 NCHAR 之间的差别)
是整理顺序的差别。通常,VARCHAR(与 CHAR 和 LVARCHAR 一样)值是按其在代码集中存
在的字符顺序进行整理的。
例外情况是 MATCHES 运算符,当 DB_LOCALE(或 SET
COLLATION)指定了本地化整理
顺序时,
如果使用方括号 (
[
]
) 符号来定义范围,
那么它会将本地化整理应用于 NVARCHAR
和 VARCHAR 值
(并应用于 CHAR、
LVARCHAR 和 NCHAR 值)

有关更多信息,
请参阅
《GBase
8s GLS 用户指南》。