返回首页

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

更新日期:2024年09月11日

设置 DRAUTO 配置参数来指定对 HDR 高可用性系统的 HDR 故障转移方式。
onconfig.std 值
DRAUTO 0
值域

描述
0
禁用自动故障转移。当主服务器故障或失去网络连接时,HDR 辅助服务器成
为只读。
1
启用自动故障转移。当主服务器故障或失去网络连接时,将 HDR 辅助服务
器转为标准服务器。HDR 辅助服务器适时地终止客户端连接并关闭,然后重
启作为标准服务器。
当故障的主服务器重启或重新连接到网络时,将标准服务器转回为 HDR 辅
助服务器。
如果您配置了连接管理器来执行故障转移,则不使用此设置。
2
启用自动故障转移。当主服务器故障或失去网络连接时,将 HDR 辅助服务
器转为主服务器。HDR 辅助服务器保持客户端连接,且不关闭。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 65 -
当故障的主服务器重启或重新连接到网络时,将其转为 HDR 辅助服务器。
如果您配置了连接管理器来执行故障转移,则不使用此设置。
3
由连接管理器控制故障转移。为了自动故障转移,连接管理器必须配置并是
活动的。
生效
当初始化共享内存时。
用法
所有高可用性集群的服务器都必须有相同的 DRAUTO 配置参数设置。
DRAUTO 配置参数不控制 SDS 辅助服务器或 RS 辅助服务器的故障转移。
要设置有 SD
辅助服务器或 RS 辅助服务器的高可用性集群的自动故障转移,请配置连接管理器。
重要:
如果您正在使用连接管理器来控制故障转移,
则所有集群服务器上的 DRAUTO 配
置参数都必须设置为 3。在连接管理器是活动的时候,您必须不执行手工故障转移。

可以使用 onstat -p 命令显示自启动数据库服务器以来或自运行 onstat -z 命令以来的概要
文件计数的信息。
语法:

示例输出
图: onstat -p 命令输出

输出描述
输出的第一部分描述读取和写入。
读和写分成三类:从磁盘、从缓冲区以及页数(读取或写入)
第一个 %cached 字段衡量从缓冲区的读取数与从磁盘的读取数之比。第二个 %cached 字
段衡量写入缓冲区的数量与写入磁盘的数量之比。
数据库服务器对信息执行缓冲并将其写入磁盘
(以页为单位)

出于这个原因,
以 dskwrits
显示的磁盘写入数通常小于个别用户执行的写入数:
dskreads
实际的磁盘读取数
pagreads
页读取数
bufreads
共享内存读取数
%cached

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

缓冲池中已高速缓存的读取数百分比
如果 bufreads 超过最大 integer (或 long)
值,
那么其内部表示变成负数,
但值显示为 0.0
dskwrits
对磁盘的物理写入的实际数量
该数字包含对 onstat -l 中所报告的物理和逻辑日志的写入数
pagwrits
已写入页的数量
bufwrits
共享内存写入数
%cached
缓冲池中已高速缓存的写入数百分比
-p 的下一部分显示已执行不同类 ISAM 调用的次数的制表。这些调用发生在操作的最底
层,并且不必与 SQL 语句一对一对应执行。单个查询可能产生多个 ISAM 调用。这些统
计信息通过数据库服务器产生并且不能用来监视单个数据库上的活动,除非只有一个数据
库是活动的或只存在一个数据库
isamtot
调用总数
open
当 tblspace 打开时增加
start
增加索引中的指针
read
当调用读取函数时增加
write
当每次写调用时增加
rewrite
当发生更新时增加
delete
当删除行时增加
commit
每次执行 iscommit() 调用时增加
该值与已执行的显式 COMMIT WORK 语句之间不存在一对一的对应关系
rollbk
当事务回滚时增加

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

