返回首页

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

更新日期:2024年09月11日

同步工具全量转增量自动同步功能
同步工具全量转增量自动同步功能目前仅支持将Oracle 数据库的数据同

GBase RTSync 同步工具手册
- 32 -
南大通用数据技术股份有限公司
步到GBase 8a 集群数据库。
使用全量转增量自动同步功能需要依赖GBase 8a的orato8a 工具将Oracle
中的源数据导出到磁盘上,
然后通过GBase 8a 集群数据库的数据加载功能将全
量数据导入到GBase 8a 集群数据库中。
由于在全量同步过程中,源端业务不停,所以同时会有增量数据产生并进
入到目标库中。因此,在全量同步完成并且将全量过程中的增量同步到目标库
中后,需要清洗掉重复的数据。
注意:数据去重操作严格依赖于源表的主键,如果源表的主键列为逻辑主
键且其中有null 值,
则会导致去重操作的执行时间加长,
且执行时间无法预估。
全量转增量自动同步功能的主要处理流程为:
1.
检查kafka consumer 服务是否存在。
如果不存在则根据配置文件创建
kafka consumer;如果存在则停止kafka consumer 服务;
2.
开始进行全量同步;
3.
全量同步完成;
4.
启动kafka consumer 服务,消费Kafka 中的数据;
5.
判断全量过程中产生的增量数据是否已经全部发送到Kafka,如果是
则暂停同步工具源端;
6.
判断8a consumer 是否消费完产生的增量数据,通过查看8a 集群的
information_schema.KAFKA_CONSUMER_STATUS 信息;
7.
进行数据去重;
8.
数据去重完成后通知同步工具进行后续增量同步;
执行全量转增量的主要操作步骤如下:
1.
手动清空目标库中的数据(非必须步骤,建议操作,这样可以加快最
终去重速度);

GBase RTSync 同步工具手册
南大通用数据技术股份有限公司
- 33 -
2.
修改kafka 配置文件,将topic.name 换成新的topic 名;
3.
启动同步工具进行增量同步;
4.
等待增量同步发送数据成功后,启动全量转增量功能;
5.
全量转增量执行完成后,验证数据正确后,手动删除临时表。

命令参考
详细的gsql 参数请参见表2-7、表2-8、表2-9 和表2-10。
表2-7 常用参数
参数
参数说明
取值范围
-c,
--command=COMMAND
声明gsql 要执行一条字符串命令然后退出。
——
-d, --dbname=DBNAME
指定想要连接的数据库名称。
gsql 还允许使用扩展的DBNAME ,即
'postgres[ql]://[user[:password]@][netloc]
[:port][,...][/dbname][?param1=value1&...]'

'[key=value] [...]'形式的连接串作为DBNAME,
gsql 将从连接串中解析连接信息,
并优先使用这
些信息。
字符串
-f, --file=FILENAME
使用文件作为命令源而不是交互式输入。gsql
将在处理完文件后结束。如果FILENAME 是-
(连字符),则从标准输入读取。
说明

环境场景:一主一备(8U32G)。

实测:读取200M 数据文件时,耗时约为8
分钟21 秒。

读取500M 数据文件时,耗时约为18 分41
秒。
建议

文件读取的时间随文件数据量逐渐增加,

果文件太大,
中间异常时需要重新读取,

时会导致系统OS 的IO 过载,建议文件大
小控制在500M 左右。
绝对路径或相
对路径,且满
足操作系统路
径命名规则。
-l, --list
列出所有可用的数据库,然后退出。
——
-v, --set, --
variable=NAME=VALUE
设置gsql 变量NAME 为VALUE。
——

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
19
参数
参数说明
取值范围
-X, --no-gsqlrc
不读取启动文件
(系统范围的gsqlrc 或者用户的
~/.gsqlrc 都不读取)。
说明

启动文件默认为~/.gsqlrc,或通过PSQLRC
环境变量指定。
——
-1 ("one"), --single-
transaction
当gsql 使用-f 选项执行脚本时,会在脚本的开








START
TRANSACTION/COMMIT 用以把整个脚本当
作一个事务执行。这将保证该脚本完全执行成
功,或者脚本无效。
说明

如果脚本中已经使用了START
TRANSACTION、
COMMIT、
ROLLBACK,
则该选项无效。
——
-?, --help
显示关于gsql 命令行参数的帮助信息然后退出。
——
-V, --version
显示gsql 版本信息然后退出。
——
表2-8 输入和输出参数
参数
参数说明
取值范围
-a, --echo-all
在读取行时向标准输出打印所有内容。
注意

使用此参数可能会暴露部分SQL 语句中的敏
感信息,如创建用户语句中的password 信息
等,请谨慎使用。
——
-e, --echo- queries
把所有发送给服务器的查询同时回显到标准输
出。
注意

使用此参数可能会暴露部分SQL 语句中的敏
感信息,如创建用户语句中的password 信息
等,请谨慎使用。
——

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
20
参数
参数说明
取值范围
-E, --echo- hidden
回显由\d 和其他反斜杠命令生成的实际查询。
——
-k, --with- key=KEY
使用gsql 对导入的加密文件进行解密。
须知

