【 使用环境 】测试环境
【 OB or 其他组件 】OceanBase
【 使用版本 】V3.1.5社区版
【问题描述】为何官方网站中有__all_virtual_meta_table这个表,但是用root用户登录后show tables方式查看不到这个表,但是直接select * from __all_virtual_meta_table又能正确返回,这是咋回事呢?@论坛小助手
2 个赞
在这个情况下,用户面临的问题是在 OceanBase V3.1.5 社区版中,使用 root 用户登录后,通过 show tables
命令无法看到 __all_virtual_meta_table
表,但是可以直接查询该表。这可能是因为 show tables
命令只显示数据库中用户创建的表,而不包括系统内部的虚拟表或元数据表。不过,为了进一步诊断此问题,我们可以使用 obdiag 工具来收集相关日志。
日志采集场景: SQL 执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -uroot@sys -p****** -Dsys’, trace_id=’’}”
这里需要注意的是,虽然当前的情况并不是一个典型的“SQL 执行出错”,但我们仍然可以通过这个场景下的命令来收集与 SQL 相关的日志,以便于我们了解为何 show tables
不显示 __all_virtual_meta_table
表而又能直接查询该表。
麻烦您提供一些信息以便我们更好地帮助您:
- 您当前使用的 OceanBase 版本的具体信息(可以提供
select version();
的输出结果)。 - 您尝试查看
__all_virtual_meta_table
表所在的数据库名称。 - 您是否有执行过任何与表权限有关的操作,例如
GRANT
或REVOKE
。 - 当前用户是否有足够的权限访问所有表。
- 您是否尝试过使用其他用户执行
show tables
命令,结果如何? - 您是否在其他数据库中也遇到过类似的问题?
请按照上述命令收集日志并提供相关信息,我们将进一步为您分析问题的原因。感谢您的配合。
附上敏捷诊断工具 obdiag 使用帮助链接
3 个赞
obdiag这么好用吗?试试了
2 个赞
学习
1 个赞
学习了
1 个赞