Files
oceanbase/docs/docs-cn/13.reference-guide/1.system-view/1.overview-4.md
2022-02-10 14:51:49 +08:00

2.4 KiB

概述

内部表定义

OceanBase 数据库内部表包含了以下几类:

  • 核心系统表(简称核心表)

  • 普通系统表

  • 虚拟表

  • Information_Schema

多租户

OceanBase 数据库为多租户架构,租户分为两种类型:普通租户以及 sys 租户。OceanBase 数据库系统表都存储在 sys 租户,且主键中存储租户号(tenant_id),区分每个租户的内容。每个租户内部创建一个该租户数据的只读视图。

引入多租户后,系统表格命名如下:

  • 所有以 __all 开头的表格包含所有租户的数据,所有以 __tenant 开头的表格仅包含单个租户内部的数据。

  • 虚拟表的前缀分别为 __all_virtual 以及 __tenant_virtual

    例如,__all_virtual_session_variable 包含所有租户的 Session 变量信息,且内部实现为虚拟表;而__tenant_virtual_session_variable 只包含单个租户的 Session 变量信息,内部实现为虚拟表。

s``ys 租户和普通租户包含的系统表说明如下:

  • sys 租户

    • 核心表

      包括 __all_core_table__all_root_table__all_table__all_column__all_database__all_tablegroup__all_tenant、以及 __all_ddl_operation

    • 模式及用户权限表

      除了 __all_table__all_column,还包括 __all_part__all_database__all_tablegroup 以及 __all_user__all_table_privilege__all_database_privilege

    • 分表位置信息表

      分为两级,第一级为 __all_root_table,不可分区;第二级为 __all_meta_table

      所有系统表的位置信息都记录在 __all_root_table 中。

    • 租户、Resource Pool、Unit 相关的系统表

    • Zone 和服务器等部署相关的系统表

    • 系统配置相关的表:__all_sys_parameter

    • 系统变量及系统状态相关的表:__all_sys_variable__all_sys_stat

    • DDL 操作相关的表: __all_ddl_operation

    • 其它表,例如各种统计信息以及为了实现某个功能而加入的系统表

  • 普通租户

    • __tenant 作为表名前缀的只读视图,表示租户内信息

    • Information_schema:SQL 标准定义的 information_schema 视图,是其它系统表的视图。