用户租户下 mysql.time_zone 系列的表是否不允许导入数据?

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.2.1
【问题描述】从原生 mysql 中生成的时区数据, 想通过 sql 文件导入到 mysql.time_zone 系列表中,提示报错,如图:


是否无法向 ob 的时区表中写入数据? 那留这些空表的意义是什么?
【复现路径】
【附件及日志】

根据您提供的错误信息和文档库中的信息,错误码 5723 表示您尝试通过 INSERTDELETEUPDATE 语句修改被定义为只读的视图。这解释了为什么您不能向 mysql.time_zone 系列表中插入数据。

问题分析

  1. 只读视图mysql.time_zone 系列表在 OceanBase 中可能是只读视图,这意味着您不能直接对这些表进行插入、删除或更新操作。
  2. 表的意义:这些表的存在是为了存储时区信息,但它们的设计目的是只读的,通常由系统内部维护。如果您需要更新时区信息,建议通过其他方式,例如使用系统提供的工具或命令来更新时区数据。

解决方案

  1. 直接修改基础表:如果您确实需要修改时区信息,可以尝试查找并修改基础表。但这需要详细了解 OceanBase 的内部结构,不建议在生产环境中随意操作。
  2. 修改视图为可更新的视图:如果这些表确实是视图,您可以尝试修改视图为可更新的视图。但这同样需要谨慎操作,确保不会影响系统的正常运行。

建议

  1. 使用官方工具:建议使用 OceanBase 提供的官方工具或命令来更新时区信息。这样可以确保操作的安全性和正确性。
  2. 联系技术支持:如果您不确定如何操作,建议联系 OceanBase 的技术支持团队,获取专业的指导和帮助。

希望以上信息能帮助您解决问题。如果有更多疑问,请随时联系 OceanBase 的人工答疑以获取更多帮助。

具体信息可参考以下文档:

  1. 5000 ~ 5999
  2. 0001 ~ 3999
  3. get_tenant 失败后重试无法退出
  4. 集群近期 1 小时内发生的事件
  5. 某租户下所有表占用磁盘大小

目前应该是没有开发该功能。ob是完全自研的数据库,该表应该是为了与mysql兼容而仿照保留下来的

确认是无法导入是吧?

根据文档库中的信息和您提供的错误信息,可以确认您无法直接向 mysql.time_zone 系列表中导入数据。这些表在 OceanBase 中被设计为只读视图,因此您不能通过 INSERTDELETEUPDATE 语句对其进行修改。

确认信息

  1. 只读视图mysql.time_zone 系列表是只读视图,不允许直接进行 DML 操作。
  2. 错误信息:错误码 5723 (HY000) 表示“不能对只读视图执行 DML 操作”。

表的意义

这些表的存在是为了存储时区信息,但它们的设计目的是只读的,通常由系统内部维护。如果您需要更新时区信息,建议通过其他方式,例如使用系统提供的工具或命令来更新时区数据。

建议

  1. 使用官方工具:建议使用 OceanBase 提供的官方工具或命令来更新时区信息。这样可以确保操作的安全性和正确性。
  2. 联系技术支持:如果您不确定如何操作,建议联系 OceanBase 的技术支持团队,获取专业的指导和帮助。

希望以上信息能帮助您确认问题并找到合适的解决方案。如果有更多疑问,请随时联系 OceanBase 的人工答疑以获取更多帮助。

检索到的文档如下:

  1. IMPORT_INDEX_STATS
  2. oceanbase.CDB_OB_IMPORT_TABLE_JOB_HISTORY
  3. oceanbase.DBA_OB_IMPORT_TABLE_JOB_HISTORY
  4. 全量旁路导入
  5. 增量旁路导入
  6. oceanbase.CDB_OB_IMPORT_TABLE_JOBS
  7. get_tenant 失败后重试无法退出
  8. 集群近期 1 小时内发生的事件
  9. 某租户下所有表占用磁盘大小

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)