OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Diagnostic Tool

V4.2.0
  • obdiag Overview
  • obdiag installation
  • obdiag configuration
  • One-click Cluster Inspection
    • One-click cluster inspection
    • Detailed explanation of cluster inspection indicators
  • One-click Information Gathering
    • One-click routine information collection
      • OceanBase cluster log collection
      • Host information collection
      • SQL details collection
      • Stack information collection
      • Flame Picture/Bian Que Picture Collection
      • ASH report collection
      • Collect table-related information
      • Cluster parameter collection
      • Variable collection
      • clog/slog collection
      • DBMS_XPLAN information collection
      • Core file collection
      • AWR report collection
      • obproxy log collection
      • OMS log collection
      • Collect all information
    • One-click scenario-based information collection
      • Overview
      • Collect basic cluster information
      • Collect backup problem information
      • Collect backup cleanup problem information
      • Collect clog disk full problem information
      • Collect cluster downtime problem information
      • Collect merge problem information
      • Collect CPU high problem information
      • Collect information on delay issues in primary and standby databases
      • Collect I/O problem information
      • Collect log archiving problem information
      • Collect long transaction problem information
      • Collect memory problem information
      • Collect SQL performance problem information
      • Collect PX error reporting information
      • Collect recovery problem information
      • Collect observer restart information without reason
      • Collect owner-cutting problem information
      • Collect information about hanging transaction issues
      • Collect copy imbalance problem information
      • Collect SQL error reporting information
      • Collect cluster TopSQL information
      • Collect application error information
      • Collect obproxy restart problem information for no reason
      • Collect ODP parameter information
      • Collect unspecified scenario problem information
  • One-click Diagnostic Analysis
    • One-click diagnostic analysis log
    • One-click full-link diagnostic log analysis
    • Parameter analysis (compared with default values)
    • Parameter analysis (parameter differences on different observers)
    • Analyze variables
    • Instructions for using index space analysis
    • One-click diagnostic analysis of memory
    • One-click diagnosis and analysis of queue backlog
  • One-click Root Cause Analysis
    • One-click root cause analysis
    • Root cause analysis scenario: disconnection
    • Root cause analysis scenario: card merging major_hold
    • Root cause analysis scenario: lock conflict lock_conflict
    • Root cause analysis scenario: executing DDL and reporting disk full error ddl_disk_full
    • Root cause analysis scenario: clog disk is full clog_disk_full
    • Root cause analysis scenario: log error log_error
    • Root cause analysis scenario: DDL failure ddl_failure
    • Root cause analysis scenario: Troubleshooting index build execution error index_ddl_error
    • Root cause analysis scenario: transaction disconnection scenario transaction_disconnection
    • Root cause analysis scenario: transaction execution times out and error transaction_execute_timeout
    • Root cause analysis scenario: transaction does not end and error transaction_not_ending is reported
    • Root cause analysis scenario: transaction other errors transaction_other_error
    • Root cause analysis scenario: transaction rollback error transaction_rollback
    • Root cause analysis scenario: transaction wait timeout error transaction_wait_timeout
    • Root cause analysis scenario: OMS full migration exception oms_full_trans
    • Root cause analysis scenario: OMS obcdc component analysis oms_obcdc
    • Root cause analysis scenario: suspended transaction suspend_transaction
    • Root cause analysis scenario: Unit GC exception unit_gc
    • Root cause analysis scenario: OceanBase cluster playback card
    • Root cause analysis scenario: OceanBase cluster memory explosion
    • Root cause analysis scenario: Abnormal deletion of OBServer node
    • Root cause analysis scenario: GC troubleshooting gc_troubleshooting
    • Root cause analysis scenario: Schema leak schema_leak
    • Root cause analysis scenario: partition split scheduling error split_schedule_error
    • Root cause analysis scenario: weak read problem troubleshooting weak_read_troubleshooting
    • Root cause analysis scenario: SQL execution memory is too high execute_memory_high
  • One-click Cluster Insights
    • Overview
    • Cluster overview information insights
    • Cluster node information insight
    • Cluster unit information insight
    • Cluster Zone Information Insights
    • Cluster RS Information Insights
    • Cluster tenant information insight
    • Cluster event information insight
    • Cluster lock information insight
    • Cluster topsql information insight
    • Cluster slowsql information insight
    • Cluster table information insight
    • Cluster processlist information insight
    • SQL execution plan information insights
    • Insights into database disk usage information
    • Insight on the disk usage of the specified table in the database
    • Insights into the full tenant information of the cluster
    • Cluster node CPU usage information insights
    • Internal table name fuzzy matching information insight
    • Cluster leader information insight
    • Information insights into locks held on a certain table
    • Cluster long transaction information information insight
    • Actual execution plan operator information insight
    • Memory information insights for all tenants
    • processlist Real-time session summary information insights
    • Table/index storage method information insight
    • Table NDV Information Insights
    • Table index information insight
    • Merge status display
    • clog log volume/capacity statistics
  • Plug-in file upgrade
  • Update and uninstall
  • Telemetry Mode
  • FAQ
  • Tools
    • Configuration file encryption
    • AI Intelligent Diagnosis Assistant
    • Disk IO performance detection
    • Configure verification tool
  • Release Notes
    • obdiag V4.2.0
    • obdiag V4.1.0
    • obdiag V4.0.0
    • obdiag V3.7.2
    • obdiag V3.7.1
    • obdiag V3.7.0
    • obdiag V3.6.0
    • obdiag V3.5.0
    • obdiag V3.4.0
    • obdiag V3.3.0
    • obdiag V3.2.0
    • obdiag V3.1.0
    • obdiag V3.0.0
    • obdiag V2.6.0
    • obdiag V2.5.0
    • obdiag V2.4.0
    • obdiag V2.3.0
    • obdiag V2.2.0
    • obdiag V2.1.0
    • obdiag V2.0.0
    • obdiag V1.6.2
    • obdiag V1.6.1
    • obdiag V1.6.0
    • obdiag V1.5.2
    • obdiag V1.5.1
    • obdiag V1.5.0
    • obdiag V1.4.0
    • obdiag V1.3.0

