OMS CE 3.3.1 使用问题

【 使用环境 】测试环境
【 OB or 其他组件 】OMS CE
【 使用版本 】3.3.1
【问题描述】

关于 OMS CE 3.3.1, 我们需要请教几个问题, 麻烦老师帮忙解答一下, 谢谢!

  1. OMS CE 3.3.1 /data/oms/oms_store/store*/p_/1./drc*.data 文件会不停增长, 观察下来 OMS CE 自己不会清理, 我们需要确认一下:
    (1). drc*.data 里面存的是什么 ?
    (2). 清理 drc*.data 是否影响迁移任务或同步任务? (目前我们测下来是不会影响, 不确定是否是偶然)
    (3). 清理 drc*.data 是否影响迁移任务 JDBCWriter 时间回调?
    (4). 创建迁移任务中 “增量数据保留时间” 是否与 drc*.data 数据有关? 清理 drc*.data 数据是否安全?

  2. OMS CE 3.3.1 迁移任务, 对于无主键表, OMS CE 会在上游无主键表上建一个隐藏列, 但同步到下游后这一列变成显示列了, 因为我们需要建立两条独立的迁移任务来做灾备管理(非容灾双活模式), 这会导致反向迁移任务因为表结构不一致而失败, 关于这个问题, 我们需要确认一下:
    (1). 无PK/UK表, 隐藏列由谁建立 ?
    (2). OMS CE 迁移任务是否可以将无主键/唯一键表添加的隐藏列同步到下游后仍然保持隐藏, 是否有参数可以控制 ?
    (3). OMS CE 创建的这个隐藏列, 上下游在什么时候进行删除?
    (4). OMS CE 是如何创建这个隐藏列的? 是否有创建语句? 对于无主键表我们是否可以自己先在上下游创建隐藏列, OMS CE 能否检测到上下游人为创建的隐藏列?
    (5). 如果无较好解决方案, 那么我们需要对无PK/UK表进行表改造, 要求表必须有 PK/UK, 目前有一个问题, OB CE 不支持

    alter table t add id int(11) not null auto_increment primary key; 
    

    语法, MySQL 是支持的, OB CE 只支持

    alter table t add id int(11) not null auto_increment; 
    

    但是会将已有数据那一列初始化为 0, 无法满足需求. 虽然我们可以建立一张新表, 确保新表有 auto_increment unique key 列, 再把旧表数据迁移到新表, 删除旧表, 重命名表可以达到目的. 但这样改造有些麻烦, 表数据量比较大时也需要预留磁盘空间等.

    我们想问下是否有一个比较简单的方法, 实现新加一列 UK 列, 并且如果表已经存在数据, 新加列也可以保证唯一性.

【复现路径】参考问题本身

【问题现象及影响】参考问题本身