110 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 概述 
 | |
| =======================
 | |
| 
 | |
| 
 | |
| 
 | |
| **内部表定义** 
 | |
| 
 | |
| 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` 视图,是其它系统表的视图。
 | |
| 
 | |
|     
 | |
|   
 | |
| 
 | |
|   
 | |
| 
 | |
| 
 | |
| 
 | 
