返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

|
-----------------------------------------------------------------------
| primary
|
1
|
2
|
3
|
| segments |
|
|
|
-----------------------------------------------------------------------
|duplicate |
3
|
1
|
2
|
|segments 1|
|
|
|
===========================================================

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
307
============

释放不用的内存段
(SQL
管理 API)
随同 admin() 或 task() 函数,使用 onmode 和 F 参数来释放不用的内存段。
语法

用法
当您执行这个函数时,内存管理器检测不用的内存的每一内存池。内存管理器立即释放定
位的不用的内存块。内存管理器检查每一内存池之后,它开始检查内存段并释放数据库服
务器不再需要的任何内存段。
当您执行该使用程序时,运行这个命令对任何用户都会导致重大的性能降级。虽然执行时
间短暂(1 至 2 秒),但对单用户数据库服务器的降级可达 100%。有多个 CPU 虚拟处理
器的系统感觉降级会成比例地减轻。
要确认不用的内存已释放,请检查消息日志。如果内存管理器释放一个或多个段,它显示
消息表明释放了多少个段以及多少内存字节。
提示: 请从操作系统日程安排工具有规律地运行这个命令,并在数据库服务器执行任何创
建更多的内存段的函数,包括构建大索引、排序或备份之后,运行这个命令。
这个函数等同于 onmode -F 命令。
示例
下列示例释放不用的内存块:
EXECUTE FUNCTION task("onmode","F");

GBase 8s JDBC Driver Version 2.21. JC5 及后来的版本实现支持处理启用了 PAM(“可插
拔的认证模块”)的 GBase 8s 服务器。此实现支持在 PAM 与最终用户之间的质询-响应
对话。要促成此对话,JDBC 开发人员必须实现 com.gbasedbt.jdbc.IfmxPAM 接口。
IfmxPAM 接口中的IfxPAM() 方法担当 PAM 与用户之间的网关。
当 JDBC 服务器遇到 PAM 质询方法时,
调用 IfxPAM() 方法。
从 IfxPAM() 方法的返回值
充当对质询消息的响应,并发送至 PAM。
IfxPAM() 方法的签名为:
public IfxPAMResponse IfxPAM(IfxPAMChallenge challengeMessage)
两个类 IfxPAMChallenge 和 IfxPAMResponse 引导 JDBC 驱动程序与 PAM 之间的消息。
IfxPAMChallenge 类包含已从 PAM 发送至用户的信息。
通过使用 getChallenge() 方法,来从 IfxPAMChallenge 类取得质询消息。将直接从运行
在 GBase 8s 服务器上的 PAM 发送的此消息路由至最终用户。在下表中罗列质询消息。
表 1. 质询消息的类型
消息
描述
PAM_PROMPT_ECHO_ON
将该消息显示给用户,且可回显用户响应。
PAM_PROMPT_ECHO_OFF
将该消息显示给用户,
且隐藏或掩饰用户响应
(即,
当用户输入口令时,显示星号,而不是用户键入的
确切字符)。
PAM_PROMPT_ERROR_MSG
将该消息作为错误显示给用户,不需要响应。
PAM_TEXT_INFO_MSG
将该消息作为信息性消息显示给用户,不需要响
应。
由 PAM 标准来控制质询消息,且可有特定于供应商的值。要了解可能的值及说明,请参
阅 PAM 标准和特定于供应商的信息。

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 62 -
PAM 定义 PAM 消息的最大大小为 512 字节
(IfxPAMChallenge.PAM_MAX_MESSAGE_SIZE)。
IfxPAMResponse 类与 IfxPAMChallenge 类似,但不是由 PAM 来将消息发送至用户,而是
使用 IfxPAMResponse 类来将消息由用户发送至 PAM。请使
用 IfxPAMResponse.setResponse() 方法,来将质询-响应字符串发送至 PAM。然而,将响应
类型(通过使用IfxPAMResponse.setResponseType() 方法来设置)设置为缺省的零,作为当
前保留的用于未来使用的响应类型。
将质询-响应字符串限定为质询消息的大小:
IfxPAMResponse.PAM_MAX_MESSAGE_SIZE 或 512 字节。
如果响应字符串超过此限制,
则抛出 SQL 异常。
此外,当质询消息的类型为 PAM_INFO_TEXT 或 PAM_PROMPT_ERR_MSG(要了解含
义和整数值,请参阅 PAM 标准)时,PAM 不期望用户响应。因此,可将
空 IfxPAMResponse 对象或未以特定值设置的一个对象返回至 JDBC。IfxPAMResponse 类
提供下列方法,以允许 JDBC 开发人员在 PAM 会话期间停止连接尝试:
public void setTerminateConnection(boolean flag)
flag 的值可为 TRUE 或 FALSE。如果传至 setTerminateConnection 的参数值为 TRUE,则
至启用了 PAM 的 GBase 8s 服务器的连接立即终止,并从 IfxPAM() 返回。如果将该值设
置为 FALSE,则至启用了 PAM 服务器的连接尝试照常继续。