Download PDF

Document Feedback
  1. Documentation Center
  2. OceanBase Diagnostic Tool
  3. V4.2.0

DBMS_XPLAN information collection

Last Updated:2026-09-04 08:22:12

Instructions for use
Usage example
Method 1: Use without configuration file (out of the box)
Method 2: Use with configuration file
Interpretation of results

This article applies to the scenario of independently deploying obdiag. Use the obdiag gather dbms_xplan command to collect SQL performance diagnostic information using the DBMS_XPLAN system package with one click.

If it is a cluster deployed by obd, you can directly collect information on the selected cluster through the obd side diagnostic command group.

Instructions for use

obdiag gather dbms_xplan [options]

The options are explained below:

Option name
Is it required
Data type
Default value
Description
--trace_id Yes string Default is empty OceanBase database V4.0.0 and below can view trace_id from gv$sql_audit, and OceanBase database V4.0.0 and above can view trace_id from gv$ob_sql_audit.
--scope No string all Select the DBMS_XPLAN system package used to collect SQL performance diagnostic information. The configurable values are as follows:
  • opt_trace: Use the DBMS_XPLAN.ENABLE_OPT_TRACE function to collect SQL performance diagnostic information.
  • display_cursor: Use the DBMS_XPLAN.DISPLAY_CURSOR function to collect SQL performance diagnostic information.
  • all: Use the DBMS_XPLAN.ENABLE_OPT_TRACE and DBMS_XPLAN.DISPLAY_CURSOR functions to collect performance diagnostic information for SQL.
