返回首页

gbase数据、南大通用产品文档:GBase8aOracle 到GBase 8a 获取全量任务信息接口

更新日期:2024年09月11日

URL 示例:http://192.168.4.187:8080/fulltoincrementtask/idno3
通过该接口可以获取指定源的全量同步任务信息,如上示例所示代表查看
源idno3 的全量任务信息。
调用结果:
{
"code":1, //代表执行成功,值<0 代表调用异常
"message":null, //详细信息,如果为null 说明没有错误
"requestType":"fulltoincrementtask", //记录请求类型
"id":"idno3",
//记录请求的源id
"taskProcessMap":{
//该map 记录全量任务处理表的具体进度信息
"tablesStatusMap":{
"TESTDB.TESTTABLE":"finished" //代表导出导入已完成

GBase RTSync 同步工具手册
- 62 -
南大通用数据技术股份有限公司
},
"name":"数据去重中", //代表全量已经进入到数据去重过程
"taskID":1545617604110
//任务id 号。
}
}

使用vsftp 搭建FTP 服务器

1.
查看是否已安装vsftpd
# rpm -qa vsftpd
vsftpd-2.2.2-6.el6_0.1.x86_64

2.
安装vsftpd
# rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64.rpm

3.
修改FTP 服务器默认配置
# vim /etc/vsftpd/vsftpd.conf

# 表示允许匿名用户登录(默认为YES).
anonymous_enable=YES

# 表示允许本地用户登录(默认为YES).
local_enable=YES

# 表示开放对本地用户的写权限(默认YES,如仅用作加载文件服务器,可改为
NO).
write_enable=NO

# 设置本地用户的文件生成掩码(默认对本地用户的文件生成掩码是077,可改为
022)
local_umask=022

# 允许匿名FTP 用户上载文件(默认为NO).
#anon_upload_enable=YES

# 允许匿名FTP 用户创建目录(默认为NO).
#anon_mkdir_write_enable=YES

# 启用FTP 数据端口的连接请求(默认为YES).
connect_from_port_20=YES

# 使用PAM 认证的配置文件名,文件位于/etc/pam.d 目录下
pam_service_name=vsftpd

# 是否使用userlist 文件控制访问FTP 服务器
userlist_enable=YES

GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1329

# 设置禁止访问的文件或目录
#deny_file={*.mp3,*.mov,.private}

# 设置隐藏的文件或目录
#hide_file={*.mp3,.hidden,hide*,h?}

# 设置FTP 被动模式开放端口范围
pasv_min_port=20001
pasv_max_port=21000

# 设置非匿名登录用户的主目录
#local_root=/var/ftp/pub

更多的配置可查看vsftpd.conf 文档
# man vsftpd.conf

4.
配置允许或禁止访问FTP 服务器的用户列表(可跳过)
# vim /etc/vsftpd/user_list

当/etc/vsftpd/vsftpd.conf 中配置如下时,禁止/etc/vsftpd/user_list 中的所有用户访问
FTP 服务器
userlist_enable=YES
userlist_deny=YES(缺省为YES)

当/etc/vsftpd/vsftpd.conf 中配置如下时,允许/etc/vsftpd/user_list 中的所有用户访问
FTP 服务器。
userlist_enable=YES
userlist_deny=NO

5.
配置禁止访问FTP 服务器的用户列表(可跳过)
# vim /etc/vsftpd/ftpusers

6.
关闭SELINUX 功能或更改其配置(两种方式二选一即可)

1)关闭SELINUX 功能
# vim /etc/selinux/config

# This file controls the state of SELinux on the system.

GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1330
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disable
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

重启或者执行
# setenforce 0

2)更改SELINUX 配置
# setsebool ftp_home_dir 1

当用浏览器访问FTP 服务器遇到“500 OOPS: cannot change directory:/home/...”时,
可能为此问题。

7.
关闭或配置防火墙

1)关闭防火墙
停止防火墙服务
# service iptables stop
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]

查看防火墙是否在开机时自动启动
# chkconfig --list iptables
iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

禁止防火墙在开机时自动启动
# chkconfig iptables off

# chkconfig iptables off --level 2345


GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1331
设置后防火墙在开机时自动启动状态
# chkconfig --list iptables
iptables 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

2)配置防火墙

设置默认规则
# iptables -A INPUT -j DROP(注:添加此条规则会阻止未处理的传入数据包,如在
此规则之前未添加允许规则将会阻止远程连接)
# iptables -A FORWARD -j ACCEPT

