add __all_virtual_function_io_stat
This commit is contained in:
parent
efc242224a
commit
3fc8183f60
@ -110,7 +110,7 @@ namespace observer
|
||||
class ObServer
|
||||
{
|
||||
public:
|
||||
static const int64_t DEFAULT_ETHERNET_SPEED = 10000 / 8 * 1024 * 1024; // change from default 125m/s 1000Mbit to 1250MBps 10000Mbit
|
||||
static const int64_t DEFAULT_ETHERNET_SPEED = 10000 / 8 * 1024 * 1024; // change from default 1250m/s 10000Mbit to 1250MBps 10000Mbit
|
||||
static const int64_t DISK_USAGE_REPORT_INTERVAL = 1000L * 1000L * 60L; // 1min
|
||||
static const uint64_t DEFAULT_CPU_FREQUENCY = 2500 * 1000; // 2500 * 1000 khz
|
||||
static ObServer &get_instance();
|
||||
|
@ -500,7 +500,6 @@ int ObAllVirtualIOQuota::inner_get_next_row(common::ObNewRow *&row)
|
||||
ret = OB_ITER_END;
|
||||
} else {
|
||||
QuotaInfo &item = quota_infos_.at(quota_pos_);
|
||||
const int64_t IO_MODE_COUNT = static_cast<int64_t>(ObIOMode::MAX_MODE);
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < output_column_ids_.count(); ++i) {
|
||||
const uint64_t column_id = output_column_ids_.at(i);
|
||||
switch (column_id) {
|
||||
@ -1168,6 +1167,192 @@ int ObAllVirtualGroupIOStat::inner_get_next_row(common::ObNewRow *&row)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/****************** Function IO Stat *******************/
|
||||
ObAllVirtualFunctionIOStat::FuncInfo::FuncInfo()
|
||||
: tenant_id_(OB_INVALID_TENANT_ID),
|
||||
function_type_(share::ObFunctionType::DEFAULT_FUNCTION),
|
||||
group_mode_(ObIOGroupMode::MODECNT),
|
||||
size_(0),
|
||||
real_iops_(0),
|
||||
real_bw_(0),
|
||||
schedule_us_(0),
|
||||
io_delay_us_(0),
|
||||
total_us_(0)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
ObAllVirtualFunctionIOStat::FuncInfo::~FuncInfo()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
ObAllVirtualFunctionIOStat::ObAllVirtualFunctionIOStat()
|
||||
: func_infos_(), func_pos_(0)
|
||||
{
|
||||
|
||||
}
|
||||
ObAllVirtualFunctionIOStat::~ObAllVirtualFunctionIOStat()
|
||||
{
|
||||
|
||||
}
|
||||
int ObAllVirtualFunctionIOStat::init(const common::ObAddr &addr)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObVector<uint64_t> tenant_ids;
|
||||
if (OB_FAIL(init_addr(addr))) {
|
||||
LOG_WARN("init failed", K(ret), K(addr));
|
||||
} else {
|
||||
(void)GCTX.omt_->get_tenant_ids(tenant_ids);
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < tenant_ids.size(); ++i) {
|
||||
const uint64_t cur_tenant_id = tenant_ids.at(i);
|
||||
ObRefHolder<ObTenantIOManager> tenant_holder;
|
||||
if (is_virtual_tenant_id(cur_tenant_id)) {
|
||||
// do nothing
|
||||
} else if ((!is_sys_tenant(effective_tenant_id_)) && (effective_tenant_id_ != cur_tenant_id)) {
|
||||
} else if (OB_FAIL(OB_IO_MANAGER.get_tenant_io_manager(cur_tenant_id, tenant_holder))) {
|
||||
if (OB_HASH_NOT_EXIST != ret) {
|
||||
LOG_WARN("get tenant io manager failed", K(ret), K(cur_tenant_id));
|
||||
} else {
|
||||
ret = OB_TENANT_NOT_EXIST;
|
||||
LOG_WARN("tenant not exist", K(ret), K(cur_tenant_id));
|
||||
}
|
||||
} else if (OB_FAIL(record_function_info(cur_tenant_id, tenant_holder.get_ptr()->get_io_func_infos().func_usages_))) {
|
||||
LOG_WARN("fail to record function item", K(ret), K(cur_tenant_id));
|
||||
}
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
is_inited_ = true;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObAllVirtualFunctionIOStat::record_function_info(const uint64_t tenant_id,
|
||||
const ObIOFuncUsageArr &func_usages)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
if (OB_UNLIKELY(!is_valid_tenant_id(tenant_id))) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_WARN("invalid tenant id", K(ret), K(tenant_id));
|
||||
} else {
|
||||
const int FUNC_NUM = static_cast<uint8_t>(share::ObFunctionType::MAX_FUNCTION_NUM);
|
||||
const int GROUP_MODE_NUM = static_cast<uint8_t>(ObIOGroupMode::MODECNT);
|
||||
for (int i = 0; OB_SUCC(ret) && i < FUNC_NUM; ++i) {
|
||||
for (int j = 0; OB_SUCC(ret) && j < GROUP_MODE_NUM; ++j) {
|
||||
FuncInfo item;
|
||||
item.function_type_ = static_cast<share::ObFunctionType>(i);
|
||||
item.group_mode_ = static_cast<ObIOGroupMode>(j);
|
||||
if (i >= func_usages.count()) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_ERROR("func usages out of range", K(i), K(func_usages.count()));
|
||||
} else if (j >= func_usages.at(i).count()) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_ERROR("func usages by mode out of range", K(i), K(j), K(func_usages.at(i).count()));
|
||||
} else {
|
||||
item.size_ = static_cast<int64_t>(func_usages.at(i).at(j).last_stat_.avg_size_ + 0.5);
|
||||
item.real_iops_ = static_cast<int64_t>(func_usages.at(i).at(j).last_stat_.avg_iops_ + 0.99);
|
||||
item.real_bw_ = func_usages.at(i).at(j).last_stat_.avg_bw_;
|
||||
item.schedule_us_ = func_usages.at(i).at(j).last_stat_.avg_delay_arr_.schedule_delay_us_;
|
||||
item.io_delay_us_ = func_usages.at(i).at(j).last_stat_.avg_delay_arr_.device_delay_us_;
|
||||
item.total_us_ = func_usages.at(i).at(j).last_stat_.avg_delay_arr_.total_delay_us_;
|
||||
}
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(func_infos_.push_back(item))) {
|
||||
LOG_WARN("fail to push back func info", K(ret), K(item));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void ObAllVirtualFunctionIOStat::reset()
|
||||
{
|
||||
ObAllVirtualIOStatusIterator::reset();
|
||||
func_infos_.reset();
|
||||
func_pos_ = 0;
|
||||
}
|
||||
|
||||
int ObAllVirtualFunctionIOStat::inner_get_next_row(common::ObNewRow *&row)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
row = nullptr;
|
||||
ObObj *cells = cur_row_.cells_;
|
||||
if (OB_UNLIKELY(!is_inited_ || nullptr == cells)) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("not init", K(ret), KP(cur_row_.cells_), K(is_inited_));
|
||||
} else if (func_pos_ >= func_infos_.count()) {
|
||||
row = nullptr;
|
||||
ret = OB_ITER_END;
|
||||
} else {
|
||||
const FuncInfo &item = func_infos_.at(func_pos_);
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < output_column_ids_.count(); ++i) {
|
||||
const uint64_t column_id = output_column_ids_.at(i);
|
||||
switch (column_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(addr_.get_port());
|
||||
break;
|
||||
}
|
||||
case TENANT_ID: {
|
||||
cells[i].set_int(item.tenant_id_);
|
||||
break;
|
||||
}
|
||||
case FUNCTION_NAME: {
|
||||
const char *str = to_cstring(get_io_function_name(item.function_type_));
|
||||
cells[i].set_varchar(str);
|
||||
cells[i].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
break;
|
||||
}
|
||||
case MODE: {
|
||||
const char *str = get_io_mode_string(item.group_mode_);
|
||||
cells[i].set_varchar(str);
|
||||
cells[i].set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
break;
|
||||
}
|
||||
case SIZE: {
|
||||
cells[i].set_int(item.size_);
|
||||
break;
|
||||
}
|
||||
case REAL_IOPS: {
|
||||
cells[i].set_int(item.real_iops_);
|
||||
break;
|
||||
}
|
||||
case REAL_MBPS: {
|
||||
cells[i].set_int(item.real_bw_ / 1024L / 1024L);
|
||||
break;
|
||||
}
|
||||
case SCHEDULE_US: {
|
||||
cells[i].set_int(item.schedule_us_);
|
||||
break;
|
||||
}
|
||||
case IO_DELAY_US: {
|
||||
cells[i].set_int(item.io_delay_us_);
|
||||
break;
|
||||
}
|
||||
case TOTAL_US: {
|
||||
cells[i].set_int(item.total_us_);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("invalid column id", K(ret), K(column_id), K(i), K(output_column_ids_));
|
||||
break;
|
||||
}
|
||||
} // end switch
|
||||
} // end for-loop
|
||||
if (OB_SUCC(ret)) {
|
||||
row = &cur_row_;
|
||||
}
|
||||
++func_pos_;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}// namespace observer
|
||||
}// namespace oceanbase
|
||||
|
||||
|
@ -263,6 +263,55 @@ private:
|
||||
int64_t group_io_stats_pos_;
|
||||
};
|
||||
|
||||
class ObAllVirtualFunctionIOStat : public ObAllVirtualIOStatusIterator
|
||||
{
|
||||
public:
|
||||
ObAllVirtualFunctionIOStat();
|
||||
virtual ~ObAllVirtualFunctionIOStat();
|
||||
int init(const common::ObAddr &addr);
|
||||
int record_function_info(const uint64_t tenant_id, const ObIOFuncUsageArr& func_infos);
|
||||
virtual void reset() override;
|
||||
virtual int inner_get_next_row(common::ObNewRow *&row) override;
|
||||
private:
|
||||
enum COLUMN
|
||||
{
|
||||
SVR_IP = common::OB_APP_MIN_COLUMN_ID,
|
||||
SVR_PORT,
|
||||
TENANT_ID,
|
||||
FUNCTION_NAME,
|
||||
MODE,
|
||||
SIZE,
|
||||
REAL_IOPS,
|
||||
REAL_MBPS,
|
||||
SCHEDULE_US,
|
||||
IO_DELAY_US,
|
||||
TOTAL_US
|
||||
};
|
||||
struct FuncInfo
|
||||
{
|
||||
public:
|
||||
FuncInfo();
|
||||
~FuncInfo();
|
||||
TO_STRING_KV(K(tenant_id_), K(function_type_), K(group_mode_), K(size_), K(real_iops_), K(real_bw_), K(schedule_us_), K(io_delay_us_), K(total_us_));
|
||||
public:
|
||||
uint64_t tenant_id_;
|
||||
share::ObFunctionType function_type_;
|
||||
common::ObIOGroupMode group_mode_;
|
||||
int64_t size_;
|
||||
int64_t real_iops_;
|
||||
int64_t real_bw_;
|
||||
int64_t schedule_us_;
|
||||
int64_t io_delay_us_;
|
||||
int64_t total_us_;
|
||||
};
|
||||
DISALLOW_COPY_AND_ASSIGN(ObAllVirtualFunctionIOStat);
|
||||
private:
|
||||
ObArray<FuncInfo> func_infos_;
|
||||
int64_t func_pos_;
|
||||
};
|
||||
|
||||
|
||||
|
||||
}// namespace observer
|
||||
}// namespace oceanbase
|
||||
|
||||
|
@ -2833,6 +2833,17 @@ int ObVTIterCreator::create_vt_iter(ObVTableScanParam ¶ms,
|
||||
}
|
||||
break;
|
||||
}
|
||||
case OB_ALL_VIRTUAL_FUNCTION_IO_STAT_TID: {
|
||||
ObAllVirtualFunctionIOStat *all_virtual_func_io_stat = NULL;
|
||||
if (OB_SUCC(NEW_VIRTUAL_TABLE(ObAllVirtualFunctionIOStat, all_virtual_func_io_stat))) {
|
||||
if (OB_FAIL(all_virtual_func_io_stat->init(addr_))) {
|
||||
SERVER_LOG(WARN, "fail to init ObAllVirtualFunctionIOStatus, ", K(ret));
|
||||
} else {
|
||||
vt_iter = static_cast<ObVirtualTableIterator *>(all_virtual_func_io_stat);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case OB_ALL_VIRTUAL_TEMP_FILE_TID:
|
||||
{
|
||||
ObAllVirtualTmpFileInfo *all_tmp_file_info = NULL;
|
||||
|
@ -25,6 +25,226 @@ using namespace common;
|
||||
namespace share
|
||||
{
|
||||
|
||||
int ObInnerTableSchema::all_virtual_function_io_stat_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_FUNCTION_IO_STAT_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(5);
|
||||
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_FUNCTION_IO_STAT_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
|
||||
1, //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
|
||||
2, //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("tenant_id", //column_name
|
||||
++column_id, //column_id
|
||||
3, //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("function_name", //column_name
|
||||
++column_id, //column_id
|
||||
4, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
32, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("mode", //column_name
|
||||
++column_id, //column_id
|
||||
5, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
32, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("size", //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("real_iops", //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("real_mbps", //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("schedule_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("io_delay_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("total_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)) {
|
||||
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_micro_index_clustered(false);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_temp_file_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -2605,6 +2605,226 @@ int ObInnerTableSchema::all_virtual_vector_index_info_ora_schema(ObTableSchema &
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_function_io_stat_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_FUNCTION_IO_STAT_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(5);
|
||||
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_FUNCTION_IO_STAT_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
|
||||
1, //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
|
||||
2, //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("TENANT_ID", //column_name
|
||||
++column_id, //column_id
|
||||
3, //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("FUNCTION_NAME", //column_name
|
||||
++column_id, //column_id
|
||||
4, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
32, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("MODE", //column_name
|
||||
++column_id, //column_id
|
||||
5, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
32, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("SIZE", //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("REAL_IOPS", //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("REAL_MBPS", //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("SCHEDULE_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("IO_DELAY_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("TOTAL_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)) {
|
||||
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_micro_index_clustered(false);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_temp_file_ora_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -229,6 +229,108 @@ int ObInnerTableSchema::innodb_sys_foreign_cols_schema(ObTableSchema &table_sche
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::gv_ob_function_io_stat_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_FUNCTION_IO_STAT_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_FUNCTION_IO_STAT_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, SVR_PORT, TENANT_ID, FUNCTION_NAME, MODE, SIZE, REAL_IOPS, REAL_MBPS, SCHEDULE_US, IO_DELAY_US, TOTAL_US FROM oceanbase.__all_virtual_function_io_stat; )__"))) {
|
||||
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_micro_index_clustered(false);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::v_ob_function_io_stat_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_FUNCTION_IO_STAT_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_FUNCTION_IO_STAT_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, SVR_PORT, TENANT_ID, FUNCTION_NAME, MODE, SIZE, REAL_IOPS, REAL_MBPS, SCHEDULE_US, IO_DELAY_US, TOTAL_US FROM OCEANBASE.GV$OB_FUNCTION_IO_STAT 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_micro_index_clustered(false);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::dba_ob_temp_files_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -25,6 +25,108 @@ using namespace common;
|
||||
namespace share
|
||||
{
|
||||
|
||||
int ObInnerTableSchema::gv_ob_function_io_stat_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_FUNCTION_IO_STAT_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_FUNCTION_IO_STAT_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 A.SVR_IP AS SVR_IP, A.SVR_PORT AS SVR_PORT, A.TENANT_ID AS TENANT_ID, A.FUNCTION_NAME AS FUNCTION_NAME, A."MODE" AS "MODE", A."SIZE" AS "SIZE", A.REAL_IOPS AS REAL_IOPS, A.REAL_MBPS AS REAL_MBPS, A.SCHEDULE_US AS SCHEDULE_US, A.IO_DELAY_US AS IO_DELAY_US, A.TOTAL_US AS TOTAL_US FROM SYS.ALL_VIRTUAL_FUNCTION_IO_STAT A )__"))) {
|
||||
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_micro_index_clustered(false);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::v_ob_function_io_stat_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_FUNCTION_IO_STAT_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_FUNCTION_IO_STAT_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 A.SVR_IP AS SVR_IP, A.SVR_PORT AS SVR_PORT, A.TENANT_ID AS TENANT_ID, A.FUNCTION_NAME AS FUNCTION_NAME, A."MODE" AS "MODE", A."SIZE" AS "SIZE", A.REAL_IOPS AS REAL_IOPS, A.REAL_MBPS AS REAL_MBPS, A.SCHEDULE_US AS SCHEDULE_US, A.IO_DELAY_US AS IO_DELAY_US, A.TOTAL_US AS TOTAL_US FROM SYS.GV$OB_FUNCTION_IO_STAT A 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_micro_index_clustered(false);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::dba_ob_temp_files_ora_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -1104,6 +1104,7 @@ public:
|
||||
static int all_virtual_spatial_reference_systems_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_ss_local_cache_info_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_vector_index_info_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_function_io_stat_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_temp_file_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_sql_audit_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_plan_stat_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -1387,6 +1388,7 @@ public:
|
||||
static int all_virtual_spatial_reference_systems_real_agent_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_ss_local_cache_info_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_vector_index_info_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_function_io_stat_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_temp_file_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int gv_ob_plan_cache_stat_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int gv_ob_plan_cache_plan_stat_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -1861,6 +1863,8 @@ public:
|
||||
static int innodb_sys_fields_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int innodb_sys_foreign_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int innodb_sys_foreign_cols_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int gv_ob_function_io_stat_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int v_ob_function_io_stat_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dba_ob_temp_files_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int cdb_ob_temp_files_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dba_synonyms_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -2338,6 +2342,8 @@ public:
|
||||
static int dba_ob_spatial_columns_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int gv_ob_ss_local_cache_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int v_ob_ss_local_cache_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int gv_ob_function_io_stat_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int v_ob_function_io_stat_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dba_ob_temp_files_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_table_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_column_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -3951,6 +3957,7 @@ const schema_create_func virtual_table_schema_creators [] = {
|
||||
ObInnerTableSchema::all_virtual_spatial_reference_systems_schema,
|
||||
ObInnerTableSchema::all_virtual_ss_local_cache_info_schema,
|
||||
ObInnerTableSchema::all_virtual_vector_index_info_schema,
|
||||
ObInnerTableSchema::all_virtual_function_io_stat_schema,
|
||||
ObInnerTableSchema::all_virtual_temp_file_schema,
|
||||
ObInnerTableSchema::all_virtual_ash_all_virtual_ash_i1_schema,
|
||||
ObInnerTableSchema::all_virtual_sql_plan_monitor_all_virtual_sql_plan_monitor_i1_schema,
|
||||
@ -4244,6 +4251,7 @@ const schema_create_func virtual_table_schema_creators [] = {
|
||||
ObInnerTableSchema::all_virtual_spatial_reference_systems_real_agent_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_ss_local_cache_info_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_vector_index_info_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_function_io_stat_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_temp_file_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_table_real_agent_ora_idx_data_table_id_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_table_real_agent_ora_idx_db_tb_name_real_agent_schema,
|
||||
@ -4805,6 +4813,8 @@ const schema_create_func sys_view_schema_creators [] = {
|
||||
ObInnerTableSchema::innodb_sys_fields_schema,
|
||||
ObInnerTableSchema::innodb_sys_foreign_schema,
|
||||
ObInnerTableSchema::innodb_sys_foreign_cols_schema,
|
||||
ObInnerTableSchema::gv_ob_function_io_stat_schema,
|
||||
ObInnerTableSchema::v_ob_function_io_stat_schema,
|
||||
ObInnerTableSchema::dba_ob_temp_files_schema,
|
||||
ObInnerTableSchema::cdb_ob_temp_files_schema,
|
||||
ObInnerTableSchema::dba_synonyms_schema,
|
||||
@ -5282,6 +5292,8 @@ const schema_create_func sys_view_schema_creators [] = {
|
||||
ObInnerTableSchema::dba_ob_spatial_columns_ora_schema,
|
||||
ObInnerTableSchema::gv_ob_ss_local_cache_ora_schema,
|
||||
ObInnerTableSchema::v_ob_ss_local_cache_ora_schema,
|
||||
ObInnerTableSchema::gv_ob_function_io_stat_ora_schema,
|
||||
ObInnerTableSchema::v_ob_function_io_stat_ora_schema,
|
||||
ObInnerTableSchema::dba_ob_temp_files_ora_schema,
|
||||
NULL,};
|
||||
|
||||
@ -5933,6 +5945,7 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_ALL_VIRTUAL_NIC_INFO_TID,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_TID,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_TID,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_TID,
|
||||
OB_ALL_VIRTUAL_TEMP_FILE_TID,
|
||||
OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_SQL_AUDIT_ORA_ALL_VIRTUAL_SQL_AUDIT_I1_TID,
|
||||
@ -6225,6 +6238,7 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_REAL_AGENT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_TEMP_FILE_ORA_TID,
|
||||
OB_GV_OB_PLAN_CACHE_STAT_TID,
|
||||
OB_GV_OB_PLAN_CACHE_PLAN_STAT_TID,
|
||||
@ -6572,6 +6586,8 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_INNODB_SYS_FIELDS_TID,
|
||||
OB_INNODB_SYS_FOREIGN_TID,
|
||||
OB_INNODB_SYS_FOREIGN_COLS_TID,
|
||||
OB_GV_OB_FUNCTION_IO_STAT_TID,
|
||||
OB_V_OB_FUNCTION_IO_STAT_TID,
|
||||
OB_DBA_OB_TEMP_FILES_TID,
|
||||
OB_DBA_SYNONYMS_TID,
|
||||
OB_DBA_OBJECTS_ORA_TID,
|
||||
@ -7048,6 +7064,8 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_DBA_OB_SPATIAL_COLUMNS_ORA_TID,
|
||||
OB_GV_OB_SS_LOCAL_CACHE_ORA_TID,
|
||||
OB_V_OB_SS_LOCAL_CACHE_ORA_TID,
|
||||
OB_GV_OB_FUNCTION_IO_STAT_ORA_TID,
|
||||
OB_V_OB_FUNCTION_IO_STAT_ORA_TID,
|
||||
OB_DBA_OB_TEMP_FILES_ORA_TID,
|
||||
OB_ALL_TABLE_IDX_DATA_TABLE_ID_TID,
|
||||
OB_ALL_TABLE_IDX_DB_TB_NAME_TID,
|
||||
@ -7945,6 +7963,7 @@ const uint64_t all_ora_mapping_virtual_table_org_tables [] = {
|
||||
OB_ALL_VIRTUAL_NIC_INFO_TID,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_TID,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_TID,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_TID,
|
||||
OB_ALL_VIRTUAL_TEMP_FILE_TID, };
|
||||
|
||||
const uint64_t all_ora_mapping_virtual_tables [] = { OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TID
|
||||
@ -8100,6 +8119,7 @@ const uint64_t all_ora_mapping_virtual_tables [] = { OB_ALL_VIRTUAL_SQL_AUDIT_O
|
||||
, OB_ALL_VIRTUAL_NIC_INFO_ORA_TID
|
||||
, OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA_TID
|
||||
, OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TID
|
||||
, OB_ALL_VIRTUAL_FUNCTION_IO_STAT_ORA_TID
|
||||
, OB_ALL_VIRTUAL_TEMP_FILE_ORA_TID
|
||||
, };
|
||||
|
||||
@ -8640,6 +8660,7 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_ALL_VIRTUAL_NIC_INFO_TNAME,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_TNAME,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_TNAME,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_TNAME,
|
||||
OB_ALL_VIRTUAL_TEMP_FILE_TNAME,
|
||||
OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_SQL_AUDIT_ORA_ALL_VIRTUAL_SQL_AUDIT_I1_TNAME,
|
||||
@ -8932,6 +8953,7 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_REAL_AGENT_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_TEMP_FILE_ORA_TNAME,
|
||||
OB_GV_OB_PLAN_CACHE_STAT_TNAME,
|
||||
OB_GV_OB_PLAN_CACHE_PLAN_STAT_TNAME,
|
||||
@ -9279,6 +9301,8 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_INNODB_SYS_FIELDS_TNAME,
|
||||
OB_INNODB_SYS_FOREIGN_TNAME,
|
||||
OB_INNODB_SYS_FOREIGN_COLS_TNAME,
|
||||
OB_GV_OB_FUNCTION_IO_STAT_TNAME,
|
||||
OB_V_OB_FUNCTION_IO_STAT_TNAME,
|
||||
OB_DBA_OB_TEMP_FILES_TNAME,
|
||||
OB_DBA_SYNONYMS_TNAME,
|
||||
OB_DBA_OBJECTS_ORA_TNAME,
|
||||
@ -9755,6 +9779,8 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_DBA_OB_SPATIAL_COLUMNS_ORA_TNAME,
|
||||
OB_GV_OB_SS_LOCAL_CACHE_ORA_TNAME,
|
||||
OB_V_OB_SS_LOCAL_CACHE_ORA_TNAME,
|
||||
OB_GV_OB_FUNCTION_IO_STAT_ORA_TNAME,
|
||||
OB_V_OB_FUNCTION_IO_STAT_ORA_TNAME,
|
||||
OB_DBA_OB_TEMP_FILES_ORA_TNAME,
|
||||
OB_ALL_TABLE_IDX_DATA_TABLE_ID_TNAME,
|
||||
OB_ALL_TABLE_IDX_DB_TB_NAME_TNAME,
|
||||
@ -10661,6 +10687,7 @@ const uint64_t tenant_distributed_vtables [] = {
|
||||
OB_ALL_VIRTUAL_NIC_INFO_TID,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_TID,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_TID,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_TID,
|
||||
OB_ALL_VIRTUAL_TEMP_FILE_TID,
|
||||
OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_SQL_AUDIT_ORA_ALL_VIRTUAL_SQL_AUDIT_I1_TID,
|
||||
@ -10741,6 +10768,7 @@ const uint64_t tenant_distributed_vtables [] = {
|
||||
OB_ALL_VIRTUAL_NIC_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_TEMP_FILE_ORA_TID, };
|
||||
|
||||
const uint64_t restrict_access_virtual_tables[] = {
|
||||
@ -10881,7 +10909,8 @@ const uint64_t restrict_access_virtual_tables[] = {
|
||||
OB_ALL_VIRTUAL_NIC_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_REAL_AGENT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TID };
|
||||
OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TID,
|
||||
OB_ALL_VIRTUAL_FUNCTION_IO_STAT_ORA_TID };
|
||||
|
||||
|
||||
static inline bool is_restrict_access_virtual_table(const uint64_t tid)
|
||||
@ -13522,11 +13551,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 = 304;
|
||||
const int64_t OB_VIRTUAL_TABLE_COUNT = 847;
|
||||
const int64_t OB_SYS_VIEW_COUNT = 951;
|
||||
const int64_t OB_SYS_TENANT_TABLE_COUNT = 2107;
|
||||
const int64_t OB_VIRTUAL_TABLE_COUNT = 849;
|
||||
const int64_t OB_SYS_VIEW_COUNT = 955;
|
||||
const int64_t OB_SYS_TENANT_TABLE_COUNT = 2113;
|
||||
const int64_t OB_CORE_SCHEMA_VERSION = 1;
|
||||
const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 2110;
|
||||
const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 2116;
|
||||
|
||||
} // end namespace share
|
||||
} // end namespace oceanbase
|
||||
|
@ -804,6 +804,7 @@ const uint64_t OB_ALL_VIRTUAL_SCHEDULER_JOB_RUN_DETAIL_V2_TID = 12488; // "__all
|
||||
const uint64_t OB_ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_TID = 12490; // "__all_virtual_spatial_reference_systems"
|
||||
const uint64_t OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_TID = 12492; // "__all_virtual_ss_local_cache_info"
|
||||
const uint64_t OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_TID = 12496; // "__all_virtual_vector_index_info"
|
||||
const uint64_t OB_ALL_VIRTUAL_FUNCTION_IO_STAT_TID = 12504; // "__all_virtual_function_io_stat"
|
||||
const uint64_t OB_ALL_VIRTUAL_TEMP_FILE_TID = 12505; // "__all_virtual_temp_file"
|
||||
const uint64_t OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TID = 15009; // "ALL_VIRTUAL_SQL_AUDIT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_PLAN_STAT_ORA_TID = 15010; // "ALL_VIRTUAL_PLAN_STAT_ORA"
|
||||
@ -1087,6 +1088,7 @@ const uint64_t OB_ALL_VIRTUAL_SCHEDULER_JOB_RUN_DETAIL_V2_REAL_AGENT_ORA_TID = 1
|
||||
const uint64_t OB_ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_REAL_AGENT_ORA_TID = 15459; // "ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA_TID = 15462; // "ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TID = 15467; // "ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_FUNCTION_IO_STAT_ORA_TID = 15484; // "ALL_VIRTUAL_FUNCTION_IO_STAT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_TEMP_FILE_ORA_TID = 15485; // "ALL_VIRTUAL_TEMP_FILE_ORA"
|
||||
const uint64_t OB_GV_OB_PLAN_CACHE_STAT_TID = 20001; // "GV$OB_PLAN_CACHE_STAT"
|
||||
const uint64_t OB_GV_OB_PLAN_CACHE_PLAN_STAT_TID = 20002; // "GV$OB_PLAN_CACHE_PLAN_STAT"
|
||||
@ -1561,6 +1563,8 @@ const uint64_t OB_V_OB_SS_LOCAL_CACHE_TID = 21600; // "V$OB_SS_LOCAL_CACHE"
|
||||
const uint64_t OB_INNODB_SYS_FIELDS_TID = 21603; // "INNODB_SYS_FIELDS"
|
||||
const uint64_t OB_INNODB_SYS_FOREIGN_TID = 21604; // "INNODB_SYS_FOREIGN"
|
||||
const uint64_t OB_INNODB_SYS_FOREIGN_COLS_TID = 21605; // "INNODB_SYS_FOREIGN_COLS"
|
||||
const uint64_t OB_GV_OB_FUNCTION_IO_STAT_TID = 21620; // "GV$OB_FUNCTION_IO_STAT"
|
||||
const uint64_t OB_V_OB_FUNCTION_IO_STAT_TID = 21621; // "V$OB_FUNCTION_IO_STAT"
|
||||
const uint64_t OB_DBA_OB_TEMP_FILES_TID = 21622; // "DBA_OB_TEMP_FILES"
|
||||
const uint64_t OB_CDB_OB_TEMP_FILES_TID = 21623; // "CDB_OB_TEMP_FILES"
|
||||
const uint64_t OB_DBA_SYNONYMS_TID = 25001; // "DBA_SYNONYMS"
|
||||
@ -2038,6 +2042,8 @@ const uint64_t OB_V_OB_NIC_INFO_ORA_TID = 28231; // "V$OB_NIC_INFO_ORA"
|
||||
const uint64_t OB_DBA_OB_SPATIAL_COLUMNS_ORA_TID = 28234; // "DBA_OB_SPATIAL_COLUMNS_ORA"
|
||||
const uint64_t OB_GV_OB_SS_LOCAL_CACHE_ORA_TID = 28240; // "GV$OB_SS_LOCAL_CACHE_ORA"
|
||||
const uint64_t OB_V_OB_SS_LOCAL_CACHE_ORA_TID = 28241; // "V$OB_SS_LOCAL_CACHE_ORA"
|
||||
const uint64_t OB_GV_OB_FUNCTION_IO_STAT_ORA_TID = 28262; // "GV$OB_FUNCTION_IO_STAT_ORA"
|
||||
const uint64_t OB_V_OB_FUNCTION_IO_STAT_ORA_TID = 28263; // "V$OB_FUNCTION_IO_STAT_ORA"
|
||||
const uint64_t OB_DBA_OB_TEMP_FILES_ORA_TID = 28264; // "DBA_OB_TEMP_FILES_ORA"
|
||||
const uint64_t OB_ALL_TABLE_AUX_LOB_META_TID = 50003; // "__all_table_aux_lob_meta"
|
||||
const uint64_t OB_ALL_COLUMN_AUX_LOB_META_TID = 50004; // "__all_column_aux_lob_meta"
|
||||
@ -3635,6 +3641,7 @@ const char *const OB_ALL_VIRTUAL_SCHEDULER_JOB_RUN_DETAIL_V2_TNAME = "__all_virt
|
||||
const char *const OB_ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_TNAME = "__all_virtual_spatial_reference_systems";
|
||||
const char *const OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_TNAME = "__all_virtual_ss_local_cache_info";
|
||||
const char *const OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_TNAME = "__all_virtual_vector_index_info";
|
||||
const char *const OB_ALL_VIRTUAL_FUNCTION_IO_STAT_TNAME = "__all_virtual_function_io_stat";
|
||||
const char *const OB_ALL_VIRTUAL_TEMP_FILE_TNAME = "__all_virtual_temp_file";
|
||||
const char *const OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TNAME = "ALL_VIRTUAL_SQL_AUDIT";
|
||||
const char *const OB_ALL_VIRTUAL_PLAN_STAT_ORA_TNAME = "ALL_VIRTUAL_PLAN_STAT";
|
||||
@ -3918,6 +3925,7 @@ const char *const OB_ALL_VIRTUAL_SCHEDULER_JOB_RUN_DETAIL_V2_REAL_AGENT_ORA_TNAM
|
||||
const char *const OB_ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_REAL_AGENT_ORA_TNAME = "ALL_VIRTUAL_SPATIAL_REFERENCE_SYSTEMS_REAL_AGENT";
|
||||
const char *const OB_ALL_VIRTUAL_SS_LOCAL_CACHE_INFO_ORA_TNAME = "ALL_VIRTUAL_SS_LOCAL_CACHE_INFO";
|
||||
const char *const OB_ALL_VIRTUAL_VECTOR_INDEX_INFO_ORA_TNAME = "ALL_VIRTUAL_VECTOR_INDEX_INFO";
|
||||
const char *const OB_ALL_VIRTUAL_FUNCTION_IO_STAT_ORA_TNAME = "ALL_VIRTUAL_FUNCTION_IO_STAT";
|
||||
const char *const OB_ALL_VIRTUAL_TEMP_FILE_ORA_TNAME = "ALL_VIRTUAL_TEMP_FILE";
|
||||
const char *const OB_GV_OB_PLAN_CACHE_STAT_TNAME = "GV$OB_PLAN_CACHE_STAT";
|
||||
const char *const OB_GV_OB_PLAN_CACHE_PLAN_STAT_TNAME = "GV$OB_PLAN_CACHE_PLAN_STAT";
|
||||
@ -4392,6 +4400,8 @@ const char *const OB_V_OB_SS_LOCAL_CACHE_TNAME = "V$OB_SS_LOCAL_CACHE";
|
||||
const char *const OB_INNODB_SYS_FIELDS_TNAME = "INNODB_SYS_FIELDS";
|
||||
const char *const OB_INNODB_SYS_FOREIGN_TNAME = "INNODB_SYS_FOREIGN";
|
||||
const char *const OB_INNODB_SYS_FOREIGN_COLS_TNAME = "INNODB_SYS_FOREIGN_COLS";
|
||||
const char *const OB_GV_OB_FUNCTION_IO_STAT_TNAME = "GV$OB_FUNCTION_IO_STAT";
|
||||
const char *const OB_V_OB_FUNCTION_IO_STAT_TNAME = "V$OB_FUNCTION_IO_STAT";
|
||||
const char *const OB_DBA_OB_TEMP_FILES_TNAME = "DBA_OB_TEMP_FILES";
|
||||
const char *const OB_CDB_OB_TEMP_FILES_TNAME = "CDB_OB_TEMP_FILES";
|
||||
const char *const OB_DBA_SYNONYMS_TNAME = "DBA_SYNONYMS";
|
||||
@ -4869,6 +4879,8 @@ const char *const OB_V_OB_NIC_INFO_ORA_TNAME = "V$OB_NIC_INFO";
|
||||
const char *const OB_DBA_OB_SPATIAL_COLUMNS_ORA_TNAME = "DBA_OB_SPATIAL_COLUMNS";
|
||||
const char *const OB_GV_OB_SS_LOCAL_CACHE_ORA_TNAME = "GV$OB_SS_LOCAL_CACHE";
|
||||
const char *const OB_V_OB_SS_LOCAL_CACHE_ORA_TNAME = "V$OB_SS_LOCAL_CACHE";
|
||||
const char *const OB_GV_OB_FUNCTION_IO_STAT_ORA_TNAME = "GV$OB_FUNCTION_IO_STAT";
|
||||
const char *const OB_V_OB_FUNCTION_IO_STAT_ORA_TNAME = "V$OB_FUNCTION_IO_STAT";
|
||||
const char *const OB_DBA_OB_TEMP_FILES_ORA_TNAME = "DBA_OB_TEMP_FILES";
|
||||
const char *const OB_ALL_TABLE_AUX_LOB_META_TNAME = "__all_table_aux_lob_meta";
|
||||
const char *const OB_ALL_COLUMN_AUX_LOB_META_TNAME = "__all_column_aux_lob_meta";
|
||||
|
@ -15004,7 +15004,32 @@ def_table_schema(
|
||||
# 12502: __all_virtual_wr_res_mgr_sysstat
|
||||
# 12503: __all_virtual_kv_redis_table
|
||||
|
||||
# 12504: __all_virtual_function_io_stat
|
||||
def_table_schema(
|
||||
owner = 'zz412656',
|
||||
table_name = '__all_virtual_function_io_stat',
|
||||
table_id = '12504',
|
||||
table_type = 'VIRTUAL_TABLE',
|
||||
gm_columns = [],
|
||||
rowkey_columns = [
|
||||
('svr_ip', 'varchar:MAX_IP_ADDR_LENGTH'),
|
||||
('svr_port', 'int'),
|
||||
('tenant_id', 'int'),
|
||||
('function_name', 'varchar:32'),
|
||||
('mode', 'varchar:32')
|
||||
],
|
||||
in_tenant_space = True,
|
||||
normal_columns = [
|
||||
('size', 'int'),
|
||||
('real_iops', 'int'),
|
||||
('real_mbps', 'int'),
|
||||
('schedule_us', 'int'),
|
||||
('io_delay_us', 'int'),
|
||||
('total_us', 'int'),
|
||||
],
|
||||
partition_columns = ['svr_ip', 'svr_port'],
|
||||
vtable_route_policy = 'distributed',
|
||||
)
|
||||
|
||||
|
||||
def_table_schema(
|
||||
owner = 'wuyuefei.wyf',
|
||||
@ -15050,6 +15075,7 @@ def_table_schema(
|
||||
vtable_route_policy = 'distributed',
|
||||
)
|
||||
|
||||
|
||||
# 余留位置(此行之前占位)
|
||||
# 本区域占位建议:采用真实表名进行占位
|
||||
################################################################################
|
||||
@ -15564,8 +15590,7 @@ def_table_schema(**no_direct_access(gen_oracle_mapping_virtual_table_def('15467'
|
||||
# 15481: __all_virtual_wr_sql_plan
|
||||
# 15482: __all_virtual_res_mgr_sysstat
|
||||
# 15483: __all_virtual_wr_res_mgr_sysstat
|
||||
# 15484: __all_virtual_function_io_stat
|
||||
|
||||
def_table_schema(**no_direct_access(gen_oracle_mapping_virtual_table_def('15484', all_def_keywords['__all_virtual_function_io_stat'])))
|
||||
def_table_schema(**gen_oracle_mapping_virtual_table_def('15485', all_def_keywords['__all_virtual_temp_file']))
|
||||
|
||||
# 余留位置(此行之前占位)
|
||||
@ -37258,8 +37283,62 @@ def_table_schema(
|
||||
# 21617: CDB_OB_SPM_EVO_RESULT
|
||||
# 21618: DBA_OB_KV_REDIS_TABLE
|
||||
# 21619: CDB_OB_KV_REDIS_TABLE
|
||||
# 21620: GV$OB_FUNCTION_IO_STAT
|
||||
# 21621: V$OB_FUNCTION_IO_STAT
|
||||
|
||||
def_table_schema(
|
||||
owner = 'zz412656',
|
||||
table_name = 'GV$OB_FUNCTION_IO_STAT',
|
||||
table_id = '21620',
|
||||
table_type = 'SYSTEM_VIEW',
|
||||
gm_columns = [],
|
||||
rowkey_columns = [],
|
||||
normal_columns = [],
|
||||
in_tenant_space = True,
|
||||
view_definition = """
|
||||
SELECT
|
||||
SVR_IP,
|
||||
SVR_PORT,
|
||||
TENANT_ID,
|
||||
FUNCTION_NAME,
|
||||
MODE,
|
||||
SIZE,
|
||||
REAL_IOPS,
|
||||
REAL_MBPS,
|
||||
SCHEDULE_US,
|
||||
IO_DELAY_US,
|
||||
TOTAL_US
|
||||
FROM
|
||||
oceanbase.__all_virtual_function_io_stat;
|
||||
""".replace("\n", " "),
|
||||
)
|
||||
|
||||
def_table_schema(
|
||||
owner = 'zz412656',
|
||||
table_name = 'V$OB_FUNCTION_IO_STAT',
|
||||
table_id = '21621',
|
||||
table_type = 'SYSTEM_VIEW',
|
||||
gm_columns = [],
|
||||
rowkey_columns = [],
|
||||
normal_columns = [],
|
||||
in_tenant_space = True,
|
||||
view_definition = """
|
||||
SELECT
|
||||
SVR_IP,
|
||||
SVR_PORT,
|
||||
TENANT_ID,
|
||||
FUNCTION_NAME,
|
||||
MODE,
|
||||
SIZE,
|
||||
REAL_IOPS,
|
||||
REAL_MBPS,
|
||||
SCHEDULE_US,
|
||||
IO_DELAY_US,
|
||||
TOTAL_US
|
||||
FROM
|
||||
OCEANBASE.GV$OB_FUNCTION_IO_STAT
|
||||
WHERE
|
||||
SVR_IP=HOST_IP() AND SVR_PORT=RPC_PORT()
|
||||
""".replace("\n", " "),
|
||||
)
|
||||
|
||||
def_table_schema(
|
||||
owner = 'wuyuefei.wyf',
|
||||
@ -37319,7 +37398,6 @@ def_table_schema(
|
||||
FROM oceanbase.__all_virtual_temp_file
|
||||
""".replace("\n", " ")
|
||||
)
|
||||
|
||||
# 余留位置(此行之前占位)
|
||||
# 本区域占位建议:采用真实视图名进行占位
|
||||
################################################################################
|
||||
@ -65747,8 +65825,68 @@ def_table_schema(
|
||||
# 28259: DBA_WR_SQL_PLAN
|
||||
# 28260: DBA_WR_RES_MGR_SYSSTAT
|
||||
# 28261: DBA_OB_SPM_EVO_RESULT
|
||||
# 28262: GV$OB_FUNCTION_IO_STAT
|
||||
# 28263: V$OB_FUNCTION_IO_STAT
|
||||
|
||||
def_table_schema(
|
||||
owner = 'zz412656',
|
||||
table_name = 'GV$OB_FUNCTION_IO_STAT',
|
||||
name_postfix = '_ORA',
|
||||
database_id = 'OB_ORA_SYS_DATABASE_ID',
|
||||
table_id = '28262',
|
||||
table_type = 'SYSTEM_VIEW',
|
||||
gm_columns = [],
|
||||
rowkey_columns = [],
|
||||
normal_columns = [],
|
||||
in_tenant_space = True,
|
||||
view_definition = """
|
||||
SELECT
|
||||
A.SVR_IP AS SVR_IP,
|
||||
A.SVR_PORT AS SVR_PORT,
|
||||
A.TENANT_ID AS TENANT_ID,
|
||||
A.FUNCTION_NAME AS FUNCTION_NAME,
|
||||
A."MODE" AS "MODE",
|
||||
A."SIZE" AS "SIZE",
|
||||
A.REAL_IOPS AS REAL_IOPS,
|
||||
A.REAL_MBPS AS REAL_MBPS,
|
||||
A.SCHEDULE_US AS SCHEDULE_US,
|
||||
A.IO_DELAY_US AS IO_DELAY_US,
|
||||
A.TOTAL_US AS TOTAL_US
|
||||
FROM
|
||||
SYS.ALL_VIRTUAL_FUNCTION_IO_STAT A
|
||||
""".replace("\n", " "),
|
||||
)
|
||||
|
||||
def_table_schema(
|
||||
owner = 'zz412656',
|
||||
table_name = 'V$OB_FUNCTION_IO_STAT',
|
||||
name_postfix = '_ORA',
|
||||
database_id = 'OB_ORA_SYS_DATABASE_ID',
|
||||
table_id = '28263',
|
||||
table_type = 'SYSTEM_VIEW',
|
||||
gm_columns = [],
|
||||
rowkey_columns = [],
|
||||
normal_columns = [],
|
||||
in_tenant_space = True,
|
||||
view_definition = """
|
||||
SELECT
|
||||
A.SVR_IP AS SVR_IP,
|
||||
A.SVR_PORT AS SVR_PORT,
|
||||
A.TENANT_ID AS TENANT_ID,
|
||||
A.FUNCTION_NAME AS FUNCTION_NAME,
|
||||
A."MODE" AS "MODE",
|
||||
A."SIZE" AS "SIZE",
|
||||
A.REAL_IOPS AS REAL_IOPS,
|
||||
A.REAL_MBPS AS REAL_MBPS,
|
||||
A.SCHEDULE_US AS SCHEDULE_US,
|
||||
A.IO_DELAY_US AS IO_DELAY_US,
|
||||
A.TOTAL_US AS TOTAL_US
|
||||
FROM
|
||||
SYS.GV$OB_FUNCTION_IO_STAT A
|
||||
WHERE
|
||||
SVR_IP=HOST_IP()
|
||||
AND
|
||||
SVR_PORT=RPC_PORT()
|
||||
""".replace("\n", " "),
|
||||
)
|
||||
|
||||
def_table_schema(
|
||||
owner = 'wuyuefei.wyf',
|
||||
@ -65782,6 +65920,7 @@ def_table_schema(
|
||||
""".replace("\n", " "),
|
||||
)
|
||||
|
||||
|
||||
# 余留位置(此行之前占位)
|
||||
# 本区域占位建议:采用真实视图名进行占位
|
||||
################################################################################
|
||||
|
@ -1155,6 +1155,7 @@
|
||||
# 12490: __all_spatial_reference_systems # BASE_TABLE_NAME
|
||||
# 12492: __all_virtual_ss_local_cache_info
|
||||
# 12496: __all_virtual_vector_index_info
|
||||
# 12504: __all_virtual_function_io_stat
|
||||
# 12505: __all_virtual_temp_file
|
||||
# 15009: ALL_VIRTUAL_SQL_AUDIT
|
||||
# 15009: __all_virtual_sql_audit # BASE_TABLE_NAME
|
||||
@ -1780,6 +1781,8 @@
|
||||
# 15462: __all_virtual_ss_local_cache_info # BASE_TABLE_NAME
|
||||
# 15467: ALL_VIRTUAL_VECTOR_INDEX_INFO
|
||||
# 15467: __all_virtual_vector_index_info # BASE_TABLE_NAME
|
||||
# 15484: ALL_VIRTUAL_FUNCTION_IO_STAT
|
||||
# 15484: __all_virtual_function_io_stat # BASE_TABLE_NAME
|
||||
# 15485: ALL_VIRTUAL_TEMP_FILE
|
||||
# 15485: __all_virtual_temp_file # BASE_TABLE_NAME
|
||||
# 20001: GV$OB_PLAN_CACHE_STAT
|
||||
@ -2255,6 +2258,8 @@
|
||||
# 21603: INNODB_SYS_FIELDS
|
||||
# 21604: INNODB_SYS_FOREIGN
|
||||
# 21605: INNODB_SYS_FOREIGN_COLS
|
||||
# 21620: GV$OB_FUNCTION_IO_STAT
|
||||
# 21621: V$OB_FUNCTION_IO_STAT
|
||||
# 21622: DBA_OB_TEMP_FILES
|
||||
# 21623: CDB_OB_TEMP_FILES
|
||||
# 25001: DBA_SYNONYMS
|
||||
@ -2732,6 +2737,8 @@
|
||||
# 28234: DBA_OB_SPATIAL_COLUMNS
|
||||
# 28240: GV$OB_SS_LOCAL_CACHE
|
||||
# 28241: V$OB_SS_LOCAL_CACHE
|
||||
# 28262: GV$OB_FUNCTION_IO_STAT
|
||||
# 28263: V$OB_FUNCTION_IO_STAT
|
||||
# 28264: DBA_OB_TEMP_FILES
|
||||
# 14999: __idx_11003_all_virtual_plan_cache_stat_i1
|
||||
# 14999: all_virtual_plan_cache_stat_i1 # INDEX_NAME
|
||||
|
@ -1819,8 +1819,11 @@ int ObIOHandle::wait(const int64_t wait_timeout_ms)
|
||||
} else if (0 == wait_timeout_ms) {
|
||||
ret = OB_EAGAIN;
|
||||
} else if (UINT64_MAX == wait_timeout_ms) {
|
||||
const int64_t timeout_ms = ((result_->time_log_.begin_ts_ > 0 ? result_->time_log_.begin_ts_ + result_->timeout_us_ : 0)
|
||||
- ObTimeUtility::current_time()) / 1000L;
|
||||
const int64_t timeout_ms =
|
||||
((result_->time_log_.begin_ts_ > 0
|
||||
? result_->time_log_.begin_ts_ + result_->timeout_us_ - ObTimeUtility::current_time()
|
||||
: 0)) /
|
||||
1000L;
|
||||
ObWaitEventGuard wait_guard(result_->flag_.get_wait_event(),
|
||||
timeout_ms,
|
||||
result_->size_);
|
||||
|
@ -2250,7 +2250,7 @@ int ObTenantIOManager::print_io_function_status()
|
||||
char io_status[1024] = { 0 };
|
||||
int FUNC_NUM = static_cast<uint8_t>(share::ObFunctionType::MAX_FUNCTION_NUM);
|
||||
int GROUP_MODE_NUM = static_cast<uint8_t>(ObIOGroupMode::MODECNT);
|
||||
ObSEArray<ObIOFuncUsage, static_cast<uint8_t>(share::ObFunctionType::MAX_FUNCTION_NUM)> &func_usages = io_func_infos_.func_usages_;
|
||||
ObIOFuncUsageArr &func_usages = io_func_infos_.func_usages_;
|
||||
double avg_size = 0;
|
||||
double avg_iops = 0;
|
||||
int64_t avg_bw = 0;
|
||||
@ -2259,13 +2259,15 @@ int ObTenantIOManager::print_io_function_status()
|
||||
int64_t avg_submit_delay = 0;
|
||||
int64_t avg_device_delay = 0;
|
||||
int64_t avg_total_delay = 0;
|
||||
for (int i = 0; i < FUNC_NUM; ++i) {
|
||||
for (int j = 0; j < GROUP_MODE_NUM; ++j) {
|
||||
for (int i = 0; OB_SUCC(ret) && i < FUNC_NUM; ++i) {
|
||||
for (int j = 0; OB_SUCC(ret) && j < GROUP_MODE_NUM; ++j) {
|
||||
avg_size = 0;
|
||||
const char *mode_str = get_io_mode_string(static_cast<ObIOGroupMode>(j));
|
||||
if (i >= func_usages.count()) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_ERROR("func usages out of range", K(i), K(func_usages.count()));
|
||||
} else if (j >= func_usages.at(i).count()) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
LOG_ERROR("func usages by mode out of range", K(i), K(j), K(func_usages.at(i).count()));
|
||||
} else if (OB_FAIL(func_usages.at(i).at(j).calc(
|
||||
avg_size,
|
||||
@ -2342,9 +2344,7 @@ int ObTenantIOManager::get_throttled_time(uint64_t group_id, int64_t &throttled_
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObTenantIOManager::get_io_func_infos(ObIOFuncUsages &io_func_infos) const
|
||||
const ObIOFuncUsages& ObTenantIOManager::get_io_func_infos()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
io_func_infos = io_func_infos_;
|
||||
return ret;
|
||||
return io_func_infos_;
|
||||
}
|
||||
|
@ -361,7 +361,7 @@ public:
|
||||
void inc_ref();
|
||||
void dec_ref();
|
||||
int get_throttled_time(uint64_t group_id, int64_t &throttled_time);
|
||||
int get_io_func_infos(ObIOFuncUsages &io_func_infos) const;
|
||||
const ObIOFuncUsages& get_io_func_infos();
|
||||
OB_INLINE int64_t get_object_storage_io_timeout_ms() const { return io_config_.object_storage_io_timeout_ms_; }
|
||||
|
||||
TO_STRING_KV(K(is_inited_), K(tenant_id_), K(ref_cnt_), K(io_memory_limit_), K(request_count_), K(result_count_),
|
||||
|
@ -580,6 +580,23 @@ int64_t ObIOUsage::to_string(char* buf, const int64_t buf_len) const
|
||||
return pos;
|
||||
}
|
||||
|
||||
/****************** IOGroupUsage **********************/
|
||||
|
||||
int ObIOGroupUsage::record(const double avg_size, const double avg_iops, const int64_t avg_bw,
|
||||
const int64_t avg_prepare_delay, const int64_t avg_schedule_delay, const int64_t avg_submit_delay,
|
||||
const int64_t avg_device_delay, const int64_t avg_total_delay)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
last_stat_.avg_size_ = avg_size;
|
||||
last_stat_.avg_iops_ = avg_iops;
|
||||
ATOMIC_STORE(&last_stat_.avg_bw_, avg_bw);
|
||||
ATOMIC_STORE(&last_stat_.avg_delay_arr_.prepare_delay_us_, avg_prepare_delay);
|
||||
ATOMIC_STORE(&last_stat_.avg_delay_arr_.schedule_delay_us_, avg_schedule_delay);
|
||||
ATOMIC_STORE(&last_stat_.avg_delay_arr_.submit_delay_us_, avg_submit_delay);
|
||||
ATOMIC_STORE(&last_stat_.avg_delay_arr_.device_delay_us_, avg_device_delay);
|
||||
ATOMIC_STORE(&last_stat_.avg_delay_arr_.total_delay_us_, avg_total_delay);
|
||||
return ret;
|
||||
}
|
||||
int ObIOGroupUsage::calc(double &avg_size, double &avg_iops, int64_t &avg_bw,
|
||||
int64_t &avg_prepare_delay, int64_t &avg_schedule_delay, int64_t &avg_submit_delay, int64_t &avg_device_delay,
|
||||
int64_t &avg_total_delay)
|
||||
@ -587,26 +604,28 @@ int ObIOGroupUsage::calc(double &avg_size, double &avg_iops, int64_t &avg_bw,
|
||||
int ret = OB_SUCCESS;
|
||||
int64_t now = ObTimeUtility::fast_current_time();
|
||||
int64_t last_ts = ATOMIC_LOAD(&last_ts_);
|
||||
if (0 != last_ts && now - last_ts > 1 * 1000L * 1000L && ATOMIC_BCAS(&last_ts_, last_ts, 0)) {
|
||||
if (0 != last_ts && now - last_ts > 0 && ATOMIC_BCAS(&last_ts_, last_ts, 0)) {
|
||||
int64_t size = 0;
|
||||
int64_t io_count = 0;
|
||||
const int64_t diff = now - last_ts;
|
||||
io_count = ATOMIC_SET(&io_count_, 0);
|
||||
size = ATOMIC_SET(&size_, 0);
|
||||
ATOMIC_STORE(&last_io_ps_record_, io_count * 1000L * 1000L / diff);
|
||||
ATOMIC_STORE(&last_io_bw_record_, size * 1000L * 1000L / diff);
|
||||
ATOMIC_STORE(&last_ts_, now);
|
||||
if (io_count != 0) {
|
||||
avg_size = static_cast<double>(size) / io_count;
|
||||
avg_prepare_delay = total_prepare_delay_ / io_count;
|
||||
avg_schedule_delay = total_schedule_delay_ / io_count;
|
||||
avg_submit_delay = total_submit_delay_ / io_count;
|
||||
avg_device_delay = total_device_delay_ / io_count;
|
||||
avg_total_delay = total_total_delay_ / io_count;
|
||||
avg_prepare_delay = total_delay_arr_.prepare_delay_us_ / io_count;
|
||||
avg_schedule_delay = total_delay_arr_.schedule_delay_us_ / io_count;
|
||||
avg_submit_delay = total_delay_arr_.submit_delay_us_ / io_count;
|
||||
avg_device_delay = total_delay_arr_.device_delay_us_ / io_count;
|
||||
avg_total_delay = total_delay_arr_.total_delay_us_ / io_count;
|
||||
}
|
||||
avg_iops = static_cast<double>(io_count * 1000L * 1000L) / diff;
|
||||
avg_bw = size * 1000L * 1000L / diff;
|
||||
clear();
|
||||
if (OB_FAIL(record(avg_size, avg_iops, avg_bw, avg_prepare_delay, avg_schedule_delay, avg_submit_delay, avg_device_delay, avg_total_delay))) {
|
||||
LOG_WARN("record io group usage failed", K(ret), K(*this));
|
||||
} else if (OB_FAIL(clear())) {
|
||||
LOG_WARN("clear io group usage failed", K(ret), K(*this));
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -1169,7 +1188,6 @@ int ObIOSender::enqueue_request(ObIORequest &req)
|
||||
LOG_WARN("push new req into phy queue failed", K(ret));
|
||||
} else {
|
||||
inc_queue_count(req);
|
||||
ATOMIC_INC(&sender_req_count_);
|
||||
if (OB_NOT_NULL(req.io_result_)) {
|
||||
req.io_result_->time_log_.enqueue_ts_ = ObTimeUtility::fast_current_time();
|
||||
}
|
||||
|
@ -164,55 +164,78 @@ struct ObIOUsageInfo
|
||||
TO_STRING_KV(K(io_stat_), K(io_estimator_), K(avg_iops_), K(avg_byte_), K(avg_prepare_delay_us_), K(avg_schedule_delay_us_), K(avg_submit_delay_us_), K(avg_device_delay_us_), K(avg_total_delay_us_));
|
||||
};
|
||||
|
||||
// avg delay array (us)
|
||||
struct ObIODelayArr
|
||||
{
|
||||
ObIODelayArr():prepare_delay_us_(0), schedule_delay_us_(0), submit_delay_us_(0), device_delay_us_(0), total_delay_us_(0)
|
||||
{}
|
||||
~ObIODelayArr(){}
|
||||
int64_t prepare_delay_us_;
|
||||
int64_t schedule_delay_us_;
|
||||
int64_t submit_delay_us_;
|
||||
int64_t device_delay_us_;
|
||||
int64_t total_delay_us_;
|
||||
void inc(const int prepare_delay, const int64_t schedule_delay, const int64_t submit_delay,
|
||||
const int64_t device_delay, const int64_t total_delay)
|
||||
{
|
||||
ATOMIC_FAA(&prepare_delay_us_, prepare_delay);
|
||||
ATOMIC_FAA(&schedule_delay_us_, schedule_delay);
|
||||
ATOMIC_FAA(&submit_delay_us_, submit_delay);
|
||||
ATOMIC_FAA(&device_delay_us_, device_delay);
|
||||
ATOMIC_FAA(&total_delay_us_, total_delay);
|
||||
}
|
||||
int reset()
|
||||
{
|
||||
ATOMIC_SET(&prepare_delay_us_, 0);
|
||||
ATOMIC_SET(&schedule_delay_us_, 0);
|
||||
ATOMIC_SET(&submit_delay_us_, 0);
|
||||
ATOMIC_SET(&device_delay_us_, 0);
|
||||
ATOMIC_SET(&total_delay_us_, 0);
|
||||
return OB_SUCCESS;
|
||||
}
|
||||
TO_STRING_KV(K(prepare_delay_us_), K(schedule_delay_us_), K(submit_delay_us_), K(device_delay_us_), K(total_delay_us_));
|
||||
};
|
||||
|
||||
struct ObIOGroupUsage
|
||||
{
|
||||
struct ObIOLastStat
|
||||
{
|
||||
ObIOLastStat() : avg_size_(0), avg_iops_(0), avg_bw_(0), avg_delay_arr_()
|
||||
{}
|
||||
~ObIOLastStat()
|
||||
{}
|
||||
double avg_size_;
|
||||
double avg_iops_;
|
||||
int64_t avg_bw_;
|
||||
ObIODelayArr avg_delay_arr_;
|
||||
TO_STRING_KV(K(avg_size_), K(avg_iops_), K(avg_bw_), K(avg_delay_arr_));
|
||||
};
|
||||
ObIOGroupUsage()
|
||||
: last_ts_(ObTimeUtility::fast_current_time()),
|
||||
io_count_(0),
|
||||
size_(0),
|
||||
last_io_ps_record_(0),
|
||||
last_io_bw_record_(0),
|
||||
total_prepare_delay_(0),
|
||||
total_schedule_delay_(0),
|
||||
total_submit_delay_(0),
|
||||
total_device_delay_(0),
|
||||
total_total_delay_(0)
|
||||
: last_ts_(ObTimeUtility::fast_current_time()), last_stat_(), io_count_(0), size_(0), total_delay_arr_()
|
||||
{}
|
||||
int calc(double &avg_size, double &avg_iops, int64_t &avg_bw, int64_t &avg_prepare_delay,
|
||||
int64_t &avg_schedule_delay, int64_t &avg_submit_delay, int64_t &avg_device_delay, int64_t &avg_total_delay);
|
||||
int calc(double &avg_size, double &avg_iops, int64_t &avg_bw, int64_t &avg_prepare_delay, int64_t &avg_schedule_delay,
|
||||
int64_t &avg_submit_delay, int64_t &avg_device_delay, int64_t &avg_total_delay);
|
||||
void inc(const int64_t size, const int prepare_delay, const int64_t schedule_delay, const int64_t submit_delay,
|
||||
const int64_t device_delay, const int64_t total_delay)
|
||||
{
|
||||
ATOMIC_FAA(&size_, size);
|
||||
ATOMIC_FAA(&io_count_, 1);
|
||||
ATOMIC_FAA(&total_prepare_delay_, prepare_delay);
|
||||
ATOMIC_FAA(&total_schedule_delay_, schedule_delay);
|
||||
ATOMIC_FAA(&total_submit_delay_, submit_delay);
|
||||
ATOMIC_FAA(&total_device_delay_, device_delay);
|
||||
ATOMIC_FAA(&total_total_delay_, total_delay);
|
||||
total_delay_arr_.inc(prepare_delay, schedule_delay, submit_delay, device_delay, total_delay);
|
||||
}
|
||||
int clear()
|
||||
{
|
||||
ATOMIC_SET(&total_prepare_delay_, 0);
|
||||
ATOMIC_SET(&total_schedule_delay_, 0);
|
||||
ATOMIC_SET(&total_submit_delay_, 0);
|
||||
ATOMIC_SET(&total_device_delay_, 0);
|
||||
ATOMIC_SET(&total_total_delay_, 0);
|
||||
return OB_SUCCESS;
|
||||
int ret = total_delay_arr_.reset();
|
||||
return ret;
|
||||
}
|
||||
int64_t last_ts_;
|
||||
int record(const double avg_size, const double avg_iops, const int64_t avg_bw, const int64_t avg_prepare_delay,
|
||||
const int64_t avg_schedule_delay, const int64_t avg_submit_delay, const int64_t avg_device_delay,
|
||||
const int64_t avg_total_delay);
|
||||
int64_t last_ts_; // us
|
||||
ObIOLastStat last_stat_;
|
||||
int64_t io_count_;
|
||||
int64_t size_;
|
||||
int64_t last_io_ps_record_; // iops
|
||||
int64_t last_io_bw_record_; // iobw
|
||||
int64_t total_prepare_delay_; // us
|
||||
int64_t total_schedule_delay_;
|
||||
int64_t total_submit_delay_;
|
||||
int64_t total_device_delay_;
|
||||
int64_t total_total_delay_;
|
||||
TO_STRING_KV(K(last_ts_), K(io_count_), K(size_), K(last_io_ps_record_), K(last_io_bw_record_),
|
||||
K(total_prepare_delay_), K(total_schedule_delay_), K(total_submit_delay_), K(total_device_delay_),
|
||||
K(total_total_delay_));
|
||||
ObIODelayArr total_delay_arr_; // us
|
||||
TO_STRING_KV(K(last_ts_), K(last_stat_), K(io_count_), K(size_), K(total_delay_arr_));
|
||||
};
|
||||
|
||||
struct ObIOFailedReqUsageInfo : ObIOGroupUsage
|
||||
@ -618,6 +641,7 @@ struct ObIOFuncUsageByMode : ObIOGroupUsage
|
||||
{
|
||||
};
|
||||
typedef ObSEArray<ObIOFuncUsageByMode, static_cast<uint8_t>(ObIOGroupMode::MODECNT)> ObIOFuncUsage;
|
||||
typedef ObSEArray<ObIOFuncUsage, static_cast<uint8_t>(share::ObFunctionType::MAX_FUNCTION_NUM)> ObIOFuncUsageArr;
|
||||
struct ObIOFuncUsages
|
||||
{
|
||||
public:
|
||||
@ -625,7 +649,7 @@ public:
|
||||
~ObIOFuncUsages() = default;
|
||||
int accumulate(ObIORequest &req);
|
||||
TO_STRING_KV(K(func_usages_));
|
||||
ObSEArray<ObIOFuncUsage, static_cast<uint8_t>(share::ObFunctionType::MAX_FUNCTION_NUM)> func_usages_;
|
||||
ObIOFuncUsageArr func_usages_;
|
||||
};
|
||||
|
||||
// Device Health status
|
||||
|
@ -48,8 +48,8 @@ ObString oceanbase::share::get_io_function_name(ObFunctionType function_type)
|
||||
case ObFunctionType::PRIO_DDL_HIGH:
|
||||
ret_name = ObString("DDL_HIGH");
|
||||
break;
|
||||
case ObFunctionType::PRIO_SERVER_BACKGROUND_LOW:
|
||||
ret_name = ObString("SERVER_BACKGROUND_LOW");
|
||||
case ObFunctionType::PRIO_GC_MACRO_BLOCK:
|
||||
ret_name = ObString("GC_MACRO_BLOCK");
|
||||
break;
|
||||
case ObFunctionType::PRIO_CLOG_LOW:
|
||||
ret_name = ObString("CLOG_LOW");
|
||||
|
@ -37,13 +37,13 @@ enum ObFunctionType : uint8_t
|
||||
PRIO_HA_LOW = 6,
|
||||
PRIO_DDL = 7,
|
||||
PRIO_DDL_HIGH = 8,
|
||||
PRIO_SERVER_BACKGROUND_LOW = 9, // block manager scans for bad blocks in the background
|
||||
PRIO_GC_MACRO_BLOCK = 9, // block manager scans for bad blocks in the background
|
||||
PRIO_CLOG_LOW = 10,
|
||||
PRIO_CLOG_MID = 11,
|
||||
PRIO_CLOG_HIGH = 12,
|
||||
PRIO_EXTERNAL = 13,
|
||||
PRIO_EXPORT = 14,
|
||||
|
||||
/* add new function type here, or you will have compatibility issues. */
|
||||
|
||||
MAX_FUNCTION_NUM
|
||||
};
|
||||
|
@ -1087,7 +1087,7 @@ int ObBlockManager::mark_macro_blocks(
|
||||
const uint64_t tenant_id = mtl_tenant_ids.at(i);
|
||||
MacroBlockId macro_id;
|
||||
MTL_SWITCH(tenant_id) {
|
||||
CONSUMER_GROUP_FUNC_GUARD(ObFunctionType::PRIO_SERVER_BACKGROUND_LOW);
|
||||
CONSUMER_GROUP_FUNC_GUARD(ObFunctionType::PRIO_GC_MACRO_BLOCK);
|
||||
if (OB_FAIL(mark_tenant_blocks(mark_info, macro_id_set,
|
||||
tmp_status))) {
|
||||
LOG_WARN("fail to mark tenant blocks", K(ret), K(tenant_id));
|
||||
|
@ -406,6 +406,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys
|
||||
| def | oceanbase | GV$OB_COMPACTION_SUGGESTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_DTL_INTERM_RESULT_MONITOR | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_FLT_TRACE_CONFIG | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_FUNCTION_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_GROUP_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_KVCACHE | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_KV_CONNECTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
@ -479,6 +480,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys
|
||||
| def | oceanbase | V$OB_COMPATIBILITY_CONTROL | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_DTL_INTERM_RESULT_MONITOR | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_ENCRYPTED_TABLES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_FUNCTION_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_GROUP_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_KVCACHE | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_KV_CONNECTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
@ -791,6 +793,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys
|
||||
| def | oceanbase | __all_virtual_files | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_flt_config | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_freeze_info | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_function_io_stat | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_global_transaction | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_group_io_stat | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_import_table_job | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
@ -1955,6 +1958,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys
|
||||
| def | oceanbase | GV$OB_COMPACTION_SUGGESTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_DTL_INTERM_RESULT_MONITOR | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_FLT_TRACE_CONFIG | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_FUNCTION_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_GROUP_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_KVCACHE | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | GV$OB_KV_CONNECTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
@ -2028,6 +2032,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys
|
||||
| def | oceanbase | V$OB_COMPATIBILITY_CONTROL | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_DTL_INTERM_RESULT_MONITOR | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_ENCRYPTED_TABLES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_FUNCTION_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_GROUP_IO_STAT | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_KVCACHE | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | V$OB_KV_CONNECTIONS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
@ -2339,6 +2344,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys
|
||||
| def | oceanbase | __all_virtual_files | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_flt_config | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_freeze_info | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_function_io_stat | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_global_transaction | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_group_io_stat | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
| def | oceanbase | __all_virtual_import_table_job | SYSTEM TABLE | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | 0 | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | |
|
||||
|
@ -6968,6 +6968,38 @@ POS bigint(0) unsigned NO
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from information_schema.INNODB_SYS_FOREIGN_COLS limit 1);
|
||||
cnt
|
||||
1
|
||||
desc oceanbase.GV$OB_FUNCTION_IO_STAT;
|
||||
Field Type Null Key Default Extra
|
||||
SVR_IP varchar(46) NO NULL
|
||||
SVR_PORT bigint(20) NO NULL
|
||||
TENANT_ID bigint(20) NO NULL
|
||||
FUNCTION_NAME varchar(32) NO NULL
|
||||
MODE varchar(32) NO NULL
|
||||
SIZE bigint(20) NO NULL
|
||||
REAL_IOPS bigint(20) NO NULL
|
||||
REAL_MBPS bigint(20) NO NULL
|
||||
SCHEDULE_US bigint(20) NO NULL
|
||||
IO_DELAY_US bigint(20) NO NULL
|
||||
TOTAL_US bigint(20) NO NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.GV$OB_FUNCTION_IO_STAT limit 1);
|
||||
cnt
|
||||
1
|
||||
desc oceanbase.V$OB_FUNCTION_IO_STAT;
|
||||
Field Type Null Key Default Extra
|
||||
SVR_IP varchar(46) NO
|
||||
SVR_PORT bigint(20) NO
|
||||
TENANT_ID bigint(20) NO
|
||||
FUNCTION_NAME varchar(32) NO
|
||||
MODE varchar(32) NO
|
||||
SIZE bigint(20) NO
|
||||
REAL_IOPS bigint(20) NO
|
||||
REAL_MBPS bigint(20) NO
|
||||
SCHEDULE_US bigint(20) NO
|
||||
IO_DELAY_US bigint(20) NO
|
||||
TOTAL_US bigint(20) NO
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_FUNCTION_IO_STAT limit 1);
|
||||
cnt
|
||||
1
|
||||
desc oceanbase.DBA_OB_TEMP_FILES;
|
||||
Field Type Null Key Default Extra
|
||||
SVR_IP varchar(46) NO NULL
|
||||
|
@ -9908,6 +9908,38 @@ POS bigint(0) unsigned NO
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from information_schema.INNODB_SYS_FOREIGN_COLS limit 1);
|
||||
cnt
|
||||
1
|
||||
desc oceanbase.GV$OB_FUNCTION_IO_STAT;
|
||||
Field Type Null Key Default Extra
|
||||
SVR_IP varchar(46) NO NULL
|
||||
SVR_PORT bigint(20) NO NULL
|
||||
TENANT_ID bigint(20) NO NULL
|
||||
FUNCTION_NAME varchar(32) NO NULL
|
||||
MODE varchar(32) NO NULL
|
||||
SIZE bigint(20) NO NULL
|
||||
REAL_IOPS bigint(20) NO NULL
|
||||
REAL_MBPS bigint(20) NO NULL
|
||||
SCHEDULE_US bigint(20) NO NULL
|
||||
IO_DELAY_US bigint(20) NO NULL
|
||||
TOTAL_US bigint(20) NO NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.GV$OB_FUNCTION_IO_STAT limit 1);
|
||||
cnt
|
||||
1
|
||||
desc oceanbase.V$OB_FUNCTION_IO_STAT;
|
||||
Field Type Null Key Default Extra
|
||||
SVR_IP varchar(46) NO
|
||||
SVR_PORT bigint(20) NO
|
||||
TENANT_ID bigint(20) NO
|
||||
FUNCTION_NAME varchar(32) NO
|
||||
MODE varchar(32) NO
|
||||
SIZE bigint(20) NO
|
||||
REAL_IOPS bigint(20) NO
|
||||
REAL_MBPS bigint(20) NO
|
||||
SCHEDULE_US bigint(20) NO
|
||||
IO_DELAY_US bigint(20) NO
|
||||
TOTAL_US bigint(20) NO
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_FUNCTION_IO_STAT limit 1);
|
||||
cnt
|
||||
1
|
||||
desc oceanbase.DBA_OB_TEMP_FILES;
|
||||
Field Type Null Key Default Extra
|
||||
SVR_IP varchar(46) NO NULL
|
||||
|
@ -5191,6 +5191,25 @@ IF(count(*) >= 0, 1, 0)
|
||||
"oceanbase.__all_virtual_vector_index_info runs in single server"
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
desc oceanbase.__all_virtual_function_io_stat;
|
||||
Field Type Null Key Default Extra
|
||||
svr_ip varchar(46) NO PRI NULL
|
||||
svr_port bigint(20) NO PRI NULL
|
||||
tenant_id bigint(20) NO PRI NULL
|
||||
function_name varchar(32) NO PRI NULL
|
||||
mode varchar(32) NO PRI NULL
|
||||
size bigint(20) NO NULL
|
||||
real_iops bigint(20) NO NULL
|
||||
real_mbps bigint(20) NO NULL
|
||||
schedule_us bigint(20) NO NULL
|
||||
io_delay_us bigint(20) NO NULL
|
||||
total_us bigint(20) NO NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_function_io_stat;
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
"oceanbase.__all_virtual_function_io_stat runs in single server"
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
desc oceanbase.__all_virtual_temp_file;
|
||||
Field Type Null Key Default Extra
|
||||
tenant_id bigint(20) NO NULL
|
||||
|
@ -9949,6 +9949,25 @@ IF(count(*) >= 0, 1, 0)
|
||||
"oceanbase.__all_virtual_vector_index_info runs in single server"
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
desc oceanbase.__all_virtual_function_io_stat;
|
||||
Field Type Null Key Default Extra
|
||||
svr_ip varchar(46) NO PRI NULL
|
||||
svr_port bigint(20) NO PRI NULL
|
||||
tenant_id bigint(20) NO PRI NULL
|
||||
function_name varchar(32) NO PRI NULL
|
||||
mode varchar(32) NO PRI NULL
|
||||
size bigint(20) NO NULL
|
||||
real_iops bigint(20) NO NULL
|
||||
real_mbps bigint(20) NO NULL
|
||||
schedule_us bigint(20) NO NULL
|
||||
io_delay_us bigint(20) NO NULL
|
||||
total_us bigint(20) NO NULL
|
||||
select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_function_io_stat;
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
"oceanbase.__all_virtual_function_io_stat runs in single server"
|
||||
IF(count(*) >= 0, 1, 0)
|
||||
1
|
||||
desc oceanbase.__all_virtual_temp_file;
|
||||
Field Type Null Key Default Extra
|
||||
tenant_id bigint(20) NO NULL
|
||||
|
@ -776,6 +776,7 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
12490 __all_virtual_spatial_reference_systems 2 201001 1
|
||||
12492 __all_virtual_ss_local_cache_info 2 201001 1
|
||||
12496 __all_virtual_vector_index_info 2 201001 1
|
||||
12504 __all_virtual_function_io_stat 2 201001 1
|
||||
12505 __all_virtual_temp_file 2 201001 1
|
||||
20001 GV$OB_PLAN_CACHE_STAT 1 201001 1
|
||||
20002 GV$OB_PLAN_CACHE_PLAN_STAT 1 201001 1
|
||||
@ -1250,6 +1251,8 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
21603 INNODB_SYS_FIELDS 1 201002 1
|
||||
21604 INNODB_SYS_FOREIGN 1 201002 1
|
||||
21605 INNODB_SYS_FOREIGN_COLS 1 201002 1
|
||||
21620 GV$OB_FUNCTION_IO_STAT 1 201001 1
|
||||
21621 V$OB_FUNCTION_IO_STAT 1 201001 1
|
||||
21622 DBA_OB_TEMP_FILES 1 201001 1
|
||||
21623 CDB_OB_TEMP_FILES 1 201001 1
|
||||
check sys table count and table_id range success
|
||||
|
Loading…
x
Reference in New Issue
Block a user