为啥有的数据字典可以查到,但是通过show tables又找不到呢?

【 使用环境 】测试环境
【 OB or 其他组件 】observer
【 使用版本 】3.2.3.2 企业版
【问题描述】有的数据字典可以使用select查到,但是show tables又找不到。平时不会详细去记住表的全称,只记录关键单词,使用的时候才去show tables like 'xxx'找到具体的表。
【复现路径】

比如__all_virtual_meta_table可以直接查到,但是show tables又查不到,这是为什么呢?



[root@ocp-70-82 ~]# obclient -uroot@sys#xx_ob_test01 -p -P2883 -h  -c -A oceanbase
obclient: [Warning] Using a password on the command line interface can be insecure.
Welcome to OceanBase.  Commands end with ; or \g.
Your OceanBase connection id is 3723623
Server version: OceanBase 3.2.3.2 (r105030032022110711-4beb43d6b0dd28e1af2b2db3c265d7b07a6c168f) (Built Nov  7 2022 11:26:19)

Copyright (c) 2000, 2020, OceanBase and/or its affiliates. All rights reserved.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

obclient> select * from  __all_virtual_meta_table limit 1 \G
*************************** 1. row ***************************
         tenant_id: 1002
          table_id: 1101710651082211
      partition_id: 0
            svr_ip: 10.1.70.83
          svr_port: 2882
        gmt_create: 2023-05-09 05:14:22.564064
      gmt_modified: 2023-06-12 02:20:59.410263
          sql_port: 2881
           unit_id: 1006
     partition_cnt: 0
              zone: zone1
              role: 1
       member_list: 10.1.70.83:2882:1683580462527720,10.1.70.84:2882:1681804617787113,10.1.70.85:2882:1681804617787113
         row_count: 0
         data_size: 0
      data_version: 114
     data_checksum: 0
      row_checksum: 0
   column_checksum:
is_original_leader: 0
is_previous_leader: 1686291167173019
       create_time: 0
           rebuild: 0
      replica_type: 0
     required_size: 0
            status: REPLICA_STATUS_NORMAL
        is_restore: 0
partition_checksum: 0
            quorum: 3
         fail_list:
recovery_timestamp: 0
  memstore_percent: 100
      data_file_id: 1683579468649542
1 row in set (0.02 sec)

obclient> show tables like '%__all_virtual_meta_table%';
Empty set (0.01 sec)

【附件】

内部表,对外查看SQL命令不提供查看的。
并且和ob的文档同学沟通,说是不会提供说明文档

1 个赞

__all_virtual 基本不推荐外面使用,要用的话用标准视图

好滴,明白了。像上面这张表,记录的是数据库的全部表的位置分布,我看恒生的OB服务工程师在解决问题时候也会经常用到。几个场景:
1.比如说我执行了alter system stop server xxx:xx命令,要看leader角色有没有迁移走;
2.服务器重启后,也会通过这个视图去看leader有没有迁移回来。

可以使用的,只是不对外