开放FTP 端口
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 21 -j ACCEPT
# iptables -I INPUT -p tcp --dport 20 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 20 -j ACCEPT
# iptables -I INPUT -p tcp --dport 20001:21000 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 20001:21000 -j ACCEPT

保存防火墙设置
# iptables-save > /etc/sysconfig/iptables

8.
启动vsftpd 服务并设置为开机启动项
# service vsftpd start
为 vsftpd 启动 vsftpd: [确定]

# chkconfig vsftpd on

9.
复制文件到FTP 目录
1)
如未设置local_root=/var/ftp/pub 时,
复制文件到/home/xxxx
(用户的home 目录)

2)如已设置local_root=/var/ftp/pub 时,复制文件到/var/ftp/pub
3)如已设置anonymous_enable=YES 时,复制文件到/var/ftp 或/var/ftp/pub(匿名登
录的主目录)

GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1332

GBase 8c 提供gs_encrypt 工具,
为输入的明文字符串进行加密操作。
支持AES128、
SM4
算法。操作如下:
(1)
使用如下命令连接数据库。
gsql -d postgres -p 5432
postgres 为需要连接的数据库名称,5432 为数据库CN 节点的端口号。连接成功后,系
统显示类似如下信息:

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
185
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security) Type
"help" for help.
gbase=#
(2)
准备需要加密的表和数据。表test0 中存放以sm4 加密的字符串,test1 中存放以aes128
加密的字符串。
postgres=# create table test0(name varchar(100));
postgres=# create table test1(name varchar(100));
(3)
插入加密数据

使用SM4 算法:
postgres=# insert into test0 values (gs_encrypt('name1','2023Gbase','sm4'));
其中gs_encrypt(encryptstr,keystr,encrypttype)函数用于对字符串encryptstr 进行加密,
keystr 为密钥关键字,长度范围为8~16 字节,至少包含3 种字符(大写字母、小写字母、
数字、特殊字符)。encrypttype 为加密算法,可以是aes128 或sm4。

使用aes128 算法:
postgres=# insert into test1 values (gs_encrypt('name2','2023Gbase','aes128'));
#或使用gs_encryp_aes128 函数
postgres=# insert into test1 values (gs_encrypt_aes128('name3','2023Gbase'));
其中gs_encrypt_aes128(encryptstr,keystr)函数以keystr 为密钥对encryptstr 字符串进行
aes128 算法加密,返回加密后的字符串。等效于gs_encrypt(encryptstr,keystr,aes128)。
(4)
查询

直接查询表中数据,显示加密后的字符串。
postgres=# select name from test0;
name
------------------------------
n9+qK12bhDdt57TJjqZMLoJnDUrX
(1 row)
postgres=# select name from test1;
name
----------------------------------------------------------------------------------------------
nI2FTtGNk4NUmetJv6cFzDEn7pBG7XYJ+Xv0jmB052VUN5sw1C5z4/hbUWi1hWXc6sut5Z
KzNfGRSFxNDqZeFoIjDJg=

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
186
nI2FTtGNk4NUmetJv6cFzBCKSd1KNugkJZF0OidENU3BVwHrSzc6rhQb7v3AqaC/n/S38++
6lo2NG0Bi8nqPr+z3dI4=
(2 rows)

通过指定密钥关键字,解密查询显示解密后的真实字符。
# 指定sm4 算法解密,正确显示以sm4 算法加密的字符串。
postgres=# select gs_decrypt(name,'2023Gbase','sm4') from test0;
gs_decrypt
--------------------------------------
name1
(1 row)
# 指定aes128 算法解密,正确显示以aes128 算法加密的字符串。
postgres=# select gs_decrypt(name,'2023Gbase','aes128') from test1;
gs_decrypt
------------
name2
name3
(2 rows)
#或
postgres=# select gs_decrypt_aes128(name,'2023Gbase') from test1;
gs_decrypt_aes128
-------------------
name2
name3
(2 rows)
其中gs_decrypt(decryptstr,keystr,decrypttype)函数根据decrypttype,以keystr 为密钥对
decrypt 字符串进行解密,返回解密后的字符串。解密使用的decrypttype 及keystr 必须保证
与加密时使用的encrypttype 及keystr 一致才能正常解密。keystr 不得为空。decrypttype 可以
是aes128 或sm4。
gs_decrypt_aes128(decryptstr,keystr)以keystr 为密钥对decrypt 字符串进行aes128 算法解
密,
返回解密后的字符串。
解密使用的keystr 必须保证与加密时使用的keystr 一致才能正常
解密。keystr 不得为空。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
187