【 使用环境 】 测试环境
【 OB 】
【 使用版本 】4.0.0
【问题描述】mysql模式下,dba_**** 和 __开头的 关系
比如:DBA_OB_UNITS 和 __all_unit
我没看过源码,我理解的说DBA_的表是兼容oracle模式做的,__开头的表是内部表,很多视图,兼容性的表的数据都是从内部表获取的
1 个赞
您好:您以前搞过 oracle 数据库没 ???
内部内存表。 然后虚拟出来的视图 或者 可能还有 同义词。 最后成为dba_* 的一些表,
oracle就是这么玩的。 我大致看下OB可能也是这么玩的
没搞过。现在主要是说ob的问题
比如两个表不同字段的含义,以及是怎么来的
mysql> select * from __all_unit;
+----------------------------+----------------------------+---------+------------------+---------------+-------+-----------+----------+---------------------+-----------------------+----------------+--------+
| gmt_create | gmt_modified | unit_id | resource_pool_id | unit_group_id | zone | svr_ip | svr_port | migrate_from_svr_ip | migrate_from_svr_port | manual_migrate | status |
+----------------------------+----------------------------+---------+------------------+---------------+-------+-----------+----------+---------------------+-----------------------+----------------+--------+
| 2023-03-17 10:54:50.900272 | 2023-03-17 10:54:50.900272 | 1 | 1 | 1 | zone1 | 127.0.0.1 | 2882 | | 0 | 0 | ACTIVE |
| 2023-03-17 10:55:08.280739 | 2023-03-17 10:55:08.347665 | 1001 | 1001 | 1001 | zone1 | 127.0.0.1 | 2882 | | 0 | 0 | ACTIVE |
+----------------------------+----------------------------+---------+------------------+---------------+-------+-----------+----------+---------------------+-----------------------+----------------+--------+
2 rows in set (0.01 sec)
mysql> select * from DBA_OB_UNITS;
+---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+-----------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+
| UNIT_ID | TENANT_ID | STATUS | RESOURCE_POOL_ID | UNIT_GROUP_ID | CREATE_TIME | MODIFY_TIME | ZONE | SVR_IP | SVR_PORT | MIGRATE_FROM_SVR_IP | MIGRATE_FROM_SVR_PORT | MANUAL_MIGRATE | UNIT_CONFIG_ID | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE | MAX_IOPS | MIN_IOPS | IOPS_WEIGHT |
+---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+-----------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+
| 1 | 1 | ACTIVE | 1 | 1 | 2023-03-17 10:54:50.900272 | 2023-03-17 10:54:50.900272 | zone1 | 127.0.0.1 | 2882 | NULL | NULL | NULL | 1 | 1 | 1 | 2147483648 | 2147483648 | 10000 | 10000 | 1 |
| 1001 | 1002 | ACTIVE | 1001 | 1001 | 2023-03-17 10:55:08.280739 | 2023-03-17 10:55:08.347665 | zone1 | 127.0.0.1 | 2882 | NULL | NULL | NULL | 1001 | 15 | 15 | 3221225472 | 3221225472 | 150000 | 150000 | 15 |
+---------+-----------+--------+------------------+---------------+----------------------------+----------------------------+-------+-----------+----------+---------------------+-----------------------+----------------+----------------+---------+---------+-------------+---------------+----------+----------+-------------+
2 rows in set (0.01 sec)
这个在源码中就有体现,你可以去看看ob_inner_table_schema_def.py中的定义
2 个赞
有没有相关文档?
企业版的也没有看到相关文档
是针对所有内部表的说明文档?
文档中有相关表的说明,我觉得是合理的,毕竟一堆内部表摆在那,但是却不知道怎么回事。
这个我已经反馈给文档的美娜了
内部表不对外也是合理的吧。
已经开放了对外的视图等说明了的。
DBA_的表是兼容oracle模式做的
DBA_OB: OB 特有视图,但命名格式与ORACLE 兼容。4.0开始推荐使用这些标准视图获取数据。
__all_unit __all_virtual 内部表尽量不要用。