对于本身就是shell 命令中的关键字符如单引
号(')或双引号("),Linux shell 会检测输
入的单引号(')或双引号(")是否匹配。如
果不匹配,shell 认为用户没有输入完毕,会
一直等待用户输入,从而不会进入到gsql 程
序。
不支持解密导入存储过程和函数。
——
-L, --log- file=FILE
NAME
除了正常的输出源之外,把所有查询输出记录到
文件FILENAME 中。
注意

使用此参数可能会暴露部分SQL 语句中的敏
感信息,如创建用户语句中的password 信息
等,请谨慎使用。
此参数只保留查询结果到相应文件中,主要目标
是为了查询结果能够更好更准确地被其他调用者
(例如自动化运维脚本)解析;而不是保留gsql
运行过程中的相关日志信息。
绝对路径或相
对路径,且满
足操作系统路
径命名规则。
-m, --maintenance
允许在两阶段事务恢复期间连接GBase 8c。
说明

该选项是一个开发选项,禁止用户使用,只
限专业技术人员使用,功能是:使用该选项
时,
gsql 可以连接到备机,
用于校验主备机数
据的一致性。
——
-n, --no-libedit
关闭命令行编辑。
——
-o, --output=
FILENAME
将所有查询输出重定向到文件FILENAME。
绝对路径或相
对路径,且满
足操作系统路
径命名规则。

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
21
参数
参数说明
取值范围
-q, --quiet
安静模式,执行时不会打印出额外信息。
缺省时gsql 将
打印许多其他
输出信息。
-s, --single-step
单步模式运行。意味着每个查询在发往服务器之
前都要提示用户,用这个选项也可以取消执行。
此选项主要用于调试脚本。
注意

使用此参数可能会暴露部分SQL 语句中的敏
感信息,如创建用户语句中的password 信息
等,请谨慎使用。
——
-S, --single-line
单行运行模式,这时每个命令都将由换行符结束,
像分号那样。
——
-C, --enable-
client-encryption
当使用-C 参数连接本地数据库或者连接远程数据
库时,可通过该选项打开密态数据库开关。
——
表2-9 输出格式参数
参数
参数说明
取值范围
-A, --no-align
切换为非对齐输出模式。
缺省为对齐输
出模式
-F,
--field-separator=STRI
NG
设置域分隔符(默认为“|”)。
——
-H, --html
打开HTML 格式输出。
——
-P, --
pset=VAR[= ARG]
在命令行上以\pset 的风格设置打印选项。
说明

这里必须用等号而不是空格分隔名称和值。

如,把输出格式设置为LaTeX,可以键入-P
format=latex
——
-R, --record-
separator=STRING
设置记录分隔符。
——

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
22
参数
参数说明
取值范围
-r
开启在客户端操作中可以进行编辑的模式。
缺省为关闭。
-t, --tuples- only
只打印行。
——
-T, --table- attr=TEXT
允许声明放在HTML table 标签里的选项。
使用时请搭配参数“-H,--html”,
指定为HTML 格式
输出。
——
-x, --
expanded
打开扩展表格式模式。
——
-z, --field-
separator-zero
设置非对齐输出模式的域分隔符为空。
使用时请搭配参数“-A, --no-align”,指定为非对齐
输出模式。
——
-0, --record-
separator-zero
设置非对齐输出模式的记录分隔符为空。
使用时请搭配参数“-A, --no-align”,指定为非对齐
输出模式。
——
-2, --pipeline
使用管道传输密码,禁止在终端使用,必须和-c
或者-f 参数一起使用。
——
-g,
打印来自文件的所有SQL。
——
表2-10 连接参数
参数
参数说明
取值范围
-h, --host=
HOSTNAME
指定正在运行服务器的主机名或者Unix 域
套接字的路径。
如果省略主机名,
gsql 将通过Unix 域套
接字与本地主机的服
务器相联,或者在没
有Unix 域套接字的
机器上,通过TCP/IP
与localhost 连接。
-p, --port=PORT
指定数据库服务器的端口号。
可以通过port 参数修改默认端口号。
0 到65535

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
23
参数
参数说明
取值范围
-U, --username=USER
NAME
指定连接数据库的用户。
说明

通过该参数指定用户连接数据库时,

要同时提供用户密码用以身份验证。

可以通过交换方式输入密码,
或者通过
-W 参数指定密码。

用户名中包含有字符$,
需要在字符$前
增加转义字符才可成功连接数据库。
字符串。默认使用与
当前操作系统用户同
名的用户。
-W, --password=PASS
WORD
当使用-U 参数连接远端数据库时,可通过
该选项指定密码。
说明

数据库主节点所在服务器后连接本地
数据库主

节点实例时,
默认使用trust 连接,
会忽
略此参数。

用户密码中包含特殊字符“\”和“`”时,
需要增加转义字符才可成功连接数据
库。

如果用户未输入该参数,
但是数据库连
接需要用户密码,
这时将出现交互式输
入,请用户输入当前连接的密码。该密
码最长长度为999 字节,受限于GUC
参数password_max_length 的最大值。
符合密码复杂度要
求。

获取AUTO_INCREMENT 列值方法2 ........................................
147

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

III