Note
This view is available starting with V4.2.0.
Purpose
The CDB_OB_TENANT_EVENT_HISTORY view displays the historical operation records of all tenants in the cluster.
Columns
| Column | Type | Nullable | Description |
|---|---|---|---|
| TENANT_ID | bigint(20) | NO | The tenant ID. |
| TIMESTAMP | timestamp(6) | NO | The execution time, in microseconds. |
| MODULE | varchar(256) | NO | The module name. |
| EVENT | varchar(256) | NO | The event name. |
| NAME1 | varchar(256) | YES | The name of the first attribute. |
| VALUE1 | longtext | YES | The value of the first attribute. |
| NAME2 | varchar(256) | YES | The name of the second attribute. |
| VALUE2 | longtext | YES | The value of the second attribute. |
| NAME3 | varchar(256) | YES | The name of the third attribute. |
| VALUE3 | longtext | YES | The value of the third attribute. |
| NAME4 | varchar(256) | YES | The name of the fourth attribute. |
| VALUE4 | longtext | YES | The value of the fourth attribute. |
| NAME5 | varchar(256) | YES | The name of the fifth attribute. |
| VALUE5 | longtext | YES | The value of the fifth attribute. |
| NAME6 | varchar(256) | YES | The name of the sixth attribute. |
| VALUE6 | longtext | YES | The value of the sixth attribute. |
| EXTRA_INFO | longtext | YES | Additional information. |
| SVR_IP | varchar(46) | YES | The IP address of the OBServer node where the action was executed. |
| SVR_PORT | bigint(20) | YES | The port number of the OBServer node where the action was executed. |
| TRACE_ID | varchar(64) | YES | The trace ID of the action. |
| COST_TIME | bigint(20) | YES | The time consumed by the action. |
| RET_CODE | bigint(20) | YES | The error code of the action. If the value is 0, the action was successful. |
| ERROR_MSG | varchar(512) | YES | The error message returned after the action failed. |
Sample tenant events
The following examples show the TENANT ROLE CHANGE (primary/standby tenant switch), SERVICE NAME (service name), and DBMS_BALANCE modules.
The NAME and VALUE values vary depending on the module operation.
TENANT ROLE CHANGE
TENANT ROLE CHANGE module contains the FAILOVER TO PRIMARY, SWITCHOVER TO PRIMARY, and SWITCHOVER TO STANDBY operations.
FAILOVER TO PRIMARY operation
When you initiate a
FAILOVER TO PRIMARYoperation, the following important events are recorded in the tenant event record table.FAILOVER TO PRIMARY START
This event records the specific time when the
ALTER SYSTEM ACTIVATE STANDBYcommand was executed, along with the relevant tenant information.Attribute Attribute Value NAME1: STMT_STR VALUE1: The text of the command entered by the user. NAME2: TENANT_INFO VALUE2: The status or information of the tenant at the time the command was initiated. FAILOVER TO PRIMARY END
This event records the exact time when the
ALTER SYSTEM ACTIVATE STANDBYcommand was completed, along with the relevant tenant information, the final status of the log streams, and the time spent on key steps.Attribute Attribute Value NAME1: STMT_STR VALUE1: The text of the command entered by the user. NAME2: TENANT_INFO VALUE2: The status or information of the tenant at the time the command was completed. NAME3: FAILOVER_SCN VALUE3: The synchronization point after the tenant fails over. NAME4: COST_DETAIL VALUE4: The time spent on each stage of the command execution, in microseconds. NAME5: ALL_LS VALUE5: The status of all log streams when the tenant modifies the ACCESS MODE.
SWITCHOVER TO PRIMARY operation
When you initiate a
SWITCHOVER TO PRIMARYoperation, the following important events are recorded in the tenant event record table.SWITCHOVER TO PRIMARY START
This event records the specific time when the
ALTER SYSTEM SWITCHOVER TO PRIMARYcommand was executed, along with the relevant tenant information.Attribute Attribute Value NAME1: STMT_STR VALUE1: The text of the command entered by the user. NAME2: TENANT_INFO VALUE2: The status or information of the tenant at the time the command was initiated. WAIT LOG SYNC
This event records information about log synchronization. When you execute the
ALTER SYSTEM SWITCHOVER TO PRIMARYcommand, the involved tenant must wait until all the latest log records are synchronized from the current primary tenant to ensure data consistency and integrity.Attribute Attribute Value NAME1: IS_SYS_LS_SYNCED VALUE1: Indicates whether the system log stream of the tenant is synchronized. NAME2: IS_ALL_LS_SYNCED VALUE2: Indicates whether all log streams of the tenant are synchronized. NAME3: NON_SYNC_INFO VALUE3: If there are unsynchronized log streams, the system displays the number of unsynchronized log streams and provides information about the top five log streams with the slowest synchronization speed. SWITCHOVER TO PRIMARY END
This event records the exact time when the
ALTER SYSTEM SWITCHOVER TO PRIMARYcommand was completed, along with the relevant tenant information, the final status of the log streams, and the time spent on key steps.Attribute Attribute Value NAME1: STMT_STR VALUE1: The text of the command entered by the user. NAME2: TENANT_INFO VALUE2: The status or information of the tenant at the time the command was completed. NAME3: SWITCHOVER_SCN VALUE3: The synchronization point after the tenant switches over. NAME4: COST_DETAIL VALUE4: The time spent on each stage of the command execution, in microseconds. NAME5: ALL_LS VALUE5: The status of all log streams when the tenant modifies the ACCESS MODE.
SWITCHOVER TO STANDBY operation
When you initiate a
SWITCHOVER TO STANDBYoperation, the following important events are recorded in the tenant event record table.SWITCHOVER TO STANDBY START
This event records the specific time when the
ALTER SYSTEM SWITCHOVER TO STANDBYcommand was executed, along with the relevant tenant information.Attribute Attribute Value NAME1: STMT_STR VALUE1: The text of the command entered by the user. NAME2: TENANT_INFO VALUE2: The status or information of the tenant at the time the command was initiated. SWITCHOVER TO STANDBY END
This event records the exact time when the
ALTER SYSTEM SWITCHOVER TO STANDBYcommand was completed, along with the relevant tenant information, the final status of the log streams, and the time spent on key steps.Attribute Attribute Value NAME1: STMT_STR VALUE1: The text of the command entered by the user. NAME2: TENANT_INFO VALUE2: The status or information of the tenant at the time the command was completed. NAME3: SWITCHOVER_SCN VALUE3: The synchronization point after the tenant switches over. NAME4: COST_DETAIL VALUE4: The time spent on each stage of the command execution, in microseconds. NAME5: ALL_LS VALUE5: The status of all log streams when the tenant modifies the ACCESS MODE.
SERVICE NAME
The SERVICE NAME module supports the following four operations: CREATE SERVICE, DELETE SERVICE, START SERVICE, and STOP SERVICE.
You can use TRACE_ID to trace these operations. For example, you can find the event of creating a service and trace to the broadcast triggered by the event based on the TRACE_ID.
CREATE SERVICE
When a user initiates a service creation for a user tenant, the system records the following events.
BROADCAST SERVICE NAME
This event records the content of the broadcast, the list of target OBServer nodes, and the list of OBServer nodes that successfully received the broadcast. When a user executes the
ALTER SYSTEM CREATE SERVICEcommand, the OBServer node that initiates the command broadcasts the current service name information of the tenant to all OBServer nodes hosting units of the tenant.Property Value NAME1: EPOCH VALUE1: The version of the current service name information of the tenant for this broadcast. NAME2: TARGET_SERVICE_NAME_ID VALUE2: The service_name_idthat triggered this broadcast event.NAME3: SERVICE_NAME_LIST VALUE3: The current service name information of the tenant. NAME4: SERVICE_NAME_COMMAND_TYPE VALUE4: The type of the operation that triggered this broadcast event. NAME5: TARGET_SERVERS_LIST VALUE5: The list of target OBServer nodes. These are all non-permanently offline nodes hosting units of the tenant. NAME6: SUCCESS_SERVERS_LIST VALUE6: The list of OBServer nodes that successfully received the broadcast. CREATE SERVICE
This event records the name of the service to be created and the detailed information after the service is created. When a user executes the
ALTER SYSTEM CREATE SERVICEcommand, the system generates this event.Property Value NAME1: SERVICE_NAME_STRING VALUE1: The name of the new service to be created. NAME2: CREATED_SERVICE_NAME VALUE2: The information about the created service.
DELETE SERVICE
When a user initiates a service deletion for a user tenant, the system records the following events.
DELETE SERVICE
This event records the information at the time when the command is initiated. When a user executes the
ALTER SYSTEM DELETE SERVICEcommand, the system generates this event.Property Value NAME1: DELETED_SERVICE_NAME VALUE1: The information about the service to be deleted.
START SERVICE
When a user initiates a service start for a user tenant, the system records the following events.
BROADCAST SERVICE NAME
This event records the content of the broadcast, the list of target OBServer nodes, and the list of OBServer nodes that successfully received the broadcast. When a user executes the
ALTER SYSTEM SERVICE NAMEcommand, the OBServer node that initiates the command broadcasts the current service name information of the tenant to all OBServer nodes hosting units of the tenant.Property Value NAME1: EPOCH VALUE1: The version of the current service name information of the tenant for this broadcast. NAME2: TARGET_SERVICE_NAME_ID VALUE2: The service _name _idthat triggered this broadcast event.NAME3: SERVICE_NAME_LIST VALUE3: The current service_nameof the tenant.NAME4: SERVICE_NAME_COMMAND_TYPE VALUE4: The type of the operation that triggered this broadcast event. NAME5: TARGET_SERVERS_LIST VALUE5: The list of target OBServer nodes. These are all non-permanently offline nodes hosting units of the tenant. NAME6: SUCCESS_SERVERS_LIST VALUE6: The list of OBServer nodes that successfully received the broadcast. START SERVICE
This event records the information at the time when the command is initiated and at the time when the command is completed. When a user executes the
ALTER SYSTEM START SERVICEcommand, the system generates this event.Property Value NAME1: SERVICE_NAME_BEFORE VALUE1: The information about the service name before the service is started. NAME2: SERVICE_NAME_AFTER VALUE2: The information about the service name after the service is started.
STOP SERVICE
When a user initiates a service stop for a user tenant, the system records the following events.
KILL CONNECTIONS OF SERVICE NAME
Each OBServer node terminates the connections established through the service name that is being stopped and generates a record in the tenant event view. If no connections are established through the service name that is being stopped on an OBServer node, this event is not recorded in the table.
Property Value NAME1: SERVICE_NAME VALUE1: The information about the service name that is being stopped. NAME2: KILLED_CONNECTIONS_COUNT VALUE2: The number of terminated connections. NAME3: KILLED_CONNECTIONS_LIST VALUE3: The IDs of the terminated connections. BROADCAST SERVICE NAME
This event records the content of the broadcast, the list of target OBServer nodes, and the list of OBServer nodes that successfully received the broadcast. When a user executes the
ALTER SYSTEM STOP SERVICEcommand, the OBServer node that initiates the command broadcasts the current service name information of the tenant to all OBServer nodes hosting units of the tenant.Property Value NAME1: EPOCH VALUE1: The version of the current service name information of the tenant for this broadcast. NAME2: TARGET_SERVICE_NAME _ID VALUE2: The service _name _idthat triggered this broadcast event.NAME3: SERVICE_NAME_LIST VALUE3: The current service_nameof the tenant.NAME4: SERVICE_NAME_COMMAND_TYPE VALUE4: The type of the operation that triggered this broadcast event. NAME5: TARGET_SERVERS_LIST VALUE5: The list of target OBServer nodes. These are all non-permanently offline nodes hosting units of the tenant. NAME6: SUCCESS_SERVERS_LIST VALUE6: The list of OBServer nodes that successfully received the broadcast. STOP SERVICE
This event records the information at the time when the command is initiated and at the time when the command is completed. When a user executes the
ALTER SYSTEM STOP SERVICEcommand, the system generates this event.Attribute Attribute value NAME1: SERVICE_NAME_BEFORE VALUE1: Information about the service name before the service is stopped. NAME2: SERVICE_NAME_AFTER VALUE2: Information about the service name after the service is stopped.
DBMS_BALANCE
The DBMS_BALANCE module provides the following four operations: TRIGGER PARTITION BALANCE, SET BALANCE WEIGHT, CLEAR BALANCE WEIGHT, and CLEAR EXPIRED BALANCE WEIGHT.
TRIGGER PARTITION BALANCE
When you execute the
DBMS_BALANCE.TRIGGER_PARTITION_BALANCEoperation, the system records aTRIGGER PARTITION BALANCEevent in the tenant event record table.The
TRIGGER PARTITION BALANCEevent records the specific time when theDBMS_BALANCE.TRIGGER_PARTITION_BALANCEcommand was executed and related parameters.Attribute Value NAME1: BALANCE_TIMEOUT_S VALUE1: The timeout parameter for triggering balance, in seconds. SET BALANCE WEIGHT
When you execute the
DBMS_BALANCE.SET_BALANCE_WEIGHToperation, the system records aSET BALANCE WEIGHTevent in the tenant event record table.The
SET BALANCE WEIGHTevent records the specific time when theDBMS_BALANCE.SET_BALANCE_WEIGHTcommand was executed and related parameters.Attribute Value NAME1: WEIGHT VALUE1: The weight of the partition. NAME2: DATABASE_NAME VALUE2: The name of the database to which the partition belongs. NAME3: TABLE_NAME VALUE3: The name of the table to which the partition belongs. NAME4: PARTITION_NAME VALUE4: The name of the partition. NAME5: SUBPARTITION_NAME VALUE5: The name of the subpartition. CLEAR BALANCE WEIGHT
When you execute the
DBMS_BALANCE.CLEAR_BALANCE_WEIGHToperation, the system records aCLEAR BALANCE WEIGHTevent in the tenant event record table.The
CLEAR BALANCE WEIGHTevent records the specific time when theDBMS_BALANCE.CLEAR_BALANCE_WEIGHTcommand was executed and related parameters.Attribute Value NAME1: DATABASE_NAME VALUE1: The name of the database to which the partition belongs. NAME2: TABLE_NAME VALUE2: The name of the table to which the partition belongs. NAME3: PARTITION_NAME VALUE3: The name of the partition. NAME4: SUBPARTITION_NAME VALUE4: The name of the subpartition. CLEAR EXPIRED BALANCE WEIGHT
When the background thread clears the weights of expired partitions, the system records a
CLEAR EXPIRED BALANCE WEIGHTevent in the tenant event record table.The
CLEAR EXPIRED BALANCE WEIGHTevent records the specific time when the background thread cleared the weights of expired partitions and related parameters.Attribute Value NAME1: TABLE_NAME VALUE1: The name of the table to which the partition belongs. NAME2: PARTITION_NAME VALUE2: The name of the partition. NAME3: SUBPARTITION_NAME VALUE3: The name of the subpartition.
Sample query
Query the historical operation records of tenant 1002 in the current cluster.
obclient [oceanbase]> SELECT * FROM oceanbase.CDB_OB_TENANT_EVENT_HISTORY WHERE TENANT_ID = 1002 AND EVENT = 'SWITCHOVER TO STANDBY END'\G
The query result is as follows:
*************************** 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