返回首页

gbase数据、南大通用产品文档:GBase8aOracle 到GBase 8a 同步动态注册注销表

更新日期:2024年09月11日

URL 示例:http://192.168.4.187:8080/operatetable
使用该接口可以进行注册表和注销表操作,
“requestType”
值为
“register”
时为注册表;值为“unregister”时为注销表。需要传入注册表或注销表的表
结构信息,一次调用只能进行一个表的注册或者注销操作。
注册表功能可动态添加新的表到同步队列当中,添加成功后后续对该表的
DML 操作可进行同步。
注销表功能可动态删除已经存在同步队列中的表,删除后对该表的DML 操
作将不再进行同步。
【注意】:
1.
“id”值为可选项,如果存在id 值,则会注册到source-target-id
与该值相同的source-target 下,如果不存在,则默认注册到第一个
source-target 源下。
2.
在注册注销过程中如果正在进行全量转增量,则注册注销失败。
注册表操作的入参JSON:
{
"requestType":"unregister",
"id":"1",
"isContinueSyncWhileError":"false",
"originalTable":{
"dbName":"WANGWEI",
"tableName":"TEST2",

GBase RTSync 同步工具手册
南大通用数据技术股份有限公司
- 59 -
"columnInfo":[
{
"columnName":"A",
"columnType":"VARCHAR2"
}
] ,
"primaryKeys":"A"
},
"destTable":{
"dbName":"wangwei",
"tableName":"test2",
"columnInfo":[
{
"columnName":"a",
"columnType":"varchar"
}
],
"primaryKeys":"a"}
}
调用结果:
{
"requestType":"register",
"responseInfo":"register error + errmsg"
或者
"responseInfo":"register success"

GBase RTSync 同步工具手册
- 60 -
南大通用数据技术股份有限公司
}
注销表操作的入参JSON 结构与注册表操作的入参JSON 一致,只是
“requestType”值为unregister。返回结果与注册表返回结果一致。

如果是License 版本集群,在集群安装完成后集群将无法使用,需要导入
License 文件。
图3.2-22 License 认证页面

统一数据平台监控与运维系统用户手册
南大通用数据技术股份有限公司
- 49 -
License 认证过程,按照右侧提示即可完成。步骤如下:

点击页面“获取指纹文件”按钮,将指纹文件保存到本地

将指纹文件发送给GBase 商务人员,获取License 文件

将License 文件导入,完成License 认证,导入成功后“最后一次导入记
录”框内会有导入时间和License 文件名的提示。

使用 RENAME COLUMN 语句来更改列的名称。RENAME COLUMN 语句是对
SQL 的 ANSI/ISO 标准的扩展。
语法

元素
描述
限制
语法
new_column 您在此声明
来替代
old_column
的名称
在 table 中的列名称中必须是
唯一的。另请参阅 影响触发器
的方式。
标识符
old_column 要重命名的

在表内必须存在
标识符

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 794
owner
表的所有者
必须为表的所有者
所有者名称
table
包含
old_column
的表
必须注册在当前数据库中
标识符
用法
如果任何下列条件为真,则您可重命名表的列:

您拥有该表或有对该表的 Alter 权限。

您有对该数据库的 DBA 权限。
该列可在 CREATE EXTERNAL TABLE 语句定义的表对象中。
示例
下列示例将新名称 c_num 赋予 customer 表中的 customer_num 列:
RENAME COLUMN customer.customer_num TO c_num;
影响视图和检查约束的方式
如果您重命名出现在视图中的列,则更新在 sysviews 系统目录表中的视图定义的
文本,来反映新的列名称。如果您重命名出现在检查约束中的列,则更新在
syschecks 系统目录表中的检查约束的文本,来反映新的列名称。
影响触发器的方式
如果您重名出现在触发器定义内的列,则仅在下列情况下才用新的名称代替它:

当它作为触发器的 FOR EACH ROW 活动子句内的相关名称的一部分出
现时

当它作为 EXECUTE FUNCTION(或 EXECUTE PROCEDURE)语句的
INTO 子句中的相关名称的一部分出现时

当它作为 UPDATE 子句中的触发器列出现时
当触发器执行时,如果数据库服务器遇到在该表中不再存在的列名称时,在返回
错误。