返回首页

gbase数据、南大通用产品文档:GBase8a设置获取连接超时时间

更新日期:2024年09月11日

如果需要限制从连接池获取连接的时间,可以通过设置
POOL_CHECKOUT_TIMEOUT 的值来实现。
默认情况下POOL_CHECKOUT_TIMEOUT 值为
500 毫秒。如下所示:
"DRIVER=GBase 8a ODBC 8.3 Driver;UID=gbase;PWD=gbase20110531;"

GBase 8a 程序员手册ODBC 篇


- 34 -

南大通用数据技术股份有限公司
"SERVER={192.168.111.96;192.168.5.212;192.168.7.174;192.168.7.17
3};"
"GCLUSTER_ID=gcluster;
POOL_MAX_ACTIVE_SIZE=80;POOL_MAX_IDLE=60;"
"POOL_CHECKOUT_TIMEOUT=2000;"

开始外部备份之前,需要阻塞数据库服务器。阻塞将强制设置检查点,清空缓冲区、将其
中的内容都保存到磁盘,并阻塞包含临时表的用户事务。在阻塞操作期间,用户可采用只
读方式访问数据库服务器。接着您可以使用操作系统或第三方的工具以物理方式将数据备
份或复制到另一组磁盘或存储介质上。完成外部备份后,取消阻塞数据库服务器以使事务
能继续进行。在外部备份中应包含每个存储空间中的所有块文件以及管理文件(例如
onconfig)。
重要: 要使跟踪备份更加容易,建议您在每个外部备份中备份所有存储空间。
ontape 实用程序将外部备份视为 0 级备份。您不能在执行外部备份后使用 ontape 执行
1 级备份,反之亦然,因为 ontape 没有外部备份的任何记录。有关更多信息,请参阅执
行外部冷恢复。
外部备份的规则
开始外部备份之前,记住以下规则:

在执行外部备份期间,数据库服务器必须处于联机或停顿方式下。

用 ontape 备份包括当前日志在内的所有逻辑日志,这样您就可以在外部恢复结束
时恢复逻辑日志。

阻塞数据库服务器以进行外部备份之前请暂挂连续逻辑日志备份。外部备份完成
后,恢复连续逻辑日志备份。

等到所有 ontape 备份会话完成后再阻塞数据库服务器。如果有任何备份会话是活
动的,阻塞命令将显示错误消息。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 164 -


当数据库服务器阻塞时,所有 OLTP 工作或查询都将暂挂。直到数据库服务器取
消阻塞后它们才会继续进行。

数据库服务器实例中所有关键的数据库空间必须使用同一个 onmode -c block …
onmode -c unblock 命令编组一同进行备份。 在不同时间对不同的关键数据库空间
所做的备份无法恢复到一致的系统中。
重要: 由于外部备份不受 ontape 的控制,因此您必须手工跟踪这些备份。有关更多信息,请
参阅跟踪外部备份。
执行外部备份
外部备份期间数据库服务器必须处于联机状态或停顿方式。
要在不使用磁盘镜像的情况下执行外部备份:
1.
要获取外部备份,请使用 onmode -c block 命令来阻塞数据库服务器。
系统将获取一个检查点并暂挂所有更新事务。用户能以只读方式访问数据库服务
器。
2. 要备份存储空间和管理文件,请使用复制命令(如 UNIX™ 上的 cp、dd 或
tar,)或文件备份程序。
必须备份存储空间中的所有块。
3.
要允许正常操作继续,请使用 onmode -c unblock 命令来取消阻塞数据库服务
器。
4.
备份包括当前日志在内的所有逻辑日志,这样就可以将检查点信息用于外部恢
复。
重要: 由于外部备份并不是通过 ontape 完成的,因此必须确保具有从执行 onmode -
c block 命令时开始的当前逻辑日志的备份。没有该逻辑日志文件的备份,外部备份将
是不可恢复的。
5.
执行外部备份后,请备份当前日志。 使用 ontape -a 命令。
如果您丢失磁盘或整个系统,现在便可以执行外部恢复。

子链接块名的hint
功能描述
指明子链接块的名称。
语法格式
blockname (table)
参数说明
table 表示为该子链接块hint 的别名的名称。

blockname hint 仅在对应的子链接块没有提升时才会被上层查询使用。目前支持的
子链接提升包括IN 子链接提升、EXISTS 子链接提升和包含Agg 等值相关子链接
提升。该hint 通常会和前面章节提到的hint 联合使用。

对于FROM 关键字后的子查询,
则需要使用子查询的别名进行hint,
blockname hint
不会被用到。

如果子链接中含有多个表,则提升后这些表可与外层表以任意优化顺序连接,hint
也不会被用到。
示例
explain select /*+nestloop(store_sales tt) */ * from store_sales where ss_item_sk in (select
/*+blockname(tt)*/ i_item_sk from item group by 1);

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
574
该hint 表示:子链接的别名为tt,提升后与上层的store_sales 表关联时使用nestloop。
生成计划如下所示: