返回首页

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

更新日期:2024年09月11日

java.sql.Statement
java.sql.Statement 是SQL 语句接口。
表8-8 对java.sql.Statement 的支持情况
方法名
返回值类型
支持JDBC 4
addBatch(String sql)
void
Yes
clearBatch()
void
Yes
clearWarnings()
void
Yes
close()
void
Yes
closeOnCompletion()
void
Yes
execute(String sql)
Boolean
Yes
execute(String
sql,
int
autoGeneratedKeys)
Boolean
Yes
execute(String sql, int[] columnIndexes)
Boolean
Yes
execute(String
sql,
String[]
columnNames)
Boolean
Yes
executeBatch()
Boolean
Yes
executeQuery(String sql)
ResultSet
Yes
executeUpdate(String sql)
int
Yes
executeUpdate(String
sql,
int
autoGeneratedKeys)
int
Yes
executeUpdate(String
sql,
int[]
columnIndexes)
int
Yes

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
244
executeUpdate(String
sql,
String[]
columnNames)
int
Yes
getConnection()
Connection
Yes
getFetchDirection()
int
Yes
getFetchSize()
int
Yes
getGeneratedKeys()
ResultSet
Yes
getMaxFieldSize()
int
Yes
getMaxRows()
int
Yes
getMoreResults()
boolean
Yes
getMoreResults(int current)
boolean
Yes
getResultSet()
ResultSet
Yes
getResultSetConcurrenc y()
int
Yes
getResultSetHoldability(
)
int
Yes
getResultSetType()
int
Yes
getQueryTimeout()
int
Yes
getUpdateCount()
int
Yes
getWarnings()
SQLWarning
Yes
isClosed()
Boolean
Yes
isCloseOnCompletion()
Boolean
Yes
isPoolable()
Boolean
Yes
setCursorName(String name)
void
Yes
setEscapeProcessing (boolean enable)
void
Yes
setFetchDirection(int direction)
void
Yes

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
245
setMaxFieldSize(int max)
void
Yes
setMaxRows(int max)
void
Yes
setPoolable(boolean poolable)
void
Yes
setQueryTimeout(int seconds)
void
Yes
setFetchSize(int rows)
void
Yes
cancel()
void
Yes
executeLargeUpdate(Str ing sql)
long
No
getLargeUpdateCount()
long
No
executeLargeBatch()
long
No
executeLargeUpdate(Str
ing
sql,
int
autoGeneratedKeys)
long
No
executeLargeUpdate(Str ing sql, int[]
columnIndexes)
long
No
executeLargeUpdate(Str
ing
sql,
String[] columnNames)
long
No

通过setFetchSize 可以减少结果集在客户端的内存占用情况。它的原理是通过将结
果集打包
成游标,然后分段处理,
所以会加大数据库与客户端的通信量,会有性
能损耗。

由于数据库游标是事务内有效,所以,在设置setFetchSize 的同时,需要将连接设
置为非自动提交模式,
setAutoCommit(false)。
同时在业务数据需要持久化到数据库
中时,在连接上执行提交操作。

LargeUpdate 相关方法必须在JDBC4.2 及以上使用。

使用 onmode 实用程序命令执行各种数据库服务器操作。
下列语法图显示了您可使用 onmode 命令的所有选项。语法图没有显示所有您使用的每个
命令选项的元素。有关每个命令的完整的语法信息,请参阅这些命令的主题。


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


元素
用途
关键注意事项
-y
导致数据库服务器自动对所有提示响应“是”

-V
显示软件版本号和序列号
请参阅 获取实用程序的版
本信息
-version
显示了构件版本、主机、操作系统、数量、日期
以及 GLS 版本
请参阅 获取实用程序的版
本信息

有关用于还原的 onmode -b 命令的更多信息,请参阅 GBase 8s 迁移指南 中的 onmode -b
命令的语法 。

777 权限过高
8a 配置文件,被设置成了777 属性,会导致配置文件被忽略。数据库默认是640 或
600 属性,这属于外部操作导致。System.log 日志里会有World-writable config file
‘/home/gbase/GBase/config/gbase_8a_gbase8a.cnf’ is ignored 信息
可以使用chmod 修改文件或整个目录的属性为640 或600。
数据库文件属主改变
System.log、Express.log 日志里报Permission deny 或者File not found,甚至根本无
法启动数据库。

GBase 8a MPP Cluster 最佳实践
6 附录
文档版本(2022-02-11)
南大通用数据技术股份有限公司
192
8a 数据库是运行在操作系统dbauser 下,默认是gbase,。如果gbase 用户被删除重
建,会导致原有的文件目录宿主错误,导致没有权限访问。
可以过chown 修改数据库目录和文件为正确的属主。
防火墙未关闭
一般在安装、扩容、节点替换时,如果防火墙没有关闭或者规则没有加入例外,特
别是端口,会出现:
集群的节点间会看不到对方(gcadmin 显示本机外的其他节点均OFFLINE)
或者操作脚本ssh 远程命令报错等。
这种情况需要闭防火墙,或增加例外规则。
除了新机器外,
日常使用期间如果做了安全加固或操作系统参数变动也有可能会导
致防火墙状态改变为开启,需要检查防火墙状态确认。
操作系统可打开文件数限制
如果Express.log 里查询报错报Can’t open file (errno:24) Too many open file。
有可能是安全加固等操作修改了配置参数,或者在其它地方增加了额外的限制。可
以查看当前配置的最大打开的文件数是否过小。
可以进行如下检查:
在操作系统dbaUser, 一般是gbase 下执行
su - gbase
ulimt -n
或者
cat /proc/`pidof gbased`/limits
查看当前进程配置的最大打开的文件数,默认数据库安装后是655360。查看Max
open files 行,如果不是655360,则表示数据库启动时,参数已经修改了。
ll /proc/`pidof gbased`/fd | wc -l
查看进程当前已经打开的文件数,如果已经接近或达到最大文件数,则会经常报这
个错误
这种情况可以通过提高参数值解决,包括但不限于
/etc/security/limits.conf
/etc/security/limits.d/20-nofile.conf
/etc/profil

文档版本(2022-01-18)
南大通用数据技术有限公司
-
193 -