返回首页

gbase数据、南大通用产品文档:GBase8sonmode 和 D 参数:

更新日期:2024年09月11日

设置 PDQ 优先级
(SQL
管理 API)
随同 admin() 或 task() 函数,使用 onmode 和 D 参数来临时地重置数据库服务器可分
配给任何一个决策支持查询的 PDQ 资源。
语法

元素
描述
关键考虑
max_priority
实际分配给查询的
用户请求的 PDQ 资
源的百分率。
该值必须是从 0 至 100 的无符号整数。

用法
当数据库服务器处于 online 时,
使用这个函数来覆盖 MAX_PDQPRIORITY 配置参数设置的
限制。新的值仅影响数据库服务器的当前实例;这些值不记录在 onconfig 文件中。 如果
您关闭并重启数据库服务器,这些参数的值恢复为 onconfig 文件中的值。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 770 -
这个函数等同于 onmode -D 命令。
示例
下列示例设置可分配给查询的 PDQ 资源的百分率为 50%:
EXECUTE FUNCTION task("onmode","D","50");

功能描述
定义一个用户到一个外部服务器的新映射。
注意事项
当在OPTIONS 中出现password 选项时,需要保证GBase 8c 数据库集群每个节点的
$GAUSSHOME/bin 目录下存在usermapping.key.cipher 和usermapping.key.rand 文件,
如果不
存在这两个文件,请使用gs_guc 工具生成并发布到每个节点的$GAUSSHOME/bin 目录下。
语法格式
CREATE USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC }
SERVER server_name
[ OPTIONS ( option 'value' [ , ... ] ) ]
参数说明

user_name
要映射到外部服务器的一个现有用户的名称。
CURRENT_USER 和USER 匹配当前用户的名称。当PUBLIC 被指定时,一个公共映
射会被创建,当没有特定用户的映射可用时将会使用它。

server_name
将为其创建用户映射的现有服务器的名称。

OPTIONS ( { option_name ' value ' } [, …] )

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1089
这个子句指定用户映射的选项。
这些选项通常定义该映射实际的用户名和口令。
选项名
必须唯一。允许的选项名和值与该服务器的外部数据包装器有关。
说明:
用户的口令会加密后保存到系统表PG_USER_MAPPING 中,加密时需要使用
usermapping.key.cipher 和usermapping.key.rand 作为加密密码文件和加密因子。首次使用前
需要通过如下命令创建这两个文件,并将这两个文件放入各节点目录$GAUSSHOME/bin,
且确保具有读权限。gs_ssh 工具可以协助您快速将文件放入各节点对应目录下。
gs_ssh -c "gs_guc generate -o usermapping -S default -D $GAUSSHOME/bin"
其中-S 参数指定default 时会随机生成密码,用户也可为-S 参数指定密码,此密码用于
保证生成密码文件的安全性和唯一性,用户无需保存或记忆。其他参数详见《GBase 8c
V5_3.0.0 工具参考手册》中gs_guc 工具说明。

oracle_fdw 支持的options

user
oracle server 的用户名。

password
oracle 用户对应的密码。

mysql_fdw 支持的options

username
MySQL Server/MariaDB 的用户名。

password
MySQL Server/MariaDB 用户对应的密码。

postgres_fdw 支持的options

user
远端数据库的用户名。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1090

password
远端用户对应的密码。
说明:
在后台会对用户输入的password 加密以保证安全性。该加密所需密钥文件需要生成并
发布到每个节点的$GAUSSHOME/bin 目录下。password 不应当包含'encryptOpt'前缀,否则
会被认为是加密后的密文。
相关命令
ALTER USER MAPPING,DROP USER MAPPING

SSL 加密连接
-----生成ssl 文件,开启8aI 的server 端ssl----------------

(8aI 安装环境下,
在目录/usr/local/myssl/执行)生成ssl 必要文件
(记录输入的密码,后面设置要使用)
openssl genrsa 2048 > ca-key.pem
openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem >
ca-cert.pem
openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout
server-key.pem > server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl
x509
-sha1
-req
-in
server-req.pem
-days
730
-CA
ca-cert.pem
-CAkey ca-key.pem -set_serial 01 > server-cert.pem
openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout
client-key.pem > client-req.pem
openssl rsa -in client-key.pem -out client-key.pem
openssl
x509
-sha1
-req
-in
client-req.pem
-days
730
-CA
ca-cert.pem
-CAkey ca-key.pem -set_serial 01 > client-cert.pem

GBase 8a 管理工具手册


- 16 -

南大通用数据技术股份有限公司


在8aI 的安装目录下,config 路径gbase_8a_gbase8a.cnf 文件
[gbased]下设置如下内容:
ssl-ca=/usr/local/myssl/ca-cert.pem
ssl-cert=/usr/local/myssl/server-cert.pem
ssl-key=/usr/local/myssl/server-key.pem

重启集群,然后通过show variables like '%SSL%'查看是否开启ssl 功


开启如下图:
gbase> show variables like '%SSL%';
+------------------------+----------------------------------+
| Variable_name | Value |
+------------------------+----------------------------------+
| _gbase_ssl_cipher_list | |
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /usr/local/myssl/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /usr/local/myssl/server-cert.pem |
| ssl_cipher | |
| ssl_key | /usr/local/myssl/server-key.pem |
+------------------------+----------------------------------+
8 rows in set (Elapsed: 00:00:00.00)

-----生成jdbc 连接用密钥--------------


8aI 的linux 环境下,在目录/usr/local/myssl/执行
keytool -import -alias GBase8sCACert -file ca-cert.pem -keystore
truststore

8aI 的linux 环境下,在目录/usr/local/myssl/执行
openssl x509 -outform DER -in client-cert.pem -out client.cert

以上/usr/local/myssl/目录下共生成10 个文件,
copy 到单机企业管
理器环境下的某个目录如F:\8aI\ssl



GBase 8a 管理工具手册
南大通用数据技术股份有限公司

- 17 -
ca-cert.pem
ca-key.pem
client.cert
client-cert.pem
client-key.pem
client-req.pem
server-cert.pem
server-key.pem
server-req.pem
truststore

单机企业管理器的环境下,执行目录F:\8aI\ssl 下执行(如windows
环境则在cmd 下执行)如下命令,生成keystore
keytool -import -file client.cert -keystore keystore -alias
GBase8sClientCertificate

单机企业管理器环境下的某个目录如F:\8aI\ssl 存在11 个文件
ca-cert.pem
ca-key.pem
client.cert
client-cert.pem
client-key.pem
client-req.pem
server-cert.pem
server-key.pem
server-req.pem
truststore
keystore

-----单机企业管理器设置ssl 加密-----------

解压企业管理器安装包,在安装包路径下:
GBaseStudio\plugins\cn.com.itec.gbase.studio.manager_8.5.1.2_bui
ld7_2,修改ssl.properties 文件

#use ssl default false
use.ssl=false
#the path of keyStore file

GBase 8a 管理工具手册


- 18 -

南大通用数据技术股份有限公司
javax.net.ssl.keyStore=F:/8aI/ssl/keystore
#the password of keyStore
javax.net.ssl.keyStorePassword=111111
#the path of trustStore file
javax.net.ssl.trustStore=F:/8aI/ssl/truststore
#the password of trustStore
javax.net.ssl.trustStorePassword=111111

备注:
1.启用ssl 设置use.ssl=true,默认false
2.javax.net.ssl.keyStore 设置当前keystore 的存放目录。设置对
应的生成密码
3.javax.net.ssl.trustStore 设置当前truststore 的存放目录。设
置对应的生成密码


企业管理器连接即可