OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Developer Center

V4.3.1

  • Overview
    • What is ODC?
    • Features
    • Architecture
    • Limitations
    • ODC console
  • Quick Start
    • Client ODC
      • Overview
      • Install Client ODC
      • Use Client ODC
    • Web ODC
      • Overview
      • Deploy Web ODC
      • Use Web ODC
  • Data Source Management
    • Create a data source
    • Data sources and project collaboration
    • Database O&M
      • Session management
      • Global variable management
      • Recycle bin management
  • SQL Development
    • SQL editing and execution
    • Perform PL compilation and debugging
    • Use the command-line window
    • Edit and export the result set of an SQL statement
    • Execution analysis
    • Generate test data
    • Database objects
      • Table objects
        • Overview
        • Create a table
        • Manage tables
      • View objects
        • Overview
        • Create a view
        • Manage views
      • Function objects
        • Overview
        • Create a function
        • Manage functions
      • Stored procedure objects
        • Overview
        • Create a stored procedure
        • Manage stored procedures
      • Sequence objects
        • Overview
        • Create a sequence
        • Manage sequences
      • Package objects
        • Overview
        • Create a program package
        • Manage program packages
      • Trigger objects
        • Overview
        • Create a trigger
        • Manage triggers
      • Type objects
        • Overview
        • Create a type
        • Manage types
      • Synonym objects
        • Overview
        • Create a synonym
        • Manage synonyms
  • Import and Export
    • Import schemas and data
    • Export schemas and data
  • Database Change Management
    • User Permission Management
      • Users and roles
      • Automatic authorization
    • Project collaboration management
    • Risk levels, risk identification rules, and approval processes
    • SQL check specifications
    • SQL window specification
    • Database change management
    • Logical database change management
    • Batch database change management
    • Lock-free schema changes
    • Synchronize shadow tables
    • Schema comparison
  • Data Lifecycle Management
    • Archive data
    • Clean up data
    • Partitioning Plan Management
      • Manage partitioning plans
      • Set partitioning strategies
      • Examples
    • SQL plan task
  • Data Desensitization and Auditing
    • Desensitize data
    • Operation records
  • Notification Management
    • Overview
    • View notification records
    • Manage Notification Channel
      • Create a notification channel
      • View, edit, and delete a notification channel
      • Configure a custom channel
    • Manage notification rules
  • System Integration
    • Login integration
    • Approval integration
    • SQL approval integration
  • Deployment Guide
    • Deployment overview
    • Preparations before deployment
    • Load and run an ODC image
    • Deploy ODC in high-availability mode
    • Deployment verification
  • Upgrade Guide
    • Upgrade Overview
    • Preparations before upgrade
    • Update single-node ODC
    • Update high-avaliability ODC
    • Upgrade verification
    • Rollback after upgrade failed
  • Troubleshooting
    • ODC troubleshooting process
    • Collect Message
      • View the runtime environment and version information
      • View web ODC logs
      • View client ODC logs
      • View end-to-end ODC-related logs
      • View ODC MetaDB data
      • Query the index status in OceanBase Database V4.x
      • Query the index status in OceanBase Database V1.4.x to V3.2.x
      • Collect JVM runtime information
      • Use tcpdump to capture packets
    • Common Troubleshooting
      • Deployment Upgrade
        • Web ODC cannot be accessed after startup
      • Database Connection
        • Access denied in a connection trial or test
        • Connection is refused in a connection trial or test
        • Connection times out
        • `Connection reset` is reported for a time-consuming statement
        • `socket write error` or `closed by server` is reported for a connection
      • SQL Execution
        • Disconnection during SQL execution
        • `Over tenant memory limits` is reported during SQL execution
        • `Unknown thread id` is returned during SQL execution
        • `timeout` errors returned during SQL execution
        • `OutOfMemoryError` is returned during SQL execution
        • Incomplete result columns for the SELECT statement
        • Garbled Chinese characters in the SQL execution result set
        • Garbled Chinese data is returned for query of data in GBK encoding
      • PL Object
        • Debugging is not supported for invalid PL objects
        • `JSONException` is reported during PL debugging
        • Garbled variable values in debugging
        • Failed to view PL objects or garbled characters are returned
        • PL objects cannot be executed or an execution error is returned
        • ODC issues during PL debugging
        • PL anonymous block cannot be debugged
        • Alert information of a PL object is unavailable
      • Import and Export
        • Garbled Chinese characters in an imported file in GBK encoding
        • Invalid ZIP package reported during file import
        • Time-type data exported from an Oracle tenant cannot be imported
        • Mismatched columns reported during the import of a single-table CSV file
        • Failed to export a result set in ODC to an Excel file
        • Incorrect display in Excel for a result set exported in CSV format
        • Incomplete data in batch export of multiple tables
        • `javax.crypto.BadPaddingException: Given final block not properly padded` is returned for a data import or export failure
      • Client ODC Problems
        • Client ODC startup failure / H2 Database corruption: Chuck not found
        • Garbled Chinese characters in the command-line window of ODC
        • Failed to install client ODC
        • Client ODC startup failure or no response
        • `Not a valid secret key` is returned for connection creation in client ODC
        • `User does not exist` returned for connection creation in client ODC
        • High memory usage of client ODC
        • Client ODC fails to be installed or start due to a port conflict
      • Front Page Exception
        • JavaScript exception is thrown on the ODC page
        • No response in browser after opening ODC
        • White screen in ODC
      • Account Password Problem
        • Forgot the admin account password in ODC V3.2.0 or later
        • Forgot an account password in ODC V2.4.1 to V3.1.3
        • Forgot an account password in ODC V2.4.0 or earlier
    • FAQ
      • Installation of client ODC
      • Web ODC deployment and startup
      • FAQ
      • Command-line window
      • DDL statement display
  • Release Note
    • V4.3
      • ODC V4.3.2
      • ODC V4.3.1
      • ODC V4.3.0
    • V4.2
      • ODC V4.2.4
      • ODC V4.2.3
      • ODC V4.2.2
      • ODC V4.2.1
      • ODC V4.2.0
    • V4.1
      • ODC V4.1.3
      • ODC V4.1.2
      • ODC V4.1.1
      • ODC V4.1.0
    • V4.0
      • ODC V4.0.2
      • ODC V4.0.0
    • V3.4
      • ODC V3.4.0
    • V3.3
      • ODC V3.3.3
      • ODC V3.3.2
      • ODC V3.3.1
      • ODC V3.3.0
    • V3.2
      • ODC V3.2.3
      • ODC V3.2.2
      • ODC V3.2.1
      • ODC V3.2.0

