返回首页

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

更新日期:2024年09月11日

基于Tomcat 使用GBase JDBC
以下说明适合Tomcat 5.5,对于新版本GBase JDBC 8.3.81.51 需要使用
JDK1.6。需要将GBase JDBC 驱动包gbase*.jar 放入目录
$TOMCAT_HOME\common\lib 下来配置用户的服务器。
在定义Web 应用程序的场景
内,
通过在$TOMCAT_HOME\conf\Catalina\localhost 目录下增加声明资源文件,
该文件以Web 应用名称为名(例:GBaseapp.xml)
,配置JNDI
DataSource,内容
部分如下:


name="jdbc/GBaseDB"
type="javax.sql.DataSource"
password="somepassword"
driverClassName="com.gbase.jdbc.Driver"

GBase 8a 程序员手册JDBC 篇


- 54 -

南大通用数据技术股份有限公司
maxIdle="2"
maxWait="50"
username="user"
url="jdbc:gbase://localhost:5258/dbname"
maxActive="4"/>

需要在Web 应用的WEB-INF 目录内的web.xml 文件中添加如下内容:

DB Connection
jdbc/GBaseDB
javax.sql.DataSource
Container

在程序中访问数据源的代码为:
Context initCtx = new InitialContext();
DataSource ds =
(DataSource)initCtx.lookup("java:comp/env/jdbc/GBaseDB");
一般地,用户应该遵照Tomcat 自带的安装说明,因为用户在Tomcat 中配
置数据源的方法有时候是不同的,并且,如果在用户的XML 文件里使用了错误
的语法,那么很可能以一个如下的异常结束:
Error: java.sql.SQLException: Cannot load JDBC driver class 'null
' SQL
state: null
注:关于Tomcat 使用Gbase JDBC 实例请查看2.8.12 小节。

GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司

- 55 -

(1)建立一个专属动态资源池给抽查用户;
(2)设置动态资源池高优先级并且cpu_percent 为较高值;

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
509
(3)分配必要的内存给抽查用户。

内存管理设置(SQL 管理 API)
随同 admin() 或 task() 函数,使用 scheduler lmm enable 参数来启动自动的低内存管理并
更新低内存阈值设置。
语法

元素
描述
关键考虑
start_threshold_size
您想要数据库服务器保持
的空闲内存量。
如果内存量
少于
start_threshold_size,

服务器自动地释放内存并
终止应用。
该值可表示为 SHMTOTAL
配置参数值的百分率或特
定数量。
如果该值小于 50,
则认为是百分率。
输入参数
的结果值必须大于 5
MB 且
小于 95 MB。
缺省值为 5 MB。
在 LMM START THRESHOLD
与 LMM STOP THRESHOLD 之
间必须至少差 5 MB

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

元素
描述
关键考虑
stop_threshold_size
在服务器停止自动释放内
存和终止应用之前,
您想要
数据库服务器拥有的空闲
内存量。
该值可表示为 SHMTOTAL
配置参数值的百分率或特
定数量。
如果该值小于 50,
则认为是百分率。
输入参数
的结果值必须大于 10 MB
且小于 100 MB。该值还必
须至少比 LMM START
THRESHOLD 多 5 MB。
缺省值为 10 MB。
minimum_amount_of_time
定义会话为空闲的时间量,
以秒为单位
该值必须在 1 与 86400
之间。
缺省值为 300 秒。

用法
随同 admin() 或 task() 函数,您使用 scheduler lmm disable 参数来在主数据库服务
器或标准数据库服务器中停止当前和后续的低内存管理进程。 当触发低内存管理时,数据
库服务器按下列顺序执行这些任务:
1. 数据库服务器终止会话,从会话有最大的空闲时间量开始一次启动一个,如有必要
继续到会话有最小空闲时间量,时间量超过 LMM IDLE TIME 设置中指定的数量。
当达到 LMM STOP THRESHOLD 时,服务器停止终止会话。
2. 数据库服务器终止会话,从使用最多内存的会话开始,如有必要继续到使用最小内
存量的会话,直到达到 LMM STOP THRESHOLD。
3. 通过设置 VP_MEMORY_CACHE 配置参数为 0,数据库服务器执行内存重新配置,并
运行 onmode -F 命令来释放不用的共享内存段。
当低内存管理操作完成时,通过将 VP_MEMORY_CACHE 配置参数设置回其原始值,低内存管
理器返回到监视模式并恢复数据库服务器的内存配置。
数据库服务器在 ph_threshold 表中存储自动低内存管理设置。
您可用 onstat -g lmm 命令查看低内存管理设置和近期的活动。
注意:
如果您启用自动的低内存管理并配置数据库服务器来使用 SHMTOTAL 配置参数指定
值的百分率作为启动和停止阈值,则当更改 SHMTOTAL 配置参数值时请使用警告。更改
SHMTOTAL 配置参数值可导致自动低内存管理的配置变得无效,强制 GBase
8s 使用缺省设
置。
设置低内存管理阈值设置的示例

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

下列示例指定当数据库服务器有 10
MB 或更少的空闲内存时,服务器会启动自动低内存管
理停止应用并释放内存。该示例还指定如果会话尚未运行 300 秒则认为会话空闲,该示例
指定当服务器有 20 MB 或更多空闲内存时会停止自动低内存管理。
EXECUTE FUNCTION task("scheduler lmm enable",

"LMM START THRESHOLD", "10MB",

"LMM STOP THRESHOLD", "20MB",

"LMM IDLE TIME", "300");
SHMTOTAL 配置参数影响低内存管理阈值设置的示例
假定您设置 SHMTOTAL 配置参数为 1000000(1000
MB 或 1
GB),LMM
START
THRESHOLD 为
2,且 LMM STOP THRESHOLD 为 3。因为任何小于 50 的值都是 SHMTOTAL 值的百分率,所
以实际的 LMM
START
THRESHOLD 为 20000
(20
MB)
且实际的 LMM
STOP
THRESHOLD 为 30000
(30 MB)。
当剩余空闲内存为 20
MB 或更少时,
数据库服务器开始管理低内存,
且当空闲内存量为 30
MB 或更多时,停止管理内存。
假定您决定更改 SHMTOTAL 配置参数的值,因为您知道现在不需要这么多内存,您想要让
操作系统使用内存。
请您设置 SHMTOTAL 的值为 250000
(250
MB)

这更改实际的 LMM
START
THRESHOLD 为 5000(5 MB),实际的 LMM STOP THRESHOLD 为 7500(7.5 MB)。LMM STOP
THRESHOLD 现在无效,因为 LMM START THRESHOLD 与 LMM STOP THRESHOLD 值之间必须至
少差 5 MB。LMM STOP THRESHOLD 值还必须至少为 10 MB。
对于您的系统,你可能已经决定差 10 MB 是正确的数量。但是差 5 MB,数据库服务器可
能会在低内存管理进程上花费太多的时间,这可能导致性能问题。