OMS 数据迁移页面进入时,提示访问 OMS 元数据库异常

【 使用环境 】 测试环境
【 OB or 其他组件 】OMS 4.2.7
【 使用版本 】OB 4.2.1
【问题描述】OMS 初始化都成功的,但是进入数据迁移页面,会提示:访问 OMS 元数据库异常,请联系 OMS技术支持人员。
使用的租户账号不是 root,仅对指定数据库有访问权限,没有创建数据库和系统视图访问权限。
创建数据迁移任务等都能正常创建,没有报错,只有进入页面时会提示该信息。
全量数据迁移等任务都能成功执行。
想了解,OB元数据库是否是需要额外的权限?

1 个赞

@论坛小助手

1 个赞

根据文档库中的信息,OMS 社区版在进行数据迁移和同步任务时,确实对源端和目标端的数据库用户有特定权限要求。针对您描述的问题,以下是可能的原因分析及解决方案:


1. 问题分析

  • 提示信息:访问 OMS 元数据库异常。
  • 环境背景
    • 使用的租户账号不是 root,仅对指定数据库有访问权限。
    • 没有创建数据库和系统视图访问权限。
    • 数据迁移任务可以正常创建并执行,但进入数据迁移页面时会报错。

从上述信息推测,问题可能与当前登录 OMS 的租户账号权限不足有关。虽然数据迁移任务本身能够正常运行,但进入数据迁移页面可能需要额外的权限来访问 OMS 的元数据库或相关系统视图。


2. 解决方案

(1) 确认 OMS 元数据库的访问权限

OMS 社区版在初始化时会创建一个元数据库(通常是 oms_meta 或类似名称),用于存储迁移任务的元信息。如果当前登录的租户账号没有对该元数据库的访问权限,可能会导致“访问 OMS 元数据库异常”的提示。

解决方法

  • 确保当前租户账号对 OMS 元数据库具有访问权限。可以通过以下 SQL 授予权限:
    GRANT ALL PRIVILEGES ON DATABASE oms_meta TO <your_tenant_user>;
    
    如果不确定元数据库的具体名称,可以联系 OMS 初始化时的管理员确认。

(2) 检查系统视图访问权限

即使当前租户账号对指定数据库有访问权限,但如果缺少对系统视图的访问权限,也可能导致无法正确加载数据迁移页面。

解决方法

  • 确保当前租户账号具有对系统视图的访问权限。可以通过以下 SQL 授予权限:
    GRANT SELECT ON oceanbase.__all_virtual_table TO <your_tenant_user>;
    GRANT SELECT ON oceanbase.__all_virtual_database TO <your_tenant_user>;
    
    根据实际需求,可能还需要授予其他相关系统视图的访问权限。

(3) 验证租户账号是否为超级用户

根据文档片段 10 的内容,某些操作可能需要超级用户权限(如 superuser)。如果当前租户账号不是超级用户,可能会导致部分功能受限。

解决方法

  • 如果可能,将当前租户账号设置为超级用户:
    ALTER USER <your_tenant_user> SUPERUSER;
    
    如果不能设置为超级用户,则需要确保该账号具有足够的权限来完成所有必要的操作。

(4) 排查 OMS 日志

如果上述方法仍无法解决问题,建议查看 OMS 的日志文件以获取更多详细信息。日志中可能会记录具体的错误原因,从而帮助进一步定位问题。

日志路径

  • 默认情况下,OMS 的日志文件位于安装目录下的 logs 文件夹中。
  • 查找与“访问 OMS 元数据库异常”相关的错误日志,并根据日志内容采取相应措施。

3. 总结

根据现有信息,问题可能与当前租户账号的权限不足有关。建议按照以下步骤逐步排查:

  1. 确认当前租户账号对 OMS 元数据库的访问权限。
  2. 检查系统视图的访问权限。
  3. 验证租户账号是否为超级用户。
  4. 查看 OMS 日志以获取更多详细信息。

如果以上方法仍无法解决问题,建议联系 OMS 技术支持人员以获取进一步帮助。


4. 参考文档

详情请参考:

  1. 用户权限说明
  2. 创建数据库用户
  3. 新建 TiDB 数据源
  4. 迁移 PostgreSQL 数据库的数据至 OceanBase 社区版
  5. OMS 社区版问题排查手册
  6. 容灾双活场景的数据迁移
  7. OceanBase 社区版之间的数据迁移
  8. 通过 OMS 进行数据迁移和同步
  9. 如何处理因存在 LOB 字段导致全量迁移失败的问题
1 个赞

你可以看看 这个官方文档

用户权限说明

https://www.oceanbase.com/docs/community-oms-cn-1000000002405451

1 个赞

你提供的是 OceanBase 社区版作为源端或者目标的权限说明。我这里是 OMS 元数据库的问题。

1 个赞

那是不行的 oms_meta_user配置的这个用户需要在元数据库上创建库的

1 个赞

库提前创建了,所以没问题,脚本里选初始化数据库即可,我已经初始化完成了,OMS 成功运行的。

1 个赞

要有这三个库oms_rm、oms_cm 和 oms_cm_hb三个OMS 元数据库的所有操作权限 要不然就会有问题

1 个赞

对这 3 个库都有权限,所以初始化脚本都成功的,包括建表和导入数据。

1 个赞

oms的元数据库是ob么?oms是社区版4.2.7么 你截图oms看一下版本号?

1 个赞

对,元数据是 OB, OMS版本号: 4.2.7_CE

1 个赞

之前测试环境的 OB是 root用户,没有出现问题。但是预生产环境被限制了权限,所以不是 root账号,出现了告警,我想知道还需要开启哪些权限才不会报错,可以去申请开启。

1 个赞

Ghana的日志发一下,oms容器 /home/admin/logs/ghana/Ghana/common-default、common-error

报错时,common-error.log 没有新消息输出。
common-default.log 有输出:


因为特殊原因,无法获取源文件,只能提供截图信息。

1 个赞

/home/admin/logs/ghana/Ghana 这个目录
执行一下 cat database.log | grep requestId
requestId是上面那个报错的requestId

1 个赞

database.log 中未能查询到对应 id 的信息。

meta-db.log 中有
2025-04-10 12:59:06.132 [WARN]【de89786f-c7f0-4c1f-a119-5b8ac6d60ff4] data access OmsLabelMapper.listLabelsByQuery exception

1 个赞

这个访问元数据库异常是哪个地方报的,新建迁移链路那个页面吗,截个图看一下

1 个赞

点左边导航栏 【数据迁移】进入数据迁移主页的时候,会跳告警

1 个赞

1 个赞

data access OmsLabelMapper.listLabelsByQuery exception
这个日志下面的sql报错信息是什么?元数据库rm库这两张表在不在oms_label_project_relation,oms_label

1 个赞