--user Yes string Default is empty The user name of the tenant where the SQL to be collected is located.
--password Yes string Default is empty The user password of the tenant where the SQL to be collected is located.
--env No string Default is empty The connection information of the business tenant, supports specifying the key=value format multiple times, for example: --env host=x.x.x.x --env port=2881 --env user=root@test.
--store_dir No string Defaults to the current path where the command is executed The local path where the results are stored.
-c No string ~/.obdiag/config.yml Configuration file path.
--inner_config No string Default is empty obdiag's own configuration.
--config No string Default is empty Configuration of the cluster to be diagnosed by obdiag, fixed style: --config key1=value1 --config key2=value2.

Explanation

The parameters that support configuration through this option can be found in obdiag configuration.

--config_password No string Default is empty obdiag When using an encrypted configuration file, you need to pass in the corresponding password through this option.

Explanation

For details, see Configuration file encryption.

Usage example

Method 1: Use without configuration file (out of the box)

obdiag gather dbms_xplan --user=<MYUSER> --password=<MYPASSWORD> --trace_id=<TRACE_ID> \
    --config db_host=xx.xx.xx.xx \
    --config db_port=xxxx \
    --config tenant_sys.user=root@sys \
    --config tenant_sys.password=***

The output is as follows:

$ obdiag gather dbms_xplan --user xxxx --password *** --trace_id YF2A0BA2DA7E-0006350FB4EBBD8A-0-0 \
    --config db_host=xx.xx.xx.xx \
    --config db_port=xxxx \
    --config tenant_sys.user=root@sys \
    --config tenant_sys.password=***

gather_dbms_xplan start ...
execute dbms_xplan.enable_opt_trace start ...
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
call dbms_xplan.enable_opt_trace();
call dbms_xplan.set_opt_trace_parameter(identifier=>'obdiag_MkaDL7', `level`=>3);
call dbms_xplan.disable_opt_trace();
execute dbms_xplan.enable_opt_trace end

Gather dbms_xplan.enable_opt_trace:
+----------------+-----------+---------+--------+----------------------------------------------------------------------------------------------+
| Node           | Status    | Size    | Time   | PackPath                                                                                     |
+================+===========+=========+========+==============================================================================================+
| xx.xxx.xxx.xx  | Completed | 35.800K | 0 s    | ./obdiag_gather_pack_20250514200335/xx_xxx_xxx_xxx_optimizer_trace_G6WfT1_obdiag_MkaDL7.trac |
+----------------+-----------+---------+--------+----------------------------------------------------------------------------------------------+

Gather dbms_xplan.display_cursor:
+-----------+--------------------------------------------------------------------------+--------+
| Status    | Result Details                                                           | Time   |
+===========+==========================================================================+========+
| Completed | ./obdiag_gather_pack_20250514200335/obdiag_dbms_xplan_display_cursor.txt | 0.17 s |
+-----------+--------------------------------------------------------------------------+--------+


Trace ID: 7685e982-30bb-11f0-bf59-00163e01c7ce
If you want to view detailed obdiag logs, please run: obdiag display-trace f5b1f66e-5552-11ef-8a9b-00163e01c7ce

Method 2: Use with configuration file

You need to ensure that the login information of the node to be collected has been configured in the obdiag configuration file config.yml. For related detailed configuration introduction, see obdiag configuration.

obdiag gather dbms_xplan --user=<MYUSER> --password=<MYPASSWORD> --trace_id=<TRACE_ID>

Interpretation of results

After the command is executed, a result folder will be generated in the specified directory. The folder shape is: ./obdiag_gather_pack_xxxxx.

$tree
.
├── xx_xx_xx_xx_optimizer_trace_G6WfT1_obdiag_MkaDL7.trac # Files from dbms_xplan.enable_opt_trace
└── obdiag_dbms_xplan_display_cursor.txt # Output from dbms_xplan.display_cursor

Previous topic

clog/slog collection
Last

Next topic

Core file collection
Next
on this page
Instructions for use
Usage example
Method 1: Use without configuration file (out of the box)
Method 2: Use with configuration file
Interpretation of results