oms迁移,生成列的值是由observer生成的吗?

@论坛小助手 修改oms迁移任务中的,全量和增量的组件timezone,生成列的值并没有变化

根据您的问题描述,这可能涉及到 OceanBase 数据库中生成列的行为以及时区设置对生成列的影响。目前没有直接匹配的根因分析场景,但可以通过采集相关日志来进一步诊断问题。

日志采集场景: SQL性能问题
日志采集命令: obdiag gather scene run --scene=observer.perf_sql --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

请您执行上述命令进行日志采集,并将采集到的日志提供给我们以便确认问题所在。

为了更好地帮助您解决问题,请您提供以下信息:

  1. 您是否确认生成列的定义依赖于 timezone 设置?生成列的具体定义是什么?
  2. 在修改 timezone 参数后,是否有重启 observer 服务?如果未重启,请尝试重启 observer 并观察生成列的变化。
  3. 您能否提供一个简单的测试用例(包括表结构和插入数据的 SQL),以复现该问题?
  4. 当前 OMS 迁移任务中使用的 OceanBase 数据库版本是什么?

附上敏捷诊断工具 obdiag 使用帮助链接

对于 MySQL 的 TIMSTAMP 类型可以使用 Linux 时间戳或者 ‘YYYY-MM-DD HH:MM:SS ZoneID’,如果ZoneID没有指定,那么会使用 +08:00 来转换时区。

对于 ORACLE 的 TIMESTAMP WITH LOCAL TIMEZONE 可以使用 ‘YYYY-MM-DD HH:MM:SS ZoneID’ 来进行比较,如果ZoneID没有指定,那么会使用 +08:00 来转换时区。


https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016008