GBASEDBTCONTIME 环境变量

GBASEDBTCONTIME 环境变量指定 CONNECT 语句进行建立与数据库服务器的连接的每次尝试持续多少秒后返回错误。如果未设置任何值,那么缺省值 60 秒通常支持几百个并发客户机连接,但对于某些系统,如果设置很低的值(例如 15),可能极少会遇到连接错误。节点间的总距离、硬件速度、流量和网络并发性级别都会影响优化 GBASEDBTCONTIME 时应设置的值。

GBASEDBTCONTIMEGBASEDBTCONRETRY 环境变量允许您将客户机端连接功能配置为重试该连接而不是返回 -908 错误。
seconds
表示建立与数据库服务器的连接的尝试所花的最少秒数。
例如:输入以下命令以将 GBASEDBTCONTIME 设置为 60 秒:
setenv GBASEDBTCONTIME 60 

如果 GBASEDBTCONTIME 设置为 60GBASEDBTCONRETRY 设置为 3,那么在异常终止之前,连接数据库服务器的尝试会(在初次尝试 0 秒后)在第 20 秒、第 40 秒和第 60 秒进行(如有必要)。这一 20 秒时间间隔是 GBASEDBTCONTIME 除以 GBASEDBTCONRETRY 的结果。如果尝试将 GBASEDBTCONTIME 设置为零,那么数据库服务器自动将其复位为缺省值 60 秒。

如果 CONNECT 语句的执行涉及搜索 DBPATH,那么应用以下规则:
  • DBPATH 设置中的所有适当服务器至少都会被访问一次,即使可能超出 GBASEDBTCONTIME 值也是如此。因此,CONNECT 语句运行时可能会超出 GBASEDBTCONTIME 时间限制,并返回指示连接失败或找不到该数据库的错误。
  • GBASEDBTCONRETRY 指定应对 DBPATH 中的每个数据库服务器条目进行多少次附加连接尝试。
  • GBASEDBTCONTIME 值在 DBPATH 中指定数目的数据库服务器条目之间分配。因此,如果 DBPATH 包含大量服务器,那么应相应增加 GBASEDBTCONTIME 的值。例如:如果 DBPATH 包含三个条目,尝试每个连接至少花 30 秒,那么将 GBASEDBTCONTIME 设置为 90

GBASEDBTCONTIME 优先于 GBASEDBTCONRETRY 设置。可以在超出 GBASEDBTCONTIME 值之后但达到 GBASEDBTCONRETRY 值之前结束重试。

如以下示例所示,可使用 onutil SET 命令修改 GBASEDBTCONTIME 和 GBASEDBTCONRETRY 环境变量:
% onutil
1> SET GBASEDBTCONTIME 120;
Dynamic Configuration completed successfully
2> SET GBASEDBTCONRETRY 10;
Dynamic Configuration completed successfully