Download PDF

What is ODC? Features Architecture Limitations ODC console Overview Install Client ODC Use Client ODC Overview Deploy Web ODC Use Web ODC Create a data source Data sources and project collaboration Session management Global variable management Recycle bin management SQL editing and execution Perform PL compilation and debugging Use the command-line window Edit and export the result set of an SQL statement Execution analysis Generate test data Import schemas and data Export schemas and data Users and roles Automatic authorization Project collaboration management Risk levels, risk identification rules, and approval processes SQL check specifications SQL window specification Database change management Logical database change management Batch database change management Lock-free schema changes Synchronize shadow tables Schema comparison Archive data Clean up data Manage partitioning plans Set partitioning strategies Examples SQL plan task Desensitize data Operation records Overview View notification records Create a notification channel View, edit, and delete a notification channel Configure a custom channel Manage notification rules Login integration Approval integration SQL approval integrationDeployment overview Preparations before deployment Load and run an ODC image Deploy ODC in high-availability modeDeployment verification Upgrade OverviewPreparations before upgrade Update single-node ODC Update high-avaliability ODCUpgrade verification Rollback after upgrade failed ODC troubleshooting process View the runtime environment and version information View web ODC logsView client ODC logsView end-to-end ODC-related logsView ODC MetaDB dataQuery the index status in OceanBase Database V4.xQuery the index status in OceanBase Database V1.4.x to V3.2.xCollect JVM runtime informationUse tcpdump to capture packetsInstallation of client ODCWeb ODC deployment and startupFAQCommand-line windowDDL statement display ODC V4.3.2 ODC V4.3.1 ODC V4.3.0 ODC V4.2.4 ODC V4.2.3 ODC V4.2.2 ODC V4.2.1 ODC V4.2.0 ODC V4.1.3 ODC V4.1.2 ODC V4.1.1 ODC V4.1.0 ODC V4.0.2 ODC V4.0.0ODC V3.4.0ODC V3.3.3 ODC V3.3.2 ODC V3.3.1 ODC V3.3.0 ODC V3.2.3 ODC V3.2.2
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Developer Center
  3. V4.3.1
