[会议纪要] 20220816 tools sig会议
会议内容: (1)众智项目--openGauss-Oracle在线迁移工具支持在线迁移常用数据类型开发合作项目 遗留问题讨论 主讲人:杜金莲
该项目相关的3个问题详细分析可参考附件word文档
遗留问题: 1. 对于 Object类型中不能有数组类型属性的限制,下次会议讨论,要尽量分析解决; 问题原因: 在oracle向openGauss数据库类型转化方案中确定object类型在openGauss中转换成json格式 当对象类型的数据中嵌套数组类型的数据时,其定义如下: create type debezium.arraychar as varray(255) of varchar2(255); / create type debezium.arrayarray as varray(255) of arraychar; / create table testarrayarray( id int primary key, name varchar(255), a arrayarray);
create type debezium.arrayobj as object ( id int, a arrayarray); / create table testobjarray( id int primary key, name varchar(255), o arrayobj);
insert into testobjarray values(5,'eee', arrayobj(44, arrayarray(arraychar('a'),arraychar('a','b'),arraychar('a','bb','ccc')) ) ); xstream获得的日志信息是以xml的形式表达的,如下: <?oracle-xmldoc versions="D0 C0 V0" ?> <ARRAYOBJECT> <ID>44</ID> <A> <ARRAYCHAR> <VARCHAR2>a</VARCHAR2> </ARRAYCHAR> <ARRAYCHAR> <VARCHAR2>a</VARCHAR2> <VARCHAR2>b</VARCHAR2> </ARRAYCHAR> <ARRAYCHAR> <VARCHAR2>a</VARCHAR2> <VARCHAR2>bb</VARCHAR2> <VARCHAR2>ccc</VARCHAR2> </ARRAYCHAR> </A> </ARRAYOBJECT> 如果数据库中某一行数据对于对象类型的列赋值时,数组只赋予了一个元素,则其在xml的表达形式下是无法确定该元素是数组还是其它类型,因此会造成数据解析上的错误,从而使得转换成json时产生错误。如下所示: 上述插入语句预期结果: {"A":[["a"],["a","b"],["a","bb","ccc"]],"ID":44} 实际结果: {"A":[{"VARCHAR2":"a"},["a","b"],["a","bb","ccc"]],"ID":44} 原因在于XML中ARRAYOBJECT/A/ARRAYCHAR下仅包含一个节点,无法判断该类型是数组。
2. LOB和自定义类型不能为主键的问题,下次会议继续讨论,需要再详细说明;
问题原因:对于lob类型,通过debezium捕获其值,发现若该值更新,则能捕获到新值,但旧值不能捕获到,显示为__debezium_unavailable_value 因此,当lob类型所在列不是主键时,更新或者不更新该列,不影响整个update语句的where条件; 但当lob类型所在列是主键时,对该列是否更新,旧值都不能拿到,因此会影响整个update语句的where条件拼接部分, 因此lob类型不能作为主键,自定义类型也是同样的表现,因此也不能作为主键。
3. 验证oracle的long类型是否支持更大的范围,比如2G,如果支持更大的范围,text类型存在数据丢失的问题,需重新设计类型转换关系。
已验证通过Navicate导入的功能插入1.9GB数据时显示成功执行,还需校验导出的数据是否和输入一致,同时还需验证xstream和debezium是否能够支持承载如此大的数据,并决定是否更换数据类型映射关系 (原有的映射是long->text,其中long支持的最大字节数为2GB-1,text支持的大小为1GB-1,可能存在精度丢失的问题)
(2)众智项目: openGauss-DataStudio 适配存储过程覆盖率工具开发合作项目--主讲人:郑齐俱 1)关于内核插件DBE_PLDEBUGGER的特性说明 评审 2)DS 功能演示
由于时间关系,该议题未进行讲解,顺延至下周二(2022.8.23 中午10:00会议)
Thanks & Best regards!
窦欣 (Dou Xin) Mobile: 18710890246 E-mail: douxin5@huawei.com Department: openGauss Program
-----原始约会----- 发件人: openGauss conference [mailto:public@opengauss.org] 发送时间: 2022年8月12日 15:44 收件人: tools@opengauss.org 主题: [Tools] 20220816 tools sig会议 时间: 2022年8月16日星期二 10:00-13:30(UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐。 地点:
您好!
openGauss Tools SIG 邀请您参加 2022-08-16 10:00 召开的Zoom会议
会议主题:20220816 tools sig会议
会议内容: (1)众智项目--openGauss-Oracle在线迁移工具支持在线迁移常用数据类型开发合作项目 遗留问题讨论 主讲人:杜金莲 遗留问题: 1. 对于 Object类型中不能有数组类型属性的限制,下次会议讨论,要尽量分析解决; 2. LOB和自定义类型不能为主键的问题,下次会议继续讨论,需要再详细说明; 3. 验证oracle的long类型是否支持更大的范围,比如2G,如果支持更大的范围,text类型存在数据丢失的问题,需重新设计类型转换关系。
(2)众智项目: openGauss-DataStudio 适配存储过程覆盖率工具开发合作项目--主讲人:郑齐俱 1)关于内核插件DBE_PLDEBUGGER的特性说明 评审 2)DS 功能演示
会议链接:https://us06web.zoom.us/j/83200985898?pwd=ZVpBai9jd3RPU05iT240VjVLekVFdz09
温馨提醒:建议接入会议后修改参会人的姓名,也可以使用您在gitee.com的ID
提前申报议题请编辑:https://etherpad.opengauss.org/p/Tools-meetings
更多资讯尽在:https://opengauss.org/zh/
Hello!
openGauss Tools SIG invites you to attend the Zoom conference will be held at 2022-08-16 10:00,
The subject of the conference is 20220816 tools sig会议,
Summary: (1)众智项目--openGauss-Oracle在线迁移工具支持在线迁移常用数据类型开发合作项目 遗留问题讨论 主讲人:杜金莲 遗留问题: 1. 对于 Object类型中不能有数组类型属性的限制,下次会议讨论,要尽量分析解决; 2. LOB和自定义类型不能为主键的问题,下次会议继续讨论,需要再详细说明; 3. 验证oracle的long类型是否支持更大的范围,比如2G,如果支持更大的范围,text类型存在数据丢失的问题,需重新设计类型转换关系。
(2)众智项目: openGauss-DataStudio 适配存储过程覆盖率工具开发合作项目--主讲人:郑齐俱 1)关于内核插件DBE_PLDEBUGGER的特性说明 评审 2)DS 功能演示
You can join the meeting at https://us06web.zoom.us/j/83200985898?pwd=ZVpBai9jd3RPU05iT240VjVLekVFdz09.
Note: You are advised to change the participant name after joining the conference or use your ID at gitee.com.
Add topics: https://etherpad.opengauss.org/p/Tools-meetings
More information: https://opengauss.org/en/