Oceanbase社区版安装后SYS库

【产品名称】社区版

【产品版本】3.1.0

【问题描述】安装完oceanbase社区版,并alter system bootstrap server_list_info后,发现社区版有一个SYS库,这个库中的表或视图都是不可访问的,会出现报错,如下:

mysql> select * from ALL_VIRTUAL_SQL_AUDIT limit 1;

ERROR 1491 (HY000): The PARTITION function returns the wrong type

mysql> select * from ALL_ALL_TABLES limit 1;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'VARCHAR2(128)) AS OWNER, CAST(t.table_name AS VARCHAR2(128)) AS TABLE_NAME, ’ at line 1

另一方面,在oceanbase库中,也有同名表或视图,不同处已用红色标记:

mysql> show create table sys.V$SSTABLE\G

*************************** 1. row ***************************

View: V$SSTABLE

Create View: CREATE VIEW `V$SSTABLE` AS SELECT M.TABLE_TYPE, M.TABLE_ID, T.TABLE_NAME, T.TENANT_ID, M.PARTITION_ID, M.INDEX_ID, M.BASE_VERSION, M.MULTI_VERSION_START, M.SNAPSHOT_VERSION, M.START_LOG_ID, M.END_LOG_ID, M.MAX_LOG_ID, M.VERSION, M.LOGICAL_DATA_VERSION, M.“SIZE”, M.IS_ACTIVE, M.REF, M.WRITE_REF, M.TRX_COUNT, M.PENDING_LOG_PERSISTING_ROW_CNT, M.UPPER_TRANS_VERSION, M.CONTAIN_UNCOMMITTED_ROW FROM SYS.ALL_VIRTUAL_TABLE_MGR_AGENT M JOIN SYS.ALL_VIRTUAL_TABLE_REAL_AGENT T ON M.TABLE_ID = T.TABLE_ID AND T.TENANT_ID = EFFECTIVE_TENANT_ID() WHERE M.SVR_IP=HOST_IP() AND M.SVR_PORT=RPC_PORT() AND T.TENANT_ID = SYS_CONTEXT(‘USERENV’, ‘CON_ID’)

character_set_client: utf8mb4

collation_connection: utf8mb4_general_ci

1 row in set (0.00 sec)

mysql> show create table oceanbase.V$SSTABLE\G

*************************** 1. row ***************************

View: v$sstable

Create View: CREATE VIEW `v$sstable` AS SELECT M.TABLE_TYPE, M.TABLE_ID, T.TABLE_NAME, T.TENANT_ID, M.PARTITION_ID, M.INDEX_ID, M.BASE_VERSION, M.MULTI_VERSION_START, M.SNAPSHOT_VERSION, M.START_LOG_TS, M.END_LOG_TS, M.MAX_LOG_TS, M.VERSION, M.LOGICAL_DATA_VERSION, M.SIZE, M.IS_ACTIVE, M.REF, M.WRITE_REF, M.TRX_COUNT, M.PENDING_LOG_PERSISTING_ROW_CNT, M.UPPER_TRANS_VERSION, M.CONTAIN_UNCOMMITTED_ROW FROM oceanbase.__all_virtual_table_mgr M JOIN oceanbase.__all_virtual_table T ON M.TABLE_ID = T.TABLE_ID WHERE M.SVR_IP=HOST_IP() AND M.SVR_PORT=RPC_PORT() AND effective_tenant_id() = 1 OR T.tenant_id = effective_tenant_id()

character_set_client: utf8mb4

collation_connection: utf8mb4_general_ci

1 row in set (0.00 sec)

请问这个库有什么作用吗

ob数据库sys系统租户默认是mysql模式,该租户下默认自带oceanbase和sys这两个database。

而ob普通租户下,也有oceanbase,但是没有sys。不同租户下oceanbase 存储的信息有差别,sys租户下信息更全一些。

另外,sys租户下sys这个database目前还在完善中,它是全局的。