View the minor compaction information

2025-11-27 06:23:27  Updated

After a minor compaction is triggered, you can view the compaction progress and history in views.

View the progress of a minor compaction

  1. Log in to the sys tenant or the user tenant of the cluster as the tenant administrator.

  2. View the progress of the minor compaction, such as the amount of data to be compacted and the estimated time of completion.

    The GV$OB_TABLET_COMPACTION_PROGRESS view displays the progress of tablet-level compaction tasks. It only shows tasks that are in progress and no longer displays them after they are completed. The following statement queries the progress of a minor compaction:

    • View the progress of a minor compaction in the sys tenant

      obclient> SELECT * FROM oceanbase.GV$OB_TABLET_COMPACTION_PROGRESS WHERE TYPE='MINI_MERGE'\G
      
    • View the progress of a minor compaction in a user tenant

      • MySQL mode

        obclient> SELECT * FROM oceanbase.GV$OB_TABLET_COMPACTION_PROGRESS WHERE TYPE='MINI_MERGE'\G
        
      • Oracle mode

        obclient> SELECT * FROM SYS.GV$OB_TABLET_COMPACTION_PROGRESS WHERE TYPE='MINI_MERGE'\G
        

    Here is an example of the query result:

    *************************** 1. row ***************************
                          SVR_IP: xx.xx.xx.xx
                        SVR_PORT: 2401
                       TENANT_ID: 1002
                            TYPE: MINI_MERGE
                           LS_ID: 1001
                       TABLET_ID: 1152921504606847235
                  COMPACTION_SCN: 1680514780195130031
                         TASK_ID: Y9610BA2DA3E-0005F7FD6E1FE0FF-0-0
                          STATUS: NODE_RUNNING
                       DATA_SIZE: 31890729
            UNFINISHED_DATA_SIZE: 3351030
    PROGRESSIVE_COMPACTION_ROUND: 1
                     CREATE_TIME: 2023-04-03 17:49:17.278506
                      START_TIME: 2023-04-03 17:51:57.953999
           ESTIMATED_FINISH_TIME: 2023-04-03 23:32:25.969930
                     START_CG_ID: 0
                       END_CG_ID: 0
    1 row in set
    

    The following table describes some of the fields in the result.

    • TYPE: the type of the compaction task.

      • MDS_TABLE_MERGE: persists the system metadata to disk in the format of an SSTable.
      • MAJOR_MERGE: tenant-level compaction.
      • MEDIUM_MERGE: partition-level compaction.
      • MINI_MERGE: Mini compaction that converts a MemTable into a Mini SSTable.
      • MINOR_MERGE: Minor compaction that combines multiple Mini SSTables into one or combines multiple Mini SSTables with one Minor SSTable into one new Minor SSTable.
      • META_MAJOR_MERGE: a special type of compaction that combines data before a specified point in time into one Meta Major SSTable. Its data format is the same as that of a Major SSTable. It does not contain multi-version data or uncommitted transaction data.
    • STATUS: the status of the task. If the task is running, this field contains the value NODE_RUNNING.

    • DATA_SIZE: the total amount of data to be compacted.

    • UNFINISHED_DATA_SIZE: the amount of data that has not been compacted.

    • ESTIMATED_FINISH_TIME: the estimated time of completion.

    For more information about the fields in the GV$OB_TABLET_COMPACTION_PROGRESS view, see GV$OB_TABLET_COMPACTION_PROGRESS.

    If a tablet is not listed in the view or has been in a minor compaction for a long time, you can view the GV$OB_COMPACTION_DIAGNOSE_INFO diagnostic view for further investigation to check whether an exception has occurred.

    For more information about the fields in the GV$OB_COMPACTION_DIAGNOSE_INFO view, see GV$OB_COMPACTION_DIAGNOSE_INFO.

View compaction history

  1. Log in to the sys tenant or a user tenant of the cluster as the tenant administrator.

  2. View the compaction history.

    The GV$OB_TABLET_COMPACTION_HISTORY view displays the history of tablet-level compactions. You can execute the following SQL statements to query the compaction history:

    • View the compaction history in the sys tenant

      obclient> SELECT * FROM oceanbase.GV$OB_TABLET_COMPACTION_HISTORY WHERE TYPE='MINI_MERGE'\G
      
    • View the compaction history in a user tenant

      • MySQL mode

        obclient> SELECT * FROM oceanbase.GV$OB_TABLET_COMPACTION_HISTORY WHERE TYPE='MINI_MERGE'\G
        
      • Oracle mode

        obclient> SELECT * FROM SYS.GV$OB_TABLET_COMPACTION_HISTORY WHERE TYPE='MINI_MERGE'\G
        

    Here is an example of the query result:

    *************************** 1. row ***************************
                                  SVR_IP: 172.xx.xxx.xxx
                                SVR_PORT: 2882
                               TENANT_ID: 1002
                                   LS_ID: 1
                               TABLET_ID: 49402
                                    TYPE: MINI_MERGE
                          COMPACTION_SCN: 1747418403693944001
                              START_TIME: 2025-05-17 02:00:03.718154
                             FINISH_TIME: 2025-05-17 02:00:03.755331
                                 TASK_ID: YB42AC1E87E0-000635386FA2C34E-0-0
                             OCCUPY_SIZE: 2123360
                       MACRO_BLOCK_COUNT: 2
           MULTIPLEXED_MACRO_BLOCK_COUNT: 0
            NEW_MICRO_COUNT_IN_NEW_MACRO: 103
    MULTIPLEXED_MICRO_COUNT_IN_NEW_MACRO: 0
                         TOTAL_ROW_COUNT: 17381
                   INCREMENTAL_ROW_COUNT: 17381
                       COMPRESSION_RATIO: 1
                     NEW_FLUSH_DATA_RATE: 62511
            PROGRESSIVE_COMPACTION_ROUND: 0
              PROGRESSIVE_COMPACTION_NUM: 0
                         PARALLEL_DEGREE: 1
                           PARALLEL_INFO: -
                       PARTICIPANT_TABLE: table_cnt=1,start_scn=1,end_scn=1747418403693944001;
                           MACRO_ID_LIST: 6280,6282
                                COMMENTS: comment="cost_mb=5;";
                             START_CG_ID: 0
                               END_CG_ID: 0
                           KEPT_SNAPSHOT:
                             MERGE_LEVEL: MACRO_BLOCK_LEVEL
                               EXEC_MODE: EXEC_MODE_LOCAL
                           IS_FULL_MERGE: FALSE
                 IO_COST_TIME_PERCENTAGE: 6
                            MERGE_REASON:
                       BASE_MAJOR_STATUS:
                           CO_MERGE_TYPE:
    1 row in set
    

    For more information about the fields in the GV$OB_TABLET_COMPACTION_HISTORY view, see GV$OB_TABLET_COMPACTION_HISTORY.

Contact Us