onstat -p 命令输出的下一部分显示有关一般页的信息。
一般页管理提供一个 API 让 GBase
8s 来管理数据库服务器缓冲池中的非标准页。
下表描述了 onstat -p 命令输出中的 Generic
Page Manager 。
gp_read
一般页读取数
gp_write
一般页写入数
gp_rewrt
一般页更新数
gp_del
一般页删除数
gp_alloc
一般页分配数
gp_free
已释放并返回给 tablspace 的一般页数
gp_curs
用于一般页的游标数
onstat -p 命令输出的下一部分显示了请求资源时没有可用资源的次数:
ovlock
会话尝试超过锁最大数量的次数
有关更多信息,请参阅第 1-56 页的 “LOCKS”
ovuserthread
用户尝试超过用户线程最大数量的次数
ovbuff
数据库服务器无法找到可用共享内存缓冲区的次数
当没有可用缓冲区时,数据库服务器将 dirty 缓冲区写入磁盘,然后设法找到可用缓冲区
usercpu
所有用户线程使用的用户 CPU 时间(以秒为单位)
该条目每 15 秒更新一次
syscpu
所有用户线程使用的全部系统 CPU 时间(以秒为单位)
该条目每 15 秒更新一次
numckpts
自引导时间以来的 checkpoint 数
flushes

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

缓冲池已清仓到磁盘的次数
onstat -p 命令输出的下一部分包含杂项信息,如下:
bufwaits
每次用户线程必须等待缓冲区时增加
lokwaits
每次用户线程必须等待锁时增加
lockreqs
每次请求锁时增加
deadlks
每次检测到潜在死锁并阻止时增阿基
dltouts
每次用户线程等待锁时已超过分布式死锁超时时增加
ckpwaits
Checkpoint 等待数
compress
每次压缩数据页时增加
seqscans
对每个顺序扫描增加
onstat -p 命令输出的最后一部分包含以下信息:
ixda-RA
索引页到数据页的预先读取计数
idx-RA
遍历索引页的预先读取计数
da-RA
仅数据路径扫描的计数
logrec-RA
数据库服务器预先读取的日志记录
RA-pgsused
数据库服务器预先读取所使用的页数
lchwaits
存储线程需要等待共享存储锁存器的次数
大的锁存器等待数通常是由大量处理活动引起,数据库服务器正在此活动中记录大多数事

rstod() 函数将以空终止的字符串转换为 double 值。

语法
mint rstod(string, double_val)
char *string;
double *double_val;
string
指向以空终止的字符串的指针。
double_val
指向保存转换了的值的 double 值的指针。

用法
=0
转换成功。
!=0
转换失败。

示例

此样例程序在 demo 目录中的 rstod.ec 文件中。
/*
* rstod.ec *

The following program tries to convert three strings to doubles. It displays the result of each
attempt.
*/

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 899 -


#include

main()
{
mint errnum;
char *string1 = "1234567887654321";
char *string2 = "12345678.87654321";
char *string3 = "zzzzzzzzzzzzzzzz";
double d;

printf("RSTOD Sample ESQL Program running.\n\n");

printf("Converting String 1: %s\n", string1);
if ((errnum = rstod(string1, &d)) == 0)
printf("\tResult = %f\n\n", d);
else
printf("\tError %d in conversion of string 1\n\n", errnum);

printf("Converting String 2: %s\n", string2);
if ((errnum = rstod(string2, &d)) == 0)
printf("\tResult = %.8f\n\n", d);
else
printf("\tError %d in conversion of string 2\n\n", errnum);

printf("Converting String 3: %s\n", string3);
if ((errnum = rstod(string3, &d)) == 0)
printf("\tResult = %.8f\n\n", d);
else
printf("\tError %d in conversion of string 3\n\n", errnum);

printf("\nRSTOD Sample Program over.\n\n");
}

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 900 -

输出
RSTOD Sample ESQL Program running.

Converting String 1: 123456788764321
Result = 1234567887654321.000000

Converting String 2: 12345678.87654321
Result = 12345678.87654321

Converting String 3: zzzzzzzzzzzzzzzz
Error -1213 in conversion of string 3

RSTOD Sample Program over.