首批通过分布式安全可靠测评,为关键业务系统打造
oceanbase.CDB_OB_TENANT_EVENT_HISTORY
更新时间:2026-07-13 22:33:20
说明
该视图从 V4.2.0 版本开始引入。
功能描述
视图 CDB_OB_TENANT_EVENT_HISTORY 用于展示本集群中所有租户的历史操作记录。
字段说明
| 字段 | 类型 | 是否为 NULL | 描述 |
|---|---|---|---|
| TENANT_ID | bigint(20) | NO | 租户 ID |
| TIMESTAMP | timestamp(6) | NO | 执行时间,单位微秒 |
| MODULE | varchar(256) | NO | 模块名称 |
| EVENT | varchar(256) | NO | 事件名称 |
| NAME1 | varchar(256) | YES | 第一个属性名称 |
| VALUE1 | longtext | YES | 第一个属性值 |
| NAME2 | varchar(256) | YES | 第二个属性名称 |
| VALUE2 | longtext | YES | 第二个属性值 |
| NAME3 | varchar(256) | YES | 第三个属性名称 |
| VALUE3 | longtext | YES | 第三个属性值 |
| NAME4 | varchar(256) | YES | 第四个属性名称 |
| VALUE4 | longtext | YES | 第四个属性值 |
| NAME5 | varchar(256) | YES | 第五个属性名称 |
| VALUE5 | longtext | YES | 第五个属性值 |
| NAME6 | varchar(256) | YES | 第六个属性名称 |
| VALUE6 | longtext | YES | 第六个属性值 |
| EXTRA_INFO | longtext | YES | 额外的信息 |
| SVR_IP | varchar(46) | YES | 执行动作所在的 OBServer 节点的 IP |
| SVR_PORT | bigint(20) | YES | 执行动作所在的 OBServer 节点的端口号 |
| TRACE_ID | varchar(64) | YES | 执行动作的 Trace ID |
| COST_TIME | bigint(20) | YES | 执行动作所消耗的时间 |
| RET_CODE | bigint(20) | YES | 执行动作的错误码,如果为 0,则表示执行成功 |
| ERROR_MSG | varchar(512) | YES | 执行动作失败后的错误信息 |
典型租户事件示例
以下主要展示了 TENANT ROLE CHANGE(主备租户切换)、SERVICE NAME(服务名)、DBMS_BALANCE 等模块的典型租户事件。
当用户进行不同的模块操作时,所对应的事件 NAME 和 VALUE 值各不相同。
TENANT ROLE CHANGE
TENANT ROLE CHANGE 模块下有 FAILOVER TO PRIMARY 、SWITCHOVER TO PRIMARY、SWITCHOVER TO STANDBY 三种操作。
FAILOVER TO PRIMARY 操作
当用户发起一次
FAILOVER TO PRIMARY操作的时候,租户事件记录表中以下重要事件。FAILOVER TO PRIMARY START
该事件记录了
ALTER SYSTEM ACTIVATE STANDBY命令的具体时刻及相关租户信息。属性 属性值 NAME1:STMT_STR VALUE1:用户输入的命令文本 NAME2:TENANT_INFO VALUE2:租户在命令发起时的状态或者信息 FAILOVER TO PRIMARY END
该事件记录了
ALTER SYSTEM ACTIVATE STANDBY命令完成的精确时刻,包含了执行该操作的租户相关信息,日志流的最终状态,以及关键步骤的耗时细节。属性 属性值 NAME1:STMT_STR VALUE1:用户输入的命令文本 NAME2:TENANT_INFO VALUE2:租户在命令结束时的状态或者信息 NAME3:FAILOVER_SCN VALUE3:租户 FAILOVER 后的同步位点 NAME4:COST_DETAIL VALUE4:命令执行中的阶段耗时统计,单位为微秒 NAME5:ALL_LS VALUE5:租户修改 ACCESS MODE 时的所有日志流状态
SWITCHOVER TO PRIMARY 操作
当用户发起一次
SWITCHOVER TO PRIMARY操作的时候,租户事件记录表中以下重要事件。SWITCHOVER TO PRIMARY START
该事件记录了
ALTER SYSTEM SWITCHOVER TO PRIMARY命令的具体时刻及相关租户信息。属性 属性值 NAME1:STMT_STR VALUE1:用户输入的命令文本 NAME2:TENANT_INFO VALUE2:租户在命令发起时的状态或者信息 WAIT LOG SYNC
该事件记录了租户日志同步的有关信息。当用户执行
ALTER SYSTEM SWITCHOVER TO PRIMARY命令时,涉及到的租户必须等待直到从当前的主租户那里同步到所有最新的日志记录,以确保数据的一致性和完整性。属性 属性值 NAME1:IS_SYS_LS_SYNCED VALUE1:租户的系统日志流是否同步 NAME2:IS_ALL_LS_SYNCED VALUE2:租户的所有日志流是否同步 NAME3:NON_SYNC_INFO VALUE3:如果存在不同步的日志流,系统将显示不同步的日志流数量,并提供同步速度最慢的前五个日志流的相关信息。 SWITCHOVER TO PRIMARY END
该事件记录了
ALTER SYSTEM SWITCHOVER TO PRIMARY命令完成的精确时刻,包含了执行该操作的租户相关信息,日志流的最终状态,以及关键步骤的耗时细节。属性 属性值 NAME1:STMT_STR VALUE1:用户输入的命令文本 NAME2:TENANT_INFO VALUE2:租户在命令结束时的状态或者信息 NAME3:SWITCHOVER_SCN VALUE3:租户 SWITCHOVER 后的同步位点 NAME4:COST_DETAIL VALUE4:命令执行中的阶段耗时统计,单位为微秒 NAME5:ALL_LS VALUE5:租户修改 ACCESS MODE 时的所有日志流状态
SWITCHOVER TO STANDBY 操作
当用户发起一次
SWITCHOVER TO STANDBY操作的时候 ,租户事件记录表中以下重要事件。SWITCHOVER TO STANDBY START
该事件记录了
ALTER SYSTEM SWITCHOVER TO STANDBY命令的具体时刻及相关租户信息。属性 属性值 NAME1:STMT_STR VALUE1:用户输入的命令文本 NAME2:TENANT_INFO VALUE2:租户在命令发起时的状态或者信息 SWITCHOVER TO STANDBY END
该事件记录了
ALTER SYSTEM SWITCHOVER TO STANDBY命令完成的精确时刻,包含了执行该操作的租户相关信息,日志流的最终状态,以及关键步骤的耗时细节。属性 属性值 NAME1:STMT_STR VALUE1:用户输入的命令文本 NAME2:TENANT_INFO VALUE2:租户在命令结束时的状态或者信息 NAME3:SWITCHOVER_SCN VALUE3:租户 SWITCHOVER 后的同步位点 NAME4:COST_DETAIL VALUE4:命令执行中的阶段耗时统计,单位为微秒 NAME5:ALL_LS VALUE5:租户修改 ACCESS MODE 时的所有日志流状态
SERVICE NAME
SERVICE NAME 模块下有 CREATE SERVICE、DELETE SERVICE、START SERVICE、STOP SERVICE 四种操作。
这四种操作可通过 TRACE_ID 进行检索。例如,通过找到创建服务事件,可以根据该事件的 TRACE_ID 追踪到创建服务还触发了广播。
CREATE SERVICE
当某一个用户租户被发起一次创建服务时,会记录以下事件。
BROADCAST SERVICE NAME
该事件详细记录了广播的内容、目标 OBServer 机器的列表,以及最终成功接收广播的 OBServer 机器列表。当用户执行
ALTER SYSTEM CREATE SERVICE命令时,发起该命令的 OBServer 会向涉及该租户的所有 Unit 所在的 OBServer 广播该租户当前的服务名称信息。属性 属性值 NAME1:EPOCH VALUE1:本次广播的租户当前的所有服务名有关信息版本 NAME2:TARGET_SERVICE_NAME_ID VALUE2:触发本次广播事件的 service_name_idNAME3:SERVICE_NAME_LIST VALUE3:租户当前的所有服务名有关信息 NAME4:SERVICE_NAME_COMMAND_TYPE VALUE4:触发本次广播事件的操作类型 NAME5:TARGET_SERVERS_LIST VALUE5:目标广播的机器,租户下 Unit 所在的所有非永久下线机器 NAME6:SUCCESS_SERVERS_LIST VALUE6:广播成功的机器 CREATE SERVICE
该事件记录了需要创建的服务名称,以及服务创建完成后相关的详细信息。用户发起的执行
ALTER SYSTEM CREATE SERVICE命令执行完成后会生成该事件。属性 属性值 NAME1:SERVICE_NAME_STRING VALUE1:用户希望创建的新的服务名名称 NAME2:CREATED_SERVICE_NAME VALUE2:创建出的服务名有关信息
DELETE SERVICE
当某一个用户租户被发起一次删除服务时,会记录以下事件。
DELETE SERVICE
该事件记录了命令发起时刻的有关信息,当用户发起的
ALTER SYSTEM DELETE SERVICE命令执行完成后会生成该事件。属性 属性值 NAME1:DELETED_SERVICE_NAME VALUE1:想要删除的服务名有关信息
START SERVICE
当某一个用户租户被发起一次启动服务时,会记录以下事件。
BROADCAST SERVICE NAME
该事件详细记录了广播的内容、目标 OBServer 机器的列表,以及最终成功接收广播的 OBServer 机器列表。当用户执行
ALTER SYSTEM SERVICE NAME命令时,发起该命令的 OBServer 会向涉及该租户的所有 Unit 所在的 OBServer 广播该租户当前的服务名称信息。属性 属性值 NAME1:EPOCH VALUE1:本次广播的租户当前的所有服务名有关信息版本 NAME2:TARGET_SERVICE_NAME_ID VALUE2:触发本次广播事件的 service _name _idNAME3:SERVICE_NAME_LIST VALUE3:租户当前的所有 service_nameNAME4:SERVICE_NAME_COMMAND_TYPE VALUE4:触发本次广播事件的操作类型 NAME5:TARGET_SERVERS_LIST VALUE5:目标广播的机器,租户下 Unit 所在的所有非永久下线机器 NAME6:SUCCESS_SERVERS_LIST VALUE6:广播成功的机器 START SERVICE
该事件记录了命令发起时刻以及结束时刻的有关信息,用户发起的执行
ALTER SYSTEM START SERVICE命令执行完成后会生成该事件。属性 属性值 NAME1:SERVICE_NAME_BEFORE VALUE1:启动服务前的服务名有关信息 NAME2:SERVICE_NAME_AFTER VALUE2:启动服务后的服务名有关信息
STOP SERVICE
当某一个用户租户被发起一次停止服务时,会记录以下事件。
KILL CONNECTIONS OF SERVICE NAME
每一个 OBServer 都会终止在其上通过被停止的服务名建立的连接,然后在租户事件视图中生成一条记录。如果某个 OBServer 上没有通过被停止的服务名建立的连接,则该事件不会被记录在表中。
属性 属性值 NAME1:SERVICE_NAME VALUE1:被停止的服务名的有关信息 NAME2:KILLED_CONNECTIONS_COUNT VALUE2:杀掉的连接数 NAME3:KILLED_CONNECTIONS_LIST VALUE3:杀掉的连接对应的 ID BROADCAST SERVICE NAME
该事件详细记录了广播的内容、目标 OBServer 机器的列表,以及最终成功接收广播的 OBServer 机器列表。当用户执行
ALTER SYSTEM STOP SERVICE命令时,发起该命令的 OBServer 会向涉及该租户的所有 Unit 所在的 OBServer 广播该租户当前的服务名称信息。属性 属性值 NAME1:EPOCH VALUE1:本次广播的租户当前的所有服务名有关信息版本 NAME2:TARGET_SERVICE_NAME _ID VALUE2:触发本次广播事件的 service _name _idNAME3:SERVICE_NAME_LIST VALUE3:租户当前的所有 service_nameNAME4:SERVICE_NAME_COMMAND_TYPE VALUE4:触发本次广播事件的操作类型 NAME5:TARGET_SERVERS_LIST VALUE5:目标广播的机器,租户下 Unit 所在的所有非永久下线机器 NAME6:SUCCESS_SERVERS_LIST VALUE6:广播成功的机器 STOP SERVICE
该事件记录了命令发起时刻以及结束时刻的有关信息,用户发起的执行
ALTER SYSTEM STOP SERVICE命令执行完成后会生成该事件。属性 属性值 NAME1:SERVICE_NAME_BEFORE VALUE1:停止服务前的服务名有关信息 NAME2:SERVICE_NAME_AFTER VALUE2:停止服务后的服务名有关信息
DBMS_BALANCE
DBMS_BALANCE 模块下有 TRIGGER PARTITION BALANCE 、SET BALANCE WEIGHT、CLEAR BALANCE WEIGHT、CLEAR EXPIRED BALANCE WEIGHT 4 种操作。
TRIGGER PARTITION BALANCE 操作
当用户发起一次
DBMS_BALANCE.TRIGGER_PARTITION_BALANCE操作时,租户事件记录表中就会记录TRIGGER PARTITION BALANCE事件。TRIGGER PARTITION BALANCE事件记录了DBMS_BALANCE.TRIGGER_PARTITION_BALANCE命令发起的具体时刻及相关参数信息。属性 属性值 NAME1:BALANCE_TIMEOUT_S VALUE1:触发均衡时的超时参数,单位秒 SET BALANCE WEIGHT
当用户发起一次
DBMS_BALANCE.SET_BALANCE_WEIGHT操作时,租户事件记录表中就会记录SET BALANCE WEIGHT事件。SET BALANCE WEIGHT事件记录了DBMS_BALANCE.SET_BALANCE_WEIGHT命令发起的具体时刻及相关参数信息。属性 属性值 NAME1:WEIGHT VALUE1:分区权重 NAME2:DATABASE_NAME VALUE2:设置分区权重的表所属的数据库名 NAME3:TABLE_NAME VALUE3:设置分区权重的表的表名 NAME4:PARTITION_NAME VALUE4:设置分区权重的一级分区名 NAME5:SUBPARTITION_NAME VALUE5:设置分区权重的二级分区名 CLEAR BALANCE WEIGHT
当用户发起一次
DBMS_BALANCE.CLEAR_BALANCE_WEIGHT操作时,租户事件记录表中就会记录CLEAR BALANCE WEIGHT事件。CLEAR BALANCE WEIGHT事件记录了DBMS_BALANCE.CLEAR_BALANCE_WEIGHT命令发起的具体时刻及相关参数信息。属性 属性值 NAME1:DATABASE_NAME VALUE1:清除分区权重的表所属的数据库名 NAME2:TABLE_NAME VALUE2:清除分区权重的表的表名 NAME3:PARTITION_NAME VALUE3:清除分区权重的一级分区名 NAME4:SUBPARTITION_NAME VALUE4:清除分区权重的二级分区名 CLEAR EXPIRED BALANCE WEIGHT
当后台线程清理失效的分区权重时,租户事件记录表中就会记录
CLEAR EXPIRED BALANCE WEIGHT事件。CLEAR EXPIRED BALANCE WEIGHT事件记录了后台清理失效分区权重的具体时刻及相关参数信息。属性 属性值 NAME1:TABLE_NAME VALUE1:清理的失效分区权重的表的表名 NAME2:PARTITION_NAME VALUE2:清理的失效分区权重的一级分区名 NAME3:SUBPARTITION_NAME VALUE3:清理的失效分区权重的二级分区名
查询示例
查询本集群中 1002 租户的历史操作记录。
obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_TENANT_EVENT_HISTORY WHERE TENANT_ID = 1002 AND EVENT = 'SWITCHOVER TO STANDBY END'\G
查询结果如下:
*************************** 1. row ***************************
TENANT_ID: 1002
TIMESTAMP: 2023-12-14 14:33:20.321725
MODULE: TENANT ROLE CHANGE
EVENT: SWITCHOVER TO STANDBY END
NAME1: STMT_STR
VALUE1: ALTER SYSTEM SWITCHOVER TO STANDBY TENANT backup_mysql_tenant
NAME2: TENANT_INFO
VALUE2: {tenant_id:1002, tenant_role:"STANDBY", switchover_status:"NORMAL", switchover_epoch:1702535600271677, sync_scn:1702535620070597000, replayable_scn:1702535620070597000, readable_scn:1702535620070597000, recovery_until_scn:4611686018427387903, log_mode:"ARCHIVELOG", max_ls_id:1003}
NAME3: SWITCHOVER_SCN
VALUE3: 1702535620070597000
NAME4: COST_DETAIL
VALUE4: WAIT_LOG_END: 100190, CHANGE_ACCESS_MODE: 47261, OTHERS: 136839
NAME5: ALL_LS
VALUE5: NORMAL: 1, 1001, 1002, 1003
NAME6: NULL
VALUE6:
EXTRA_INFO: NULL
SVR_IP: 100.xx.xx.xx
SVR_PORT: 13324
TRACE_ID: Y340C64586BD4-00060C724AEB962B-0-0
COST_TIME: 284290
RET_CODE: 0
ERROR_MSG: NULL
1 row in set