iconOceanBase Developer Center
V 4.3.1
  • V 4.4.2
  • V 4.4.1
  • V 4.4.0
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.4
  • V 4.2.3
  • V 4.2.2
  • V 4.2.1
  • V 4.2.0
  • V 4.1.3 and earlier

Query the index status in OceanBase Database V1.4.x to V3.2.x

Last Updated:2025-01-03 09:45:33  Updated
share
What is on this page
Index status
SQL layer semantics of index creation
Index creation process
Query index status
MySQL mode
Oracle mode
Query index tasks

folded

share

Notice

  • This method is applicable to OceanBase Database V1.4.x to V3.2.x. To query the index progress, you must use the sys tenant account.
  • To query the index progress in OceanBase Database V4.1 and later, you can use a simpler method. For more information, see Query the index status in OceanBase Database V4.x.

Index status

SQL layer semantics of index creation

OceanBase Database is a distributed database. Its index creation process differs from that of a relational database in the following aspects:

  • When you create an index in OceanBase Database V2.2 or earlier, the DDL statement is asynchronously executed. That is, the DDL statement for creating the index is directly returned to the client, and the server side asynchronously executes the index creation task. In OceanBase Database V1.x, an index creation task is executed during a major compaction. In OceanBase DatabaseV2.x or later, an index creation task is executed immediately.

  • When you create an index in OceanBase Database V2.2 or later, the DDL statement is executed immediately. However, the query timeout mechanism on the client side is abandoned. When the OBServer node and ODP process the index change DDL statement, the OBServer node and ODP implicitly change the ob_query_timeout value to 0, which indicates no execution timeout. The query timeout parameter specified on the client side will be ignored. If the socket timeout parameter is specified on the client side, when the index creation takes longer than the socket timeout period, the client will close the connection. However, the database server continues the index creation process.

    Therefore, basically, the index creation process in OceanBase Database remains asynchronously. You can query an internal table to determine the status of an index creation task. This topic describes how to query the index status in OceanBase Database in the MySQL mode and Oracle mode.

Index creation process

The index creation process consists of the following four phases:

  1. Preparation: The system generates index table metadata and sets the index table to a write-only state. The system then waits for the data insertion transactions of the index table to end and obtains the construction snapshot savepoints.

  2. Construction: The system scans data in the primary table based on the obtained snapshot savepoints and write them to the baseline SSTable of the index table. The system also writes data generated by incremental transactions to the MemTable. Finally, baseline data is completed, that is, the system synchronizes DML operations performed after the snapshot point to the index.

  3. Copy: After an index is created on a single replica, the system synchronizes the index to index table replicas by using the consistency algorithm.

  4. Final: The system performs data verification, and additionally uniqueness verification for the unique index. After the verification is completed, the system sets the index table the read/write state. If the verification fails, the system sets the index table to the unavailable state.

Query index status

The internal table __all_table_v2 is used to maintain the metadata of each index. Enumerated values of index_status indicate the index status. In different OceanBase Database versions, index_status values and meanings vary. The following table describes the field in different OceanBase Database versions.

index_status OceanBase Database V1.4.7x OceanBase V2.2.7x and later
1
  • The index is being created.
  • The index is created but does not take effect. The index takes effect after a major compaction.
