diff --git a/src/observer/CMakeLists.txt b/src/observer/CMakeLists.txt index 46e162bd1..bf0491fad 100644 --- a/src/observer/CMakeLists.txt +++ b/src/observer/CMakeLists.txt @@ -399,6 +399,7 @@ ob_set_subtarget(ob_server virtual_table virtual_table/ob_all_virtual_sql_plan.cpp virtual_table/ob_all_virtual_opt_stat_gather_monitor.cpp virtual_table/ob_all_virtual_thread.cpp + virtual_table/ob_all_virtual_cgroup_config.cpp virtual_table/ob_virtual_flt_config.cpp virtual_table/ob_all_virtual_kv_connection.cpp ) diff --git a/src/observer/virtual_table/ob_all_virtual_cgroup_config.cpp b/src/observer/virtual_table/ob_all_virtual_cgroup_config.cpp new file mode 100644 index 000000000..2fcf30444 --- /dev/null +++ b/src/observer/virtual_table/ob_all_virtual_cgroup_config.cpp @@ -0,0 +1,221 @@ +/** + * Copyright (c) 2021 OceanBase + * OceanBase CE is licensed under Mulan PubL v2. + * You can use this software according to the terms and conditions of the Mulan PubL v2. + * You may obtain a copy of Mulan PubL v2 at: + * http://license.coscl.org.cn/MulanPubL-2.0 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PubL v2 for more details. + */ + +#include "lib/file/file_directory_utils.h" +#include "ob_all_virtual_cgroup_config.h" +#include +namespace oceanbase +{ +using namespace lib; + +namespace observer +{ + +ObAllVirtualCgroupConfig::ObAllVirtualCgroupConfig() : is_inited_(false) +{ +} + +ObAllVirtualCgroupConfig::~ObAllVirtualCgroupConfig() +{ + reset(); +} + +int ObAllVirtualCgroupConfig::inner_open() +{ + int ret = OB_SUCCESS; + if (OB_UNLIKELY(ObServerConfig::get_instance().self_addr_.ip_to_string(ip_buf_, sizeof(ip_buf_)) + == false)) { + ret = OB_ERR_UNEXPECTED; + SERVER_LOG(WARN, "ip_to_string() fail", K(ret)); + } + return ret; +} + +void ObAllVirtualCgroupConfig::reset() +{ + is_inited_ = false; +} + +int ObAllVirtualCgroupConfig::inner_get_next_row(common::ObNewRow *&row) +{ + int ret = OB_SUCCESS; + if (!is_inited_) { + if (OB_FAIL(read_cgroup_path_dir_(cgroup_link_path))) { + ret = OB_ITER_END; + } else { + scanner_it_ = scanner_.begin(); + } + is_inited_ = true; + } + if (OB_SUCC(ret)) { + if (OB_FAIL(scanner_it_.get_next_row(cur_row_))) { + if (OB_ITER_END != ret) { + SERVER_LOG(WARN, "fail to get next row", K(ret)); + } + } else { + row = &cur_row_; + } + } + return ret; +} + +int ObAllVirtualCgroupConfig::check_cgroup_dir_exist_(const char *cgroup_path) +{ + int ret = OB_SUCCESS; + bool exist_cgroup = false; + int link_len = 0; + if (OB_ISNULL(cgroup_path)) { + ret = OB_INVALID_ARGUMENT; + SERVER_LOG(WARN, "invalid arguments.", K(cgroup_path), K(ret)); + } else if (OB_FAIL(FileDirectoryUtils::is_exists(cgroup_path, exist_cgroup))) { + SERVER_LOG(WARN, "fail check file exist", K(cgroup_path), K(ret)); + } else if (!exist_cgroup) { + ret = OB_FILE_NOT_EXIST; + SERVER_LOG(WARN, "no cgroup directory found. disable cgroup support", K(cgroup_path), K(ret)); + } else if (-1 == (link_len = readlink(cgroup_path, cgroup_origin_path_, PATH_BUFSIZE))) { + SERVER_LOG(WARN, "The named file is not a symbolic link", K(cgroup_path), K(ret)); + snprintf(cgroup_origin_path_, PATH_BUFSIZE, "%s", cgroup_path); + } else if (link_len > 0 && cgroup_origin_path_[link_len - 1] == '/') { + cgroup_origin_path_[link_len - 1] = '\0'; + } else { + cgroup_origin_path_[link_len] = '\0'; + } + return ret; +} + +int ObAllVirtualCgroupConfig::read_cgroup_path_dir_(const char *cgroup_path) +{ + int ret = OB_SUCCESS; + if (OB_FAIL(check_cgroup_dir_exist_(cgroup_path))) { + SERVER_LOG(WARN, "cgroup config file not exist : ", K(ret), K(cgroup_path)); + } else { + char *dir[] = {cgroup_origin_path_, NULL}; + FTS *ftsp = fts_open(dir, FTS_NOCHDIR, NULL); + if (OB_NOT_NULL(ftsp)) { + FTSENT *node = NULL; + while ((node = fts_read(ftsp)) != NULL && OB_SUCC(ret)) { + if (node->fts_info == FTS_D) { + ret = add_cgroup_config_info_(node->fts_path); + } + } + fts_close(ftsp); + } + if (OB_FAIL(ret)) { + SERVER_LOG(WARN, "cgroup config read : ", K(ret), K(cgroup_origin_path_)); + } + } + return ret; +} + +int ObAllVirtualCgroupConfig::add_cgroup_config_info_(const char *cgroup_path) +{ + int ret = OB_SUCCESS; + const int64_t col_count = output_column_ids_.count(); + for (int64_t i = 0; i < col_count && OB_SUCC(ret); ++i) { + const uint64_t col_id = output_column_ids_.at(i); + ObObj *cells = cur_row_.cells_; + switch (col_id) { + case SVR_IP: { + cells[i].set_varchar(ip_buf_); + cells[i].set_collation_type( + ObCharset::get_default_collation(ObCharset::get_default_charset())); + break; + } + case SVR_PORT: { + cells[i].set_int(GCONF.self_addr_.get_port()); + break; + } + case CFS_QUOTA_US: { + char path[PATH_BUFSIZE]; + snprintf(path, PATH_BUFSIZE, "%s/%s", cgroup_path, "cpu.cfs_quota_us"); + FILE *file = fopen(path, "r"); + if (NULL == file) { + cells[i].set_int(0); + } else { + char buf[VALUE_BUFSIZE]; + fscanf(file, "%s", buf); + int cfs_quota_us = atoi(buf); + cells[i].set_int(cfs_quota_us); + } + if (NULL != file) { + fclose(file); + } + break; + } + case CFS_PERIOD_US: { + char path[PATH_BUFSIZE]; + snprintf(path, PATH_BUFSIZE, "%s/%s", cgroup_path, "cpu.cfs_period_us"); + FILE *file = fopen(path, "r"); + if (NULL == file) { + cells[i].set_int(0); + } else { + char buf[VALUE_BUFSIZE]; + fscanf(file, "%s", buf); + int cfs_period_us = atoi(buf); + cells[i].set_int(cfs_period_us); + } + if (NULL != file) { + fclose(file); + } + break; + } + case SHARES: { + char path[PATH_BUFSIZE]; + snprintf(path, PATH_BUFSIZE, "%s/%s", cgroup_path, "cpu.shares"); + FILE *file = fopen(path, "r"); + if (NULL == file) { + cells[i].set_int(0); + } else { + char buf[VALUE_BUFSIZE]; + fscanf(file, "%s", buf); + int shares = atoi(buf); + cells[i].set_int(shares); + } + if (NULL != file) { + fclose(file); + } + break; + } + case CGROUP_PATH: { + int path_len = strlen(cgroup_path) - strlen(root_cgroup_path); + if (path_len <= 0) { + cells[i].set_varchar(""); + } else { + strncpy(cgroup_path_buf_, cgroup_path + strlen(root_cgroup_path), path_len); + cgroup_path_buf_[path_len] = '\0'; + cells[i].set_varchar(cgroup_path_buf_); + } + cells[i].set_collation_type( + ObCharset::get_default_collation(ObCharset::get_default_charset())); + break; + } + default: { + ret = OB_ERR_UNEXPECTED; + SERVER_LOG(WARN, "unexpected column id", K(col_id), K(i), K(ret)); + break; + } + } + } + if (OB_SUCC(ret)) { + // scanner最大支持64M,因此暂不考虑溢出的情况 + if (OB_FAIL(scanner_.add_row(cur_row_))) { + SERVER_LOG(WARN, "fail to add row", K(ret), K(cur_row_)); + if (OB_SIZE_OVERFLOW == ret) { + ret = OB_SUCCESS; + } + } + } + return ret; +} + +} // namespace observer +} // namespace oceanbase \ No newline at end of file diff --git a/src/observer/virtual_table/ob_all_virtual_cgroup_config.h b/src/observer/virtual_table/ob_all_virtual_cgroup_config.h new file mode 100644 index 000000000..601a494e8 --- /dev/null +++ b/src/observer/virtual_table/ob_all_virtual_cgroup_config.h @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2021 OceanBase + * OceanBase CE is licensed under Mulan PubL v2. + * You can use this software according to the terms and conditions of the Mulan PubL v2. + * You may obtain a copy of Mulan PubL v2 at: + * http://license.coscl.org.cn/MulanPubL-2.0 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PubL v2 for more details. + */ + +#ifndef SRC_OBSERVER_VIRTUAL_TABLE_OB_ALL_VIRTUAL_CGROUP_CONFIG_H_ +#define SRC_OBSERVER_VIRTUAL_TABLE_OB_ALL_VIRTUAL_CGROUP_CONFIG_H_ + +#include "share/ob_virtual_table_scanner_iterator.h" + +namespace oceanbase +{ +namespace observer +{ +class ObAllVirtualCgroupConfig : public common::ObVirtualTableScannerIterator +{ + enum COLUMN_ID_LIST + { + SVR_IP = common::OB_APP_MIN_COLUMN_ID, + SVR_PORT, + CFS_QUOTA_US, + CFS_PERIOD_US, + SHARES, + CGROUP_PATH + }; + +public: + ObAllVirtualCgroupConfig(); + virtual ~ObAllVirtualCgroupConfig() override; + virtual int inner_open() override; + virtual void reset() override; + virtual int inner_get_next_row(common::ObNewRow *&row) override; +private: + static const int32_t PATH_BUFSIZE = 256; + static const int32_t VALUE_BUFSIZE = 32; + static constexpr const char *const root_cgroup_path = "/sys/fs/cgroup/cpu"; + static constexpr const char *const cgroup_link_path = "cgroup"; + bool is_inited_; + char ip_buf_[common::OB_IP_STR_BUFF]; + char cgroup_path_buf_[PATH_BUFSIZE]; + char cgroup_origin_path_[PATH_BUFSIZE]; +private: + int check_cgroup_dir_exist_(const char *cgroup_path); + int read_cgroup_path_dir_(const char *cgroup_path); + int add_cgroup_config_info_(const char *cgroup_path); + DISALLOW_COPY_AND_ASSIGN(ObAllVirtualCgroupConfig); +}; + +} +} +#endif /* SRC_OBSERVER_VIRTUAL_TABLE_OB_ALL_VIRTUAL_CGROUP_CONFIG_H_ */ \ No newline at end of file diff --git a/src/observer/virtual_table/ob_all_virtual_thread.cpp b/src/observer/virtual_table/ob_all_virtual_thread.cpp index 93b3a5c39..72963e2ab 100644 --- a/src/observer/virtual_table/ob_all_virtual_thread.cpp +++ b/src/observer/virtual_table/ob_all_virtual_thread.cpp @@ -11,6 +11,7 @@ */ #include "ob_all_virtual_thread.h" +#include "lib/file/file_directory_utils.h" #include "lib/thread/protected_stack_allocator.h" #define GET_OTHER_TSI_ADDR(var_name, addr) \ @@ -22,7 +23,7 @@ namespace oceanbase using namespace lib; namespace observer { -ObAllVirtualThread::ObAllVirtualThread() : is_inited_(false) +ObAllVirtualThread::ObAllVirtualThread() : is_inited_(false), is_config_cgroup_(false) { } @@ -51,11 +52,15 @@ int ObAllVirtualThread::inner_get_next_row(common::ObNewRow *&row) { int ret = OB_SUCCESS; if (!is_inited_) { + const char *cgroup_path = "cgroup"; + if (OB_FAIL(FileDirectoryUtils::is_exists(cgroup_path, is_config_cgroup_))) { + SERVER_LOG(WARN, "fail check file exist", K(cgroup_path), K(ret)); + } const int64_t col_count = output_column_ids_.count(); pid_t pid = getpid(); StackMgr::Guard guard(g_stack_mgr); - for (auto* header = *guard; OB_NOT_NULL(header); header = guard.next()) { - auto* thread_base = (char*)(header->pth_); + for (oceanbase::lib::ObStackHeader* header = *guard; OB_NOT_NULL(header); header = guard.next()) { + char* thread_base = (char*)(header->pth_); if (OB_NOT_NULL(thread_base)) { GET_OTHER_TSI_ADDR(tid, &get_tid_cache()); { @@ -219,7 +224,54 @@ int ObAllVirtualThread::inner_get_next_row(common::ObNewRow *&row) break; } case CGROUP_PATH: { - cells[i].set_varchar(""); + if (!is_config_cgroup_) { + cells[i].set_varchar(""); + } else { + int64_t pid = getpid(); + char path[256]; + snprintf(path, 256, "/proc/%ld/task/%ld/cgroup", pid, tid); + FILE *file = fopen(path, "r"); + if (NULL == file) { + cells[i].set_varchar(""); + } else { + /* + file content + 7:perf_event:/ + 6:cpuset,cpu,cpuacct:/oceanbase/tenant_0001 + 5:blkio:/system.slice/staragentctl.service + 4:devices:/system.slice/staragentctl.service + 3:hugetlb:/ + cgroup_path = /tenant_0001 + */ + bool is_find = false; + int min_len = 2; + int discard_len = 1; + char read_buff[PATH_BUFSIZE]; + while (fgets(read_buff, sizeof(read_buff), file) != NULL && !is_find) { + const char* match_begin = strstr(read_buff, ":/"); + const char* match_cpu = strstr(read_buff, "cpu"); + if (match_begin != NULL && match_cpu != NULL) { + is_find = true; + match_begin += discard_len; + snprintf(cgroup_path_buf_, PATH_BUFSIZE, "%s", match_begin); + } + } + int cgroup_path_len = strlen(cgroup_path_buf_); + if (is_find && min_len < cgroup_path_len) { + if (cgroup_path_buf_[cgroup_path_len - 1] == '\n') { + cgroup_path_buf_[cgroup_path_len - 1] = '\0'; + } + cells[i].set_varchar(cgroup_path_buf_); + } else { + cells[i].set_varchar(""); + } + } + cells[i].set_collation_type( + ObCharset::get_default_collation(ObCharset::get_default_charset())); + if (NULL != file) { + fclose(file); + } + } break; } default: { diff --git a/src/observer/virtual_table/ob_all_virtual_thread.h b/src/observer/virtual_table/ob_all_virtual_thread.h index b7faeecca..c93bf63ac 100644 --- a/src/observer/virtual_table/ob_all_virtual_thread.h +++ b/src/observer/virtual_table/ob_all_virtual_thread.h @@ -19,6 +19,7 @@ namespace oceanbase { namespace observer { + class ObAllVirtualThread : public common::ObVirtualTableScannerIterator { enum COLUMN_ID_LIST @@ -44,13 +45,16 @@ public: virtual void reset() override; virtual int inner_get_next_row(common::ObNewRow *&row) override; private: + static const int32_t PATH_BUFSIZE = 512; bool is_inited_; + bool is_config_cgroup_; char ip_buf_[common::OB_IP_STR_BUFF]; char tname_[16]; char wait_event_[64]; char wait_addr_[16]; char locks_addr_[256]; char trace_id_buf_[40]; + char cgroup_path_buf_[PATH_BUFSIZE]; private: DISALLOW_COPY_AND_ASSIGN(ObAllVirtualThread); diff --git a/src/observer/virtual_table/ob_virtual_table_iterator_factory.cpp b/src/observer/virtual_table/ob_virtual_table_iterator_factory.cpp index a3eabfc33..7166140f7 100644 --- a/src/observer/virtual_table/ob_virtual_table_iterator_factory.cpp +++ b/src/observer/virtual_table/ob_virtual_table_iterator_factory.cpp @@ -212,6 +212,7 @@ #include "observer/virtual_table/ob_all_virtual_px_p2p_datahub.h" #include "observer/virtual_table/ob_all_virtual_ls_log_restore_status.h" #include "observer/virtual_table/ob_all_virtual_tablet_buffer_info.h" +#include "observer/virtual_table/ob_all_virtual_cgroup_config.h" #include "observer/virtual_table/ob_virtual_flt_config.h" #include "observer/virtual_table/ob_all_virtual_tenant_snapshot_ls_replica.h" #include "observer/virtual_table/ob_all_virtual_tenant_snapshot_ls_replica_history.h" @@ -2582,6 +2583,13 @@ int ObVTIterCreator::create_vt_iter(ObVTableScanParam ¶ms, } break; } + case OB_ALL_VIRTUAL_CGROUP_CONFIG_TID: { + ObAllVirtualCgroupConfig *all_virtual_cgroup_config = NULL; + if (OB_SUCC(NEW_VIRTUAL_TABLE(ObAllVirtualCgroupConfig, all_virtual_cgroup_config))) { + vt_iter = static_cast(all_virtual_cgroup_config); + } + break; + } END_CREATE_VT_ITER_SWITCH_LAMBDA #define AGENT_VIRTUAL_TABLE_CREATE_ITER diff --git a/src/share/inner_table/ob_inner_table_schema.12401_12450.cpp b/src/share/inner_table/ob_inner_table_schema.12401_12450.cpp index e2e3df408..6642d2094 100644 --- a/src/share/inner_table/ob_inner_table_schema.12401_12450.cpp +++ b/src/share/inner_table/ob_inner_table_schema.12401_12450.cpp @@ -4243,6 +4243,150 @@ int ObInnerTableSchema::all_virtual_balance_group_ls_stat_schema(ObTableSchema & return ret; } +int ObInnerTableSchema::all_virtual_cgroup_config_schema(ObTableSchema &table_schema) +{ + int ret = OB_SUCCESS; + uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1; + + //generated fields: + table_schema.set_tenant_id(OB_SYS_TENANT_ID); + table_schema.set_tablegroup_id(OB_INVALID_ID); + table_schema.set_database_id(OB_SYS_DATABASE_ID); + table_schema.set_table_id(OB_ALL_VIRTUAL_CGROUP_CONFIG_TID); + table_schema.set_rowkey_split_pos(0); + table_schema.set_is_use_bloomfilter(false); + table_schema.set_progressive_merge_num(0); + table_schema.set_rowkey_column_num(0); + table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK); + table_schema.set_table_type(VIRTUAL_TABLE); + table_schema.set_index_type(INDEX_TYPE_IS_NOT); + table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_table_name(OB_ALL_VIRTUAL_CGROUP_CONFIG_TNAME))) { + LOG_ERROR("fail to set table_name", K(ret)); + } + } + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) { + LOG_ERROR("fail to set compress_func_name", K(ret)); + } + } + table_schema.set_part_level(PARTITION_LEVEL_ZERO); + table_schema.set_charset_type(ObCharset::get_default_charset()); + table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset())); + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("svr_ip", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 1, //part_key_pos + ObVarcharType, //column_type + CS_TYPE_INVALID, //column_collation_type + MAX_IP_ADDR_LENGTH, //column_length + -1, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("svr_port", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 2, //part_key_pos + ObIntType, //column_type + CS_TYPE_INVALID, //column_collation_type + sizeof(int64_t), //column_length + -1, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("cfs_quota_us", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObIntType, //column_type + CS_TYPE_INVALID, //column_collation_type + sizeof(int64_t), //column_length + -1, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("cfs_period_us", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObIntType, //column_type + CS_TYPE_INVALID, //column_collation_type + sizeof(int64_t), //column_length + -1, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("shares", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObIntType, //column_type + CS_TYPE_INVALID, //column_collation_type + sizeof(int64_t), //column_length + -1, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("cgroup_path", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObVarcharType, //column_type + CS_TYPE_INVALID, //column_collation_type + 256, //column_length + -1, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + if (OB_SUCC(ret)) { + table_schema.get_part_option().set_part_num(1); + table_schema.set_part_level(PARTITION_LEVEL_ONE); + table_schema.get_part_option().set_part_func_type(PARTITION_FUNC_TYPE_LIST_COLUMNS); + if (OB_FAIL(table_schema.get_part_option().set_part_expr("svr_ip, svr_port"))) { + LOG_WARN("set_part_expr failed", K(ret)); + } else if (OB_FAIL(table_schema.mock_list_partition_array())) { + LOG_WARN("mock list partition array failed", K(ret)); + } + } + table_schema.set_index_using_type(USING_HASH); + table_schema.set_row_store_type(ENCODING_ROW_STORE); + table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL); + table_schema.set_progressive_merge_round(1); + table_schema.set_storage_format_version(3); + table_schema.set_tablet_id(0); + + table_schema.set_max_used_column_id(column_id); + return ret; +} + int ObInnerTableSchema::all_virtual_flt_config_schema(ObTableSchema &table_schema) { int ret = OB_SUCCESS; diff --git a/src/share/inner_table/ob_inner_table_schema.15401_15450.cpp b/src/share/inner_table/ob_inner_table_schema.15401_15450.cpp index f5cd9c8f3..739d59f5f 100644 --- a/src/share/inner_table/ob_inner_table_schema.15401_15450.cpp +++ b/src/share/inner_table/ob_inner_table_schema.15401_15450.cpp @@ -4793,6 +4793,150 @@ int ObInnerTableSchema::all_virtual_column_group_mapping_real_agent_ora_schema(O return ret; } +int ObInnerTableSchema::all_virtual_cgroup_config_ora_schema(ObTableSchema &table_schema) +{ + int ret = OB_SUCCESS; + uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1; + + //generated fields: + table_schema.set_tenant_id(OB_SYS_TENANT_ID); + table_schema.set_tablegroup_id(OB_INVALID_ID); + table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID); + table_schema.set_table_id(OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TID); + table_schema.set_rowkey_split_pos(0); + table_schema.set_is_use_bloomfilter(false); + table_schema.set_progressive_merge_num(0); + table_schema.set_rowkey_column_num(0); + table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK); + table_schema.set_table_type(VIRTUAL_TABLE); + table_schema.set_index_type(INDEX_TYPE_IS_NOT); + table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_table_name(OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TNAME))) { + LOG_ERROR("fail to set table_name", K(ret)); + } + } + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) { + LOG_ERROR("fail to set compress_func_name", K(ret)); + } + } + table_schema.set_part_level(PARTITION_LEVEL_ZERO); + table_schema.set_charset_type(ObCharset::get_default_charset()); + table_schema.set_collation_type(ObCollationType::CS_TYPE_UTF8MB4_BIN); + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("SVR_IP", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 1, //part_key_pos + ObVarcharType, //column_type + CS_TYPE_UTF8MB4_BIN, //column_collation_type + MAX_IP_ADDR_LENGTH, //column_length + 2, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("SVR_PORT", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 2, //part_key_pos + ObNumberType, //column_type + CS_TYPE_INVALID, //column_collation_type + 38, //column_length + 38, //column_precision + 0, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("CFS_QUOTA_US", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObNumberType, //column_type + CS_TYPE_INVALID, //column_collation_type + 38, //column_length + 38, //column_precision + 0, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("CFS_PERIOD_US", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObNumberType, //column_type + CS_TYPE_INVALID, //column_collation_type + 38, //column_length + 38, //column_precision + 0, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("SHARES", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObNumberType, //column_type + CS_TYPE_INVALID, //column_collation_type + 38, //column_length + 38, //column_precision + 0, //column_scale + false, //is_nullable + false); //is_autoincrement + } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("CGROUP_PATH", //column_name + ++column_id, //column_id + 0, //rowkey_id + 0, //index_id + 0, //part_key_pos + ObVarcharType, //column_type + CS_TYPE_UTF8MB4_BIN, //column_collation_type + 256, //column_length + 2, //column_precision + -1, //column_scale + false, //is_nullable + false); //is_autoincrement + } + if (OB_SUCC(ret)) { + table_schema.get_part_option().set_part_num(1); + table_schema.set_part_level(PARTITION_LEVEL_ONE); + table_schema.get_part_option().set_part_func_type(PARTITION_FUNC_TYPE_LIST); + if (OB_FAIL(table_schema.get_part_option().set_part_expr("SVR_IP, SVR_PORT"))) { + LOG_WARN("set_part_expr failed", K(ret)); + } else if (OB_FAIL(table_schema.mock_list_partition_array())) { + LOG_WARN("mock list partition array failed", K(ret)); + } + } + table_schema.set_index_using_type(USING_HASH); + table_schema.set_row_store_type(ENCODING_ROW_STORE); + table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL); + table_schema.set_progressive_merge_round(1); + table_schema.set_storage_format_version(3); + table_schema.set_tablet_id(0); + + table_schema.set_max_used_column_id(column_id); + return ret; +} + int ObInnerTableSchema::all_virtual_column_group_history_ora_schema(ObTableSchema &table_schema) { int ret = OB_SUCCESS; diff --git a/src/share/inner_table/ob_inner_table_schema.21351_21400.cpp b/src/share/inner_table/ob_inner_table_schema.21351_21400.cpp index 6f9251ca2..926a6d4bf 100644 --- a/src/share/inner_table/ob_inner_table_schema.21351_21400.cpp +++ b/src/share/inner_table/ob_inner_table_schema.21351_21400.cpp @@ -1360,7 +1360,7 @@ int ObInnerTableSchema::gv_ob_thread_schema(ObTableSchema &table_schema) table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset())); if (OB_SUCC(ret)) { - if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT svr_ip AS SVR_IP, svr_port AS SVR_PORT, tenant_id AS TENANT_ID, tid AS TID, tname AS TNAME, status AS STATUS, latch_wait AS LATCH_WAIT, latch_hold AS LATCH_HOLD, trace_id AS TRACE_ID FROM oceanbase.__all_virtual_thread )__"))) { + if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT svr_ip AS SVR_IP, svr_port AS SVR_PORT, tenant_id AS TENANT_ID, tid AS TID, tname AS TNAME, status AS STATUS, latch_wait AS LATCH_WAIT, latch_hold AS LATCH_HOLD, trace_id AS TRACE_ID, cgroup_path AS CGROUP_PATH FROM oceanbase.__all_virtual_thread )__"))) { LOG_ERROR("fail to set view_definition", K(ret)); } } diff --git a/src/share/inner_table/ob_inner_table_schema.21451_21500.cpp b/src/share/inner_table/ob_inner_table_schema.21451_21500.cpp index cae4afa00..7be295d6e 100644 --- a/src/share/inner_table/ob_inner_table_schema.21451_21500.cpp +++ b/src/share/inner_table/ob_inner_table_schema.21451_21500.cpp @@ -725,6 +725,106 @@ int ObInnerTableSchema::v_ob_tenant_runtime_info_schema(ObTableSchema &table_sch return ret; } +int ObInnerTableSchema::gv_ob_cgroup_config_schema(ObTableSchema &table_schema) +{ + int ret = OB_SUCCESS; + uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1; + + //generated fields: + table_schema.set_tenant_id(OB_SYS_TENANT_ID); + table_schema.set_tablegroup_id(OB_INVALID_ID); + table_schema.set_database_id(OB_SYS_DATABASE_ID); + table_schema.set_table_id(OB_GV_OB_CGROUP_CONFIG_TID); + table_schema.set_rowkey_split_pos(0); + table_schema.set_is_use_bloomfilter(false); + table_schema.set_progressive_merge_num(0); + table_schema.set_rowkey_column_num(0); + table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK); + table_schema.set_table_type(SYSTEM_VIEW); + table_schema.set_index_type(INDEX_TYPE_IS_NOT); + table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_table_name(OB_GV_OB_CGROUP_CONFIG_TNAME))) { + LOG_ERROR("fail to set table_name", K(ret)); + } + } + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) { + LOG_ERROR("fail to set compress_func_name", K(ret)); + } + } + table_schema.set_part_level(PARTITION_LEVEL_ZERO); + table_schema.set_charset_type(ObCharset::get_default_charset()); + table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset())); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT svr_ip AS SVR_IP, svr_port AS SVR_PORT, cfs_quota_us AS CFS_QUOTA_US, cfs_period_us AS CFS_PERIOD_US, shares AS SHARES, cgroup_path AS CGROUP_PATH FROM oceanbase.__all_virtual_cgroup_config )__"))) { + LOG_ERROR("fail to set view_definition", K(ret)); + } + } + table_schema.set_index_using_type(USING_BTREE); + table_schema.set_row_store_type(ENCODING_ROW_STORE); + table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL); + table_schema.set_progressive_merge_round(1); + table_schema.set_storage_format_version(3); + table_schema.set_tablet_id(0); + + table_schema.set_max_used_column_id(column_id); + return ret; +} + +int ObInnerTableSchema::v_ob_cgroup_config_schema(ObTableSchema &table_schema) +{ + int ret = OB_SUCCESS; + uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1; + + //generated fields: + table_schema.set_tenant_id(OB_SYS_TENANT_ID); + table_schema.set_tablegroup_id(OB_INVALID_ID); + table_schema.set_database_id(OB_SYS_DATABASE_ID); + table_schema.set_table_id(OB_V_OB_CGROUP_CONFIG_TID); + table_schema.set_rowkey_split_pos(0); + table_schema.set_is_use_bloomfilter(false); + table_schema.set_progressive_merge_num(0); + table_schema.set_rowkey_column_num(0); + table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK); + table_schema.set_table_type(SYSTEM_VIEW); + table_schema.set_index_type(INDEX_TYPE_IS_NOT); + table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_table_name(OB_V_OB_CGROUP_CONFIG_TNAME))) { + LOG_ERROR("fail to set table_name", K(ret)); + } + } + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) { + LOG_ERROR("fail to set compress_func_name", K(ret)); + } + } + table_schema.set_part_level(PARTITION_LEVEL_ZERO); + table_schema.set_charset_type(ObCharset::get_default_charset()); + table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset())); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT * FROM oceanbase.GV$OB_CGROUP_CONFIG WHERE SVR_IP=HOST_IP() AND SVR_PORT=RPC_PORT() )__"))) { + LOG_ERROR("fail to set view_definition", K(ret)); + } + } + table_schema.set_index_using_type(USING_BTREE); + table_schema.set_row_store_type(ENCODING_ROW_STORE); + table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL); + table_schema.set_progressive_merge_round(1); + table_schema.set_storage_format_version(3); + table_schema.set_tablet_id(0); + + table_schema.set_max_used_column_id(column_id); + return ret; +} + int ObInnerTableSchema::dba_ob_aux_statistics_schema(ObTableSchema &table_schema) { int ret = OB_SUCCESS; diff --git a/src/share/inner_table/ob_inner_table_schema.28201_28250.cpp b/src/share/inner_table/ob_inner_table_schema.28201_28250.cpp index ca52d3db4..11df2f48f 100644 --- a/src/share/inner_table/ob_inner_table_schema.28201_28250.cpp +++ b/src/share/inner_table/ob_inner_table_schema.28201_28250.cpp @@ -25,6 +25,106 @@ using namespace common; namespace share { +int ObInnerTableSchema::gv_ob_cgroup_config_ora_schema(ObTableSchema &table_schema) +{ + int ret = OB_SUCCESS; + uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1; + + //generated fields: + table_schema.set_tenant_id(OB_SYS_TENANT_ID); + table_schema.set_tablegroup_id(OB_INVALID_ID); + table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID); + table_schema.set_table_id(OB_GV_OB_CGROUP_CONFIG_ORA_TID); + table_schema.set_rowkey_split_pos(0); + table_schema.set_is_use_bloomfilter(false); + table_schema.set_progressive_merge_num(0); + table_schema.set_rowkey_column_num(0); + table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK); + table_schema.set_table_type(SYSTEM_VIEW); + table_schema.set_index_type(INDEX_TYPE_IS_NOT); + table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_table_name(OB_GV_OB_CGROUP_CONFIG_ORA_TNAME))) { + LOG_ERROR("fail to set table_name", K(ret)); + } + } + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) { + LOG_ERROR("fail to set compress_func_name", K(ret)); + } + } + table_schema.set_part_level(PARTITION_LEVEL_ZERO); + table_schema.set_charset_type(ObCharset::get_default_charset()); + table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset())); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT svr_ip AS SVR_IP, svr_port AS SVR_PORT, cfs_quota_us AS CFS_QUOTA_US, cfs_period_us AS CFS_PERIOD_US, shares AS SHARES, cgroup_path AS CGROUP_PATH FROM SYS.ALL_VIRTUAL_CGROUP_CONFIG )__"))) { + LOG_ERROR("fail to set view_definition", K(ret)); + } + } + table_schema.set_index_using_type(USING_BTREE); + table_schema.set_row_store_type(ENCODING_ROW_STORE); + table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL); + table_schema.set_progressive_merge_round(1); + table_schema.set_storage_format_version(3); + table_schema.set_tablet_id(0); + + table_schema.set_max_used_column_id(column_id); + return ret; +} + +int ObInnerTableSchema::v_ob_cgroup_config_ora_schema(ObTableSchema &table_schema) +{ + int ret = OB_SUCCESS; + uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1; + + //generated fields: + table_schema.set_tenant_id(OB_SYS_TENANT_ID); + table_schema.set_tablegroup_id(OB_INVALID_ID); + table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID); + table_schema.set_table_id(OB_V_OB_CGROUP_CONFIG_ORA_TID); + table_schema.set_rowkey_split_pos(0); + table_schema.set_is_use_bloomfilter(false); + table_schema.set_progressive_merge_num(0); + table_schema.set_rowkey_column_num(0); + table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK); + table_schema.set_table_type(SYSTEM_VIEW); + table_schema.set_index_type(INDEX_TYPE_IS_NOT); + table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_table_name(OB_V_OB_CGROUP_CONFIG_ORA_TNAME))) { + LOG_ERROR("fail to set table_name", K(ret)); + } + } + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) { + LOG_ERROR("fail to set compress_func_name", K(ret)); + } + } + table_schema.set_part_level(PARTITION_LEVEL_ZERO); + table_schema.set_charset_type(ObCharset::get_default_charset()); + table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset())); + + if (OB_SUCC(ret)) { + if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT * FROM SYS.GV$OB_CGROUP_CONFIG WHERE SVR_IP=HOST_IP() AND SVR_PORT=RPC_PORT() )__"))) { + LOG_ERROR("fail to set view_definition", K(ret)); + } + } + table_schema.set_index_using_type(USING_BTREE); + table_schema.set_row_store_type(ENCODING_ROW_STORE); + table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL); + table_schema.set_progressive_merge_round(1); + table_schema.set_storage_format_version(3); + table_schema.set_tablet_id(0); + + table_schema.set_max_used_column_id(column_id); + return ret; +} + int ObInnerTableSchema::dba_ob_aux_statistics_ora_schema(ObTableSchema &table_schema) { int ret = OB_SUCCESS; diff --git a/src/share/inner_table/ob_inner_table_schema.h b/src/share/inner_table/ob_inner_table_schema.h index 084e94b8f..0c6f07aaa 100644 --- a/src/share/inner_table/ob_inner_table_schema.h +++ b/src/share/inner_table/ob_inner_table_schema.h @@ -980,6 +980,7 @@ public: static int all_virtual_tenant_event_history_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_balance_task_helper_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_balance_group_ls_stat_schema(share::schema::ObTableSchema &table_schema); + static int all_virtual_cgroup_config_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_flt_config_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_tenant_scheduler_job_class_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_recover_table_job_schema(share::schema::ObTableSchema &table_schema); @@ -1255,6 +1256,7 @@ public: static int all_virtual_import_table_task_history_ora_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_ls_info_ora_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_column_group_mapping_real_agent_ora_schema(share::schema::ObTableSchema &table_schema); + static int all_virtual_cgroup_config_ora_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_column_group_history_ora_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_column_group_mapping_history_ora_schema(share::schema::ObTableSchema &table_schema); static int all_virtual_aux_stat_real_agent_ora_schema(share::schema::ObTableSchema &table_schema); @@ -1643,6 +1645,8 @@ public: static int dba_ob_import_table_task_history_schema(share::schema::ObTableSchema &table_schema); static int gv_ob_tenant_runtime_info_schema(share::schema::ObTableSchema &table_schema); static int v_ob_tenant_runtime_info_schema(share::schema::ObTableSchema &table_schema); + static int gv_ob_cgroup_config_schema(share::schema::ObTableSchema &table_schema); + static int v_ob_cgroup_config_schema(share::schema::ObTableSchema &table_schema); static int dba_ob_aux_statistics_schema(share::schema::ObTableSchema &table_schema); static int cdb_ob_aux_statistics_schema(share::schema::ObTableSchema &table_schema); static int dba_index_usage_schema(share::schema::ObTableSchema &table_schema); @@ -2082,6 +2086,8 @@ public: static int v_ob_timestamp_service_ora_schema(share::schema::ObTableSchema &table_schema); static int v_ob_ls_log_restore_status_ora_schema(share::schema::ObTableSchema &table_schema); static int gv_ob_flt_trace_config_ora_schema(share::schema::ObTableSchema &table_schema); + static int gv_ob_cgroup_config_ora_schema(share::schema::ObTableSchema &table_schema); + static int v_ob_cgroup_config_ora_schema(share::schema::ObTableSchema &table_schema); static int dba_ob_aux_statistics_ora_schema(share::schema::ObTableSchema &table_schema); static int dba_index_usage_ora_schema(share::schema::ObTableSchema &table_schema); static int gv_ob_ls_snapshots_ora_schema(share::schema::ObTableSchema &table_schema); @@ -3549,6 +3555,7 @@ const schema_create_func virtual_table_schema_creators [] = { ObInnerTableSchema::all_virtual_tenant_event_history_schema, ObInnerTableSchema::all_virtual_balance_task_helper_schema, ObInnerTableSchema::all_virtual_balance_group_ls_stat_schema, + ObInnerTableSchema::all_virtual_cgroup_config_schema, ObInnerTableSchema::all_virtual_flt_config_schema, ObInnerTableSchema::all_virtual_tenant_scheduler_job_class_schema, ObInnerTableSchema::all_virtual_recover_table_job_schema, @@ -3834,6 +3841,7 @@ const schema_create_func virtual_table_schema_creators [] = { ObInnerTableSchema::all_virtual_import_table_task_history_ora_schema, ObInnerTableSchema::all_virtual_ls_info_ora_schema, ObInnerTableSchema::all_virtual_column_group_mapping_real_agent_ora_schema, + ObInnerTableSchema::all_virtual_cgroup_config_ora_schema, ObInnerTableSchema::all_virtual_column_group_history_ora_schema, ObInnerTableSchema::all_virtual_column_group_mapping_history_ora_schema, ObInnerTableSchema::all_virtual_aux_stat_real_agent_ora_schema, @@ -4306,6 +4314,8 @@ const schema_create_func sys_view_schema_creators [] = { ObInnerTableSchema::dba_ob_import_table_task_history_schema, ObInnerTableSchema::gv_ob_tenant_runtime_info_schema, ObInnerTableSchema::v_ob_tenant_runtime_info_schema, + ObInnerTableSchema::gv_ob_cgroup_config_schema, + ObInnerTableSchema::v_ob_cgroup_config_schema, ObInnerTableSchema::dba_ob_aux_statistics_schema, ObInnerTableSchema::cdb_ob_aux_statistics_schema, ObInnerTableSchema::dba_index_usage_schema, @@ -4745,6 +4755,8 @@ const schema_create_func sys_view_schema_creators [] = { ObInnerTableSchema::v_ob_timestamp_service_ora_schema, ObInnerTableSchema::v_ob_ls_log_restore_status_ora_schema, ObInnerTableSchema::gv_ob_flt_trace_config_ora_schema, + ObInnerTableSchema::gv_ob_cgroup_config_ora_schema, + ObInnerTableSchema::v_ob_cgroup_config_ora_schema, ObInnerTableSchema::dba_ob_aux_statistics_ora_schema, ObInnerTableSchema::dba_index_usage_ora_schema, ObInnerTableSchema::gv_ob_ls_snapshots_ora_schema, @@ -5329,6 +5341,7 @@ const uint64_t tenant_space_tables [] = { OB_ALL_VIRTUAL_MVIEW_REFRESH_STMT_STATS_TID, OB_ALL_VIRTUAL_WR_CONTROL_TID, OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_TID, + OB_ALL_VIRTUAL_CGROUP_CONFIG_TID, OB_ALL_VIRTUAL_FLT_CONFIG_TID, OB_ALL_VIRTUAL_RECOVER_TABLE_JOB_TID, OB_ALL_VIRTUAL_RECOVER_TABLE_JOB_HISTORY_TID, @@ -5610,6 +5623,7 @@ const uint64_t tenant_space_tables [] = { OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_ORA_TID, OB_ALL_VIRTUAL_LS_INFO_ORA_TID, OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_REAL_AGENT_ORA_TID, + OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TID, OB_ALL_VIRTUAL_COLUMN_GROUP_HISTORY_ORA_TID, OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY_ORA_TID, OB_ALL_VIRTUAL_AUX_STAT_REAL_AGENT_ORA_TID, @@ -5886,6 +5900,8 @@ const uint64_t tenant_space_tables [] = { OB_DBA_OB_IMPORT_TABLE_JOB_HISTORY_TID, OB_DBA_OB_IMPORT_TABLE_TASKS_TID, OB_DBA_OB_IMPORT_TABLE_TASK_HISTORY_TID, + OB_GV_OB_CGROUP_CONFIG_TID, + OB_V_OB_CGROUP_CONFIG_TID, OB_DBA_OB_AUX_STATISTICS_TID, OB_DBA_INDEX_USAGE_TID, OB_GV_OB_LS_SNAPSHOTS_TID, @@ -6320,6 +6336,8 @@ const uint64_t tenant_space_tables [] = { OB_V_OB_TIMESTAMP_SERVICE_ORA_TID, OB_V_OB_LS_LOG_RESTORE_STATUS_ORA_TID, OB_GV_OB_FLT_TRACE_CONFIG_ORA_TID, + OB_GV_OB_CGROUP_CONFIG_ORA_TID, + OB_V_OB_CGROUP_CONFIG_ORA_TID, OB_DBA_OB_AUX_STATISTICS_ORA_TID, OB_DBA_INDEX_USAGE_ORA_TID, OB_GV_OB_LS_SNAPSHOTS_ORA_TID, @@ -7151,6 +7169,7 @@ const uint64_t all_ora_mapping_virtual_table_org_tables [] = { OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_TID, OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_TID, OB_ALL_VIRTUAL_LS_INFO_TID, + OB_ALL_VIRTUAL_CGROUP_CONFIG_TID, OB_ALL_VIRTUAL_COLUMN_GROUP_HISTORY_TID, OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY_TID, OB_ALL_VIRTUAL_LS_SNAPSHOT_TID, }; @@ -7292,6 +7311,7 @@ const uint64_t all_ora_mapping_virtual_tables [] = { OB_ALL_VIRTUAL_SQL_AUDIT_O , OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_ORA_TID , OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_ORA_TID , OB_ALL_VIRTUAL_LS_INFO_ORA_TID +, OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TID , OB_ALL_VIRTUAL_COLUMN_GROUP_HISTORY_ORA_TID , OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY_ORA_TID , OB_ALL_VIRTUAL_LS_SNAPSHOT_ORA_TID @@ -7772,6 +7792,7 @@ const char* const tenant_space_table_names [] = { OB_ALL_VIRTUAL_MVIEW_REFRESH_STMT_STATS_TNAME, OB_ALL_VIRTUAL_WR_CONTROL_TNAME, OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_TNAME, + OB_ALL_VIRTUAL_CGROUP_CONFIG_TNAME, OB_ALL_VIRTUAL_FLT_CONFIG_TNAME, OB_ALL_VIRTUAL_RECOVER_TABLE_JOB_TNAME, OB_ALL_VIRTUAL_RECOVER_TABLE_JOB_HISTORY_TNAME, @@ -8053,6 +8074,7 @@ const char* const tenant_space_table_names [] = { OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_ORA_TNAME, OB_ALL_VIRTUAL_LS_INFO_ORA_TNAME, OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_REAL_AGENT_ORA_TNAME, + OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TNAME, OB_ALL_VIRTUAL_COLUMN_GROUP_HISTORY_ORA_TNAME, OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY_ORA_TNAME, OB_ALL_VIRTUAL_AUX_STAT_REAL_AGENT_ORA_TNAME, @@ -8329,6 +8351,8 @@ const char* const tenant_space_table_names [] = { OB_DBA_OB_IMPORT_TABLE_JOB_HISTORY_TNAME, OB_DBA_OB_IMPORT_TABLE_TASKS_TNAME, OB_DBA_OB_IMPORT_TABLE_TASK_HISTORY_TNAME, + OB_GV_OB_CGROUP_CONFIG_TNAME, + OB_V_OB_CGROUP_CONFIG_TNAME, OB_DBA_OB_AUX_STATISTICS_TNAME, OB_DBA_INDEX_USAGE_TNAME, OB_GV_OB_LS_SNAPSHOTS_TNAME, @@ -8763,6 +8787,8 @@ const char* const tenant_space_table_names [] = { OB_V_OB_TIMESTAMP_SERVICE_ORA_TNAME, OB_V_OB_LS_LOG_RESTORE_STATUS_ORA_TNAME, OB_GV_OB_FLT_TRACE_CONFIG_ORA_TNAME, + OB_GV_OB_CGROUP_CONFIG_ORA_TNAME, + OB_V_OB_CGROUP_CONFIG_ORA_TNAME, OB_DBA_OB_AUX_STATISTICS_ORA_TNAME, OB_DBA_INDEX_USAGE_ORA_TNAME, OB_GV_OB_LS_SNAPSHOTS_ORA_TNAME, @@ -9600,6 +9626,7 @@ const uint64_t tenant_distributed_vtables [] = { OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_TID, OB_ALL_VIRTUAL_PX_P2P_DATAHUB_TID, OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_TID, + OB_ALL_VIRTUAL_CGROUP_CONFIG_TID, OB_ALL_VIRTUAL_LS_SNAPSHOT_TID, OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TID, OB_ALL_VIRTUAL_SQL_AUDIT_ORA_ALL_VIRTUAL_SQL_AUDIT_I1_TID, @@ -9668,6 +9695,7 @@ const uint64_t tenant_distributed_vtables [] = { OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA_TID, OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TID, OB_ALL_VIRTUAL_LS_INFO_ORA_TID, + OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TID, OB_ALL_VIRTUAL_LS_SNAPSHOT_ORA_TID, }; const uint64_t restrict_access_virtual_tables[] = { @@ -9787,6 +9815,7 @@ const uint64_t restrict_access_virtual_tables[] = { OB_ALL_VIRTUAL_IMPORT_TABLE_JOB_HISTORY_ORA_TID, OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_ORA_TID, OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_ORA_TID, + OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TID, OB_ALL_VIRTUAL_LS_SNAPSHOT_ORA_TID, OB_ALL_VIRTUAL_INDEX_USAGE_INFO_REAL_AGENT_ORA_TID }; @@ -12229,11 +12258,11 @@ static inline int get_sys_table_lob_aux_schema(const uint64_t tid, const int64_t OB_CORE_TABLE_COUNT = 4; const int64_t OB_SYS_TABLE_COUNT = 279; -const int64_t OB_VIRTUAL_TABLE_COUNT = 777; -const int64_t OB_SYS_VIEW_COUNT = 826; -const int64_t OB_SYS_TENANT_TABLE_COUNT = 1887; +const int64_t OB_VIRTUAL_TABLE_COUNT = 779; +const int64_t OB_SYS_VIEW_COUNT = 830; +const int64_t OB_SYS_TENANT_TABLE_COUNT = 1893; const int64_t OB_CORE_SCHEMA_VERSION = 1; -const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 1890; +const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 1896; } // end namespace share } // end namespace oceanbase diff --git a/src/share/inner_table/ob_inner_table_schema_constants.h b/src/share/inner_table/ob_inner_table_schema_constants.h index f475b658a..0edb6bc8b 100644 --- a/src/share/inner_table/ob_inner_table_schema_constants.h +++ b/src/share/inner_table/ob_inner_table_schema_constants.h @@ -716,6 +716,7 @@ const uint64_t OB_ALL_VIRTUAL_WR_CONTROL_TID = 12414; // "__all_virtual_wr_contr const uint64_t OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_TID = 12415; // "__all_virtual_tenant_event_history" const uint64_t OB_ALL_VIRTUAL_BALANCE_TASK_HELPER_TID = 12416; // "__all_virtual_balance_task_helper" const uint64_t OB_ALL_VIRTUAL_BALANCE_GROUP_LS_STAT_TID = 12417; // "__all_virtual_balance_group_ls_stat" +const uint64_t OB_ALL_VIRTUAL_CGROUP_CONFIG_TID = 12419; // "__all_virtual_cgroup_config" const uint64_t OB_ALL_VIRTUAL_FLT_CONFIG_TID = 12420; // "__all_virtual_flt_config" const uint64_t OB_ALL_VIRTUAL_TENANT_SCHEDULER_JOB_CLASS_TID = 12421; // "__all_virtual_tenant_scheduler_job_class" const uint64_t OB_ALL_VIRTUAL_RECOVER_TABLE_JOB_TID = 12422; // "__all_virtual_recover_table_job" @@ -991,6 +992,7 @@ const uint64_t OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_ORA_TID = 15411; // "ALL_VIRTUAL const uint64_t OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_ORA_TID = 15412; // "ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_ORA" const uint64_t OB_ALL_VIRTUAL_LS_INFO_ORA_TID = 15414; // "ALL_VIRTUAL_LS_INFO_ORA" const uint64_t OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_REAL_AGENT_ORA_TID = 15417; // "ALL_VIRTUAL_COLUMN_GROUP_MAPPING_REAL_AGENT_ORA" +const uint64_t OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TID = 15418; // "ALL_VIRTUAL_CGROUP_CONFIG_ORA" const uint64_t OB_ALL_VIRTUAL_COLUMN_GROUP_HISTORY_ORA_TID = 15419; // "ALL_VIRTUAL_COLUMN_GROUP_HISTORY_ORA" const uint64_t OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY_ORA_TID = 15420; // "ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY_ORA" const uint64_t OB_ALL_VIRTUAL_AUX_STAT_REAL_AGENT_ORA_TID = 15427; // "ALL_VIRTUAL_AUX_STAT_REAL_AGENT_ORA" @@ -1379,6 +1381,8 @@ const uint64_t OB_CDB_OB_IMPORT_TABLE_TASK_HISTORY_TID = 21473; // "CDB_OB_IMPOR const uint64_t OB_DBA_OB_IMPORT_TABLE_TASK_HISTORY_TID = 21474; // "DBA_OB_IMPORT_TABLE_TASK_HISTORY" const uint64_t OB_GV_OB_TENANT_RUNTIME_INFO_TID = 21477; // "GV$OB_TENANT_RUNTIME_INFO" const uint64_t OB_V_OB_TENANT_RUNTIME_INFO_TID = 21478; // "V$OB_TENANT_RUNTIME_INFO" +const uint64_t OB_GV_OB_CGROUP_CONFIG_TID = 21479; // "GV$OB_CGROUP_CONFIG" +const uint64_t OB_V_OB_CGROUP_CONFIG_TID = 21480; // "V$OB_CGROUP_CONFIG" const uint64_t OB_DBA_OB_AUX_STATISTICS_TID = 21497; // "DBA_OB_AUX_STATISTICS" const uint64_t OB_CDB_OB_AUX_STATISTICS_TID = 21498; // "CDB_OB_AUX_STATISTICS" const uint64_t OB_DBA_INDEX_USAGE_TID = 21499; // "DBA_INDEX_USAGE" @@ -1818,6 +1822,8 @@ const uint64_t OB_V_OB_ARBITRATION_SERVICE_STATUS_ORA_TID = 28192; // "V$OB_ARBI const uint64_t OB_V_OB_TIMESTAMP_SERVICE_ORA_TID = 28193; // "V$OB_TIMESTAMP_SERVICE_ORA" const uint64_t OB_V_OB_LS_LOG_RESTORE_STATUS_ORA_TID = 28194; // "V$OB_LS_LOG_RESTORE_STATUS_ORA" const uint64_t OB_GV_OB_FLT_TRACE_CONFIG_ORA_TID = 28195; // "GV$OB_FLT_TRACE_CONFIG_ORA" +const uint64_t OB_GV_OB_CGROUP_CONFIG_ORA_TID = 28200; // "GV$OB_CGROUP_CONFIG_ORA" +const uint64_t OB_V_OB_CGROUP_CONFIG_ORA_TID = 28201; // "V$OB_CGROUP_CONFIG_ORA" const uint64_t OB_DBA_OB_AUX_STATISTICS_ORA_TID = 28210; // "DBA_OB_AUX_STATISTICS_ORA" const uint64_t OB_DBA_INDEX_USAGE_ORA_TID = 28214; // "DBA_INDEX_USAGE_ORA" const uint64_t OB_GV_OB_LS_SNAPSHOTS_ORA_TID = 28215; // "GV$OB_LS_SNAPSHOTS_ORA" @@ -3269,6 +3275,7 @@ const char *const OB_ALL_VIRTUAL_WR_CONTROL_TNAME = "__all_virtual_wr_control"; const char *const OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_TNAME = "__all_virtual_tenant_event_history"; const char *const OB_ALL_VIRTUAL_BALANCE_TASK_HELPER_TNAME = "__all_virtual_balance_task_helper"; const char *const OB_ALL_VIRTUAL_BALANCE_GROUP_LS_STAT_TNAME = "__all_virtual_balance_group_ls_stat"; +const char *const OB_ALL_VIRTUAL_CGROUP_CONFIG_TNAME = "__all_virtual_cgroup_config"; const char *const OB_ALL_VIRTUAL_FLT_CONFIG_TNAME = "__all_virtual_flt_config"; const char *const OB_ALL_VIRTUAL_TENANT_SCHEDULER_JOB_CLASS_TNAME = "__all_virtual_tenant_scheduler_job_class"; const char *const OB_ALL_VIRTUAL_RECOVER_TABLE_JOB_TNAME = "__all_virtual_recover_table_job"; @@ -3544,6 +3551,7 @@ const char *const OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_ORA_TNAME = "ALL_VIRTUAL_IMPO const char *const OB_ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY_ORA_TNAME = "ALL_VIRTUAL_IMPORT_TABLE_TASK_HISTORY"; const char *const OB_ALL_VIRTUAL_LS_INFO_ORA_TNAME = "ALL_VIRTUAL_LS_INFO"; const char *const OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_REAL_AGENT_ORA_TNAME = "ALL_VIRTUAL_COLUMN_GROUP_MAPPING_REAL_AGENT"; +const char *const OB_ALL_VIRTUAL_CGROUP_CONFIG_ORA_TNAME = "ALL_VIRTUAL_CGROUP_CONFIG"; const char *const OB_ALL_VIRTUAL_COLUMN_GROUP_HISTORY_ORA_TNAME = "ALL_VIRTUAL_COLUMN_GROUP_HISTORY"; const char *const OB_ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY_ORA_TNAME = "ALL_VIRTUAL_COLUMN_GROUP_MAPPING_HISTORY"; const char *const OB_ALL_VIRTUAL_AUX_STAT_REAL_AGENT_ORA_TNAME = "ALL_VIRTUAL_AUX_STAT_REAL_AGENT"; @@ -3932,6 +3940,8 @@ const char *const OB_CDB_OB_IMPORT_TABLE_TASK_HISTORY_TNAME = "CDB_OB_IMPORT_TAB const char *const OB_DBA_OB_IMPORT_TABLE_TASK_HISTORY_TNAME = "DBA_OB_IMPORT_TABLE_TASK_HISTORY"; const char *const OB_GV_OB_TENANT_RUNTIME_INFO_TNAME = "GV$OB_TENANT_RUNTIME_INFO"; const char *const OB_V_OB_TENANT_RUNTIME_INFO_TNAME = "V$OB_TENANT_RUNTIME_INFO"; +const char *const OB_GV_OB_CGROUP_CONFIG_TNAME = "GV$OB_CGROUP_CONFIG"; +const char *const OB_V_OB_CGROUP_CONFIG_TNAME = "V$OB_CGROUP_CONFIG"; const char *const OB_DBA_OB_AUX_STATISTICS_TNAME = "DBA_OB_AUX_STATISTICS"; const char *const OB_CDB_OB_AUX_STATISTICS_TNAME = "CDB_OB_AUX_STATISTICS"; const char *const OB_DBA_INDEX_USAGE_TNAME = "DBA_INDEX_USAGE"; @@ -4371,6 +4381,8 @@ const char *const OB_V_OB_ARBITRATION_SERVICE_STATUS_ORA_TNAME = "V$OB_ARBITRATI const char *const OB_V_OB_TIMESTAMP_SERVICE_ORA_TNAME = "V$OB_TIMESTAMP_SERVICE"; const char *const OB_V_OB_LS_LOG_RESTORE_STATUS_ORA_TNAME = "V$OB_LS_LOG_RESTORE_STATUS"; const char *const OB_GV_OB_FLT_TRACE_CONFIG_ORA_TNAME = "GV$OB_FLT_TRACE_CONFIG"; +const char *const OB_GV_OB_CGROUP_CONFIG_ORA_TNAME = "GV$OB_CGROUP_CONFIG"; +const char *const OB_V_OB_CGROUP_CONFIG_ORA_TNAME = "V$OB_CGROUP_CONFIG"; const char *const OB_DBA_OB_AUX_STATISTICS_ORA_TNAME = "DBA_OB_AUX_STATISTICS"; const char *const OB_DBA_INDEX_USAGE_ORA_TNAME = "DBA_INDEX_USAGE"; const char *const OB_GV_OB_LS_SNAPSHOTS_ORA_TNAME = "GV$OB_LS_SNAPSHOTS"; diff --git a/src/share/inner_table/ob_inner_table_schema_def.py b/src/share/inner_table/ob_inner_table_schema_def.py index 38cf524f1..91479f858 100644 --- a/src/share/inner_table/ob_inner_table_schema_def.py +++ b/src/share/inner_table/ob_inner_table_schema_def.py @@ -13595,7 +13595,25 @@ def_table_schema(**gen_iterate_private_virtual_table_def( keywords = all_def_keywords['__all_balance_group_ls_stat'])) # 12418: __all_virtual_cgroup_info -# 12419: __all_virtual_cgroup_config +def_table_schema( + owner = 'fengshuo.fs', + table_name = '__all_virtual_cgroup_config', + table_id = '12419', + table_type = 'VIRTUAL_TABLE', + in_tenant_space = True, + gm_columns = [], + rowkey_columns = [], + normal_columns = [ + ('svr_ip', 'varchar:MAX_IP_ADDR_LENGTH'), + ('svr_port', 'int'), + ('cfs_quota_us', 'int'), + ('cfs_period_us', 'int'), + ('shares', 'int'), + ('cgroup_path', 'varchar:256') + ], + partition_columns = ['svr_ip', 'svr_port'], + vtable_route_policy = 'distributed', +) def_table_schema( owner = 'guoyun.lgy', @@ -14173,7 +14191,8 @@ def_table_schema(**gen_oracle_mapping_virtual_table_def('15414', all_def_keyword def_table_schema(**gen_oracle_mapping_real_virtual_table_def('15417', all_def_keywords['__all_virtual_column_group_mapping'])) -# 15418: __all_virtual_cgroup_config +def_table_schema(**no_direct_access(gen_oracle_mapping_virtual_table_def('15418', all_def_keywords['__all_virtual_cgroup_config']))) + def_table_schema(**gen_oracle_mapping_virtual_table_def('15419', all_def_keywords['__all_virtual_column_group_history'])) def_table_schema(**gen_oracle_mapping_virtual_table_def('15420', all_def_keywords['__all_virtual_column_group_mapping_history'])) # 15421: __all_virtual_wr_system_event @@ -28615,7 +28634,8 @@ SELECT svr_ip AS SVR_IP, status AS STATUS, latch_wait AS LATCH_WAIT, latch_hold AS LATCH_HOLD, - trace_id AS TRACE_ID + trace_id AS TRACE_ID, + cgroup_path AS CGROUP_PATH FROM oceanbase.__all_virtual_thread """.replace("\n", " "), ) @@ -31380,8 +31400,42 @@ def_table_schema( """.replace("\n", " "), ) -#21479 GV$OB_CGROUP_CONFIG -#21480 V$OB_CGROUP_CONFIG +def_table_schema( + owner = 'huangrenhuang.hrh', + table_name = 'GV$OB_CGROUP_CONFIG', + table_id = '21479', + table_type = 'SYSTEM_VIEW', + gm_columns = [], + rowkey_columns = [], + normal_columns = [], + in_tenant_space = True, + view_definition = """ +SELECT svr_ip AS SVR_IP, + svr_port AS SVR_PORT, + cfs_quota_us AS CFS_QUOTA_US, + cfs_period_us AS CFS_PERIOD_US, + shares AS SHARES, + cgroup_path AS CGROUP_PATH +FROM oceanbase.__all_virtual_cgroup_config +""".replace("\n", " "), +) + +def_table_schema( + owner = 'huangrenhuang.hrh', + table_name = 'V$OB_CGROUP_CONFIG', + table_id = '21480', + table_type = 'SYSTEM_VIEW', + gm_columns = [], + rowkey_columns = [], + normal_columns = [], + in_tenant_space = True, + view_definition = """ +SELECT + * +FROM oceanbase.GV$OB_CGROUP_CONFIG +WHERE SVR_IP=HOST_IP() AND SVR_PORT=RPC_PORT() +""".replace("\n", " "), +) #21481 DBA_WR_SYSTEM_EVENT #21482 CDB_WR_SYSTEM_EVENT @@ -56641,8 +56695,46 @@ def_table_schema( # 28197: V$OB_SESSION # 28198: GV$OB_PL_CACHE_OBJECT # 28199: V$OB_PL_CACHE_OBJECT -# 28200: GV$OB_CGROUP_CONFIG -# 28201: V$OB_CGROUP_CONFIG +def_table_schema( + owner = 'huangrenhaung.hrh', + table_name = 'GV$OB_CGROUP_CONFIG', + name_postfix = '_ORA', + database_id = 'OB_ORA_SYS_DATABASE_ID', + table_id = '28200', + table_type = 'SYSTEM_VIEW', + gm_columns = [], + rowkey_columns = [], + normal_columns = [], + in_tenant_space = True, + view_definition = """ +SELECT svr_ip AS SVR_IP, + svr_port AS SVR_PORT, + cfs_quota_us AS CFS_QUOTA_US, + cfs_period_us AS CFS_PERIOD_US, + shares AS SHARES, + cgroup_path AS CGROUP_PATH +FROM SYS.ALL_VIRTUAL_CGROUP_CONFIG +""".replace("\n", " "), +) + +def_table_schema( + owner = 'huangrenhuang.hrh', + table_name = 'V$OB_CGROUP_CONFIG', + name_postfix = '_ORA', + database_id = 'OB_ORA_SYS_DATABASE_ID', + table_id = '28201', + table_type = 'SYSTEM_VIEW', + gm_columns = [], + rowkey_columns = [], + normal_columns = [], + in_tenant_space = True, + view_definition = """ +SELECT + * +FROM SYS.GV$OB_CGROUP_CONFIG +WHERE SVR_IP=HOST_IP() AND SVR_PORT=RPC_PORT() +""".replace("\n", " "), +) # 28203: GV$SQLSTAT # 28204: V$SQLSTAT # 28205: GV$SESS_TIME_MODEL diff --git a/tools/deploy/mysql_test/r/mysql/information_schema.result b/tools/deploy/mysql_test/r/mysql/information_schema.result index 3cf61e07a..055ab9852 100644 --- a/tools/deploy/mysql_test/r/mysql/information_schema.result +++ b/tools/deploy/mysql_test/r/mysql/information_schema.result @@ -350,6 +350,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | oceanbase | GV$LATCH | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_ARBITRATION_MEMBER_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_ARBITRATION_SERVICE_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | oceanbase | GV$OB_CGROUP_CONFIG | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_COMPACTION_DIAGNOSE_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_COMPACTION_PROGRESS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_COMPACTION_SUGGESTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | @@ -411,6 +412,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | oceanbase | V$OB_ARBITRATION_MEMBER_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_ARBITRATION_SERVICE_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_ARCHIVE_DEST_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | oceanbase | V$OB_CGROUP_CONFIG | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_COMPACTION_DIAGNOSE_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_COMPACTION_PROGRESS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_COMPACTION_SUGGESTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | @@ -671,6 +673,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | oceanbase | __all_virtual_backup_storage_info_history | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_backup_task | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_backup_task_history | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | oceanbase | __all_virtual_cgroup_config | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_checkpoint | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_clone_job | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_clone_job_history | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | @@ -1704,6 +1707,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | oceanbase | GV$LATCH | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_ARBITRATION_MEMBER_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_ARBITRATION_SERVICE_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | oceanbase | GV$OB_CGROUP_CONFIG | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_COMPACTION_DIAGNOSE_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_COMPACTION_PROGRESS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | GV$OB_COMPACTION_SUGGESTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | @@ -1765,6 +1769,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | oceanbase | V$OB_ARBITRATION_MEMBER_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_ARBITRATION_SERVICE_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_ARCHIVE_DEST_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | oceanbase | V$OB_CGROUP_CONFIG | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_COMPACTION_DIAGNOSE_INFO | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_COMPACTION_PROGRESS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | V$OB_COMPACTION_SUGGESTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | @@ -2024,6 +2029,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | oceanbase | __all_virtual_backup_storage_info_history | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_backup_task | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_backup_task_history | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | oceanbase | __all_virtual_cgroup_config | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_checkpoint | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_clone_job | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | oceanbase | __all_virtual_clone_job_history | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | diff --git a/tools/deploy/mysql_test/r/mysql/virtual_thread.result b/tools/deploy/mysql_test/r/mysql/virtual_thread.result index 29dff1126..bd4e5036c 100644 --- a/tools/deploy/mysql_test/r/mysql/virtual_thread.result +++ b/tools/deploy/mysql_test/r/mysql/virtual_thread.result @@ -23,6 +23,7 @@ STATUS varchar(32) NO NULL LATCH_WAIT varchar(16) NO NULL LATCH_HOLD varchar(256) NO NULL TRACE_ID varchar(40) NO NULL +CGROUP_PATH varchar(256) NO NULL select count(1) from oceanbase.__all_virtual_thread where tname = ""; count(1) 0 diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result index e7cc0dd21..dbe827b67 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result @@ -4841,6 +4841,7 @@ STATUS varchar(32) NO NULL LATCH_WAIT varchar(16) NO NULL LATCH_HOLD varchar(256) NO NULL TRACE_ID varchar(40) NO NULL +CGROUP_PATH varchar(256) NO NULL select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.GV$OB_THREAD limit 1); cnt 1 @@ -4855,6 +4856,7 @@ STATUS varchar(32) NO LATCH_WAIT varchar(16) NO LATCH_HOLD varchar(256) NO TRACE_ID varchar(40) NO +CGROUP_PATH varchar(256) NO select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_THREAD limit 1); cnt 1 @@ -5695,6 +5697,28 @@ COMMENT longtext YES select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.DBA_OB_IMPORT_TABLE_TASK_HISTORY limit 1); cnt 1 +desc oceanbase.GV$OB_CGROUP_CONFIG; +Field Type Null Key Default Extra +SVR_IP varchar(46) NO NULL +SVR_PORT bigint(20) NO NULL +CFS_QUOTA_US bigint(20) NO NULL +CFS_PERIOD_US bigint(20) NO NULL +SHARES bigint(20) NO NULL +CGROUP_PATH varchar(256) NO NULL +select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.GV$OB_CGROUP_CONFIG limit 1); +cnt +1 +desc oceanbase.V$OB_CGROUP_CONFIG; +Field Type Null Key Default Extra +SVR_IP varchar(46) NO +SVR_PORT bigint(20) NO +CFS_QUOTA_US bigint(20) NO +CFS_PERIOD_US bigint(20) NO +SHARES bigint(20) NO +CGROUP_PATH varchar(256) NO +select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_CGROUP_CONFIG limit 1); +cnt +1 desc oceanbase.DBA_OB_AUX_STATISTICS; Field Type Null Key Default Extra LAST_ANALYZED timestamp(6) NO NULL diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result index 19e09c449..97d7e7415 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result @@ -6738,6 +6738,7 @@ STATUS varchar(32) NO NULL LATCH_WAIT varchar(16) NO NULL LATCH_HOLD varchar(256) NO NULL TRACE_ID varchar(40) NO NULL +CGROUP_PATH varchar(256) NO NULL select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.GV$OB_THREAD limit 1); cnt 1 @@ -6752,6 +6753,7 @@ STATUS varchar(32) NO LATCH_WAIT varchar(16) NO LATCH_HOLD varchar(256) NO TRACE_ID varchar(40) NO +CGROUP_PATH varchar(256) NO select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_THREAD limit 1); cnt 1 @@ -8268,6 +8270,28 @@ LARGE_QUEUED bigint(20) NO select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_TENANT_RUNTIME_INFO limit 1); cnt 1 +desc oceanbase.GV$OB_CGROUP_CONFIG; +Field Type Null Key Default Extra +SVR_IP varchar(46) NO NULL +SVR_PORT bigint(20) NO NULL +CFS_QUOTA_US bigint(20) NO NULL +CFS_PERIOD_US bigint(20) NO NULL +SHARES bigint(20) NO NULL +CGROUP_PATH varchar(256) NO NULL +select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.GV$OB_CGROUP_CONFIG limit 1); +cnt +1 +desc oceanbase.V$OB_CGROUP_CONFIG; +Field Type Null Key Default Extra +SVR_IP varchar(46) NO +SVR_PORT bigint(20) NO +CFS_QUOTA_US bigint(20) NO +CFS_PERIOD_US bigint(20) NO +SHARES bigint(20) NO +CGROUP_PATH varchar(256) NO +select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_CGROUP_CONFIG limit 1); +cnt +1 desc oceanbase.DBA_OB_AUX_STATISTICS; Field Type Null Key Default Extra LAST_ANALYZED timestamp(6) NO NULL diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result index dc1e5bf95..d1b821866 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result @@ -4214,6 +4214,20 @@ error_msg varchar(512) YES NULL select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_tenant_event_history; IF(count(*) >= 0, 1, 0) 1 +desc oceanbase.__all_virtual_cgroup_config; +Field Type Null Key Default Extra +svr_ip varchar(46) NO NULL +svr_port bigint(20) NO NULL +cfs_quota_us bigint(20) NO NULL +cfs_period_us bigint(20) NO NULL +shares bigint(20) NO NULL +cgroup_path varchar(256) NO NULL +select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_cgroup_config; +IF(count(*) >= 0, 1, 0) +1 +"oceanbase.__all_virtual_cgroup_config runs in single server" +IF(count(*) >= 0, 1, 0) +1 desc oceanbase.__all_virtual_flt_config; Field Type Null Key Default Extra tenant_id bigint(20) NO NULL diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result index 3f77223e2..e85e03f19 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result @@ -8561,6 +8561,20 @@ balance_group_name varchar(512) NO select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_balance_group_ls_stat; IF(count(*) >= 0, 1, 0) 1 +desc oceanbase.__all_virtual_cgroup_config; +Field Type Null Key Default Extra +svr_ip varchar(46) NO NULL +svr_port bigint(20) NO NULL +cfs_quota_us bigint(20) NO NULL +cfs_period_us bigint(20) NO NULL +shares bigint(20) NO NULL +cgroup_path varchar(256) NO NULL +select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_cgroup_config; +IF(count(*) >= 0, 1, 0) +1 +"oceanbase.__all_virtual_cgroup_config runs in single server" +IF(count(*) >= 0, 1, 0) +1 desc oceanbase.__all_virtual_flt_config; Field Type Null Key Default Extra tenant_id bigint(20) NO NULL diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result index 42f76a45d..fb885beb6 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result @@ -688,6 +688,7 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr 12415 __all_virtual_tenant_event_history 2 201001 1 12416 __all_virtual_balance_task_helper 2 201001 1 12417 __all_virtual_balance_group_ls_stat 2 201001 1 +12419 __all_virtual_cgroup_config 2 201001 1 12420 __all_virtual_flt_config 2 201001 1 12421 __all_virtual_tenant_scheduler_job_class 2 201001 1 12422 __all_virtual_recover_table_job 2 201001 1 @@ -1089,6 +1090,8 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr 21474 DBA_OB_IMPORT_TABLE_TASK_HISTORY 1 201001 1 21477 GV$OB_TENANT_RUNTIME_INFO 1 201001 1 21478 V$OB_TENANT_RUNTIME_INFO 1 201001 1 +21479 GV$OB_CGROUP_CONFIG 1 201001 1 +21480 V$OB_CGROUP_CONFIG 1 201001 1 21497 DBA_OB_AUX_STATISTICS 1 201001 1 21498 CDB_OB_AUX_STATISTICS 1 201001 1 21499 DBA_INDEX_USAGE 1 201001 1