The index is being created.
2 The index is available. The index is available.
3 A unique index is created and is being verified for uniqueness. A unique index takes effect after two major compactions. If this status is not returned, the index immediately takes effect after it is created in a version later than OceanBase Database V2.2. You do not need to initiate a compaction for the index to take effect.
5 An index error occurs. You can execute the drop statement to drop the index and then execute the create statement to recreate the index. Generally, this status does not occur. If an index fails to be created in a version later than OceanBase Database V2.2, the index is automatically dropped.

MySQL mode

Query the index status under the business tenant. Here is the sample command:

select t.table_name as table_name, t.table_id as table_id,
  i.table_name as index_name, i.table_id as index_id,
  case i.index_status
    when 1 then 'UNAVAILABLE'
    when 2 then 'AVAILABLE'
    when 3 then 'UNIQUE_CHECK'
    when 5 then 'ERROR'
    else 'UNKNOWN'
  end as index_status
from
  oceanbase.__all_table_v2 t
  join oceanbase.__all_table_v2 i on t.table_id = i.data_table_id
  JOIN oceanbase.__all_database d on t.database_id = d.database_id
where
  d.database_name = 'test'
  and t.table_name = 't_test';

Here is the sample result:

1

Oracle mode

Query the index status under the business tenant. Here is the sample command:

SELECT T.TABLE_NAME AS TABLE_NAME,
  I.TABLE_NAME AS INDEX_NAME,
  CASE I.INDEX_STATUS
    WHEN 1 THEN 'UNAVAILABLE'
    WHEN 2 THEN 'AVAILABLE'
    WHEN 3 THEN 'UNIQUE_CHECK'
    WHEN 5 THEN 'ERROR'
    ELSE 'UNKNOWN'
  END AS INDEX_STATUS
FROM
  SYS.ALL_VIRTUAL_TABLE_REAL_AGENT T
  JOIN SYS.ALL_VIRTUAL_TABLE_REAL_AGENT I ON T.TABLE_ID = I.DATA_TABLE_ID
  JOIN SYS.ALL_VIRTUAL_DATABASE_REAL_AGENT D ON T.DATABASE_ID = D.DATABASE_ID
WHERE
  D.DATABASE_NAME = 'your_user_name'
  AND T.TABLE_NAME = 'your_table_name';

Query index tasks

You can query the virtual table __all_virtual_sys_task_status to check whether an index creation task exists. If the __all_virtual_sys_task_status table contains the corresponding task information, the index creation task is in the data completion phase, which is the most time-consuming phase in the index creation process. In multi-partition scenarios, each partition corresponds to a record in the __all_virtual_sys_task_status table.

In the business tenant, query the __all_virtual_sys_task_status table for the index creation task. Here is the sample command:

select start_time, task_type, svr_ip, comment
from __all_virtual_sys_task_status
where tenant_id=1014;

Query the __all_virtual_sys_task_status virtual table for the index task status:

  • If the task can be found in the table, the index creation task is being executed normally. You can wait until the index creation is completed.

  • If no tasks are found, the index creation task fails. Check the OBServer log for cause analysis.

    • The index is being created.
    • The index is created but does not take effect. The index takes effect after a major compaction.

Notice

In OceanBase Database V2.2 or later, if the task is not found in the `__all_virtual_sys_task_status` table and the index status is `UNAVAILABLE`, contact OceanBase Technical Support for troubleshooting.

You can view the task-related information in the comment field. An example of the comment field:

build index task: pkey={tid:1101710651081589, partition_id:0, part_cnt:0}
index_id=1101710651081594 snapshot_version=1686295718878029 parallelism=1
Parameter Description
tid The ID of the table.
partition_id The ID of the partition.
index_id The ID of the index.

Notice

The table_id field in an internal table in the sys tenant is different from the table_id field in the business tenant. In the sys tenant, the table_id also includes the high 32 bits of the tenant_id .

Previous topic

Query the index status in OceanBase Database V4.x
Last

Next topic

Collect JVM runtime information
Next
What is on this page
Index status
SQL layer semantics of index creation
Index creation process
Query index status
MySQL mode
Oracle mode
Query index tasks