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 Developer Center

V4.4.2
  • Topics Overview
  • 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
    • Edit and execute SQL statements
    • Perform PL compilation and debugging
    • Use the command-line window
    • Edit and export the result set
    • Execution analysis
    • Generate test data
    • System settings
    • Intelligent SQL development
    • Common features
    • Database objects
      • Table objects
        • Overview
        • Create a table
      • View objects
        • Overview
        • Create a view
        • Manage views
      • Materialized view objects
        • Overview
        • Create a materialized view
        • Manage materialized 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
      • External resource objects
        • External resources
        • Create an external resource
        • Manage external resources
  • Database Change Risk Management
    • Project collaborative management
      • Project management
      • Manage databases
      • Manage logical databases
      • Add object storage files
      • Manage project members
      • Desensitize data
      • Notification management
        • Overview
        • View notification records
        • Manage notification channels
          • Create a notification channel
          • View, edit, and delete a notification channel
          • Configure a custom channel
        • Manage notification rules
    • Manage user permissions
      • Users and roles
      • Automatic authorization
      • Apply for project permissions
      • Apply for database permissions
      • Apply table/view permissions
    • Security standards
      • Environment configuration
        • SQL check specifications
        • SQL window specification
      • Risk Management
        • Overview
        • Manage risk identification rules
        • Manage approval processes
      • Desensitization algorithms
      • Operation audit
  • Ticket Management
    • Import schemas and data
    • Export schemas and data
    • Database change management
    • Manage changes to logical databases
    • Batch database change management
    • Online schema changes
    • Synchronize shadow tables
    • Schema comparison
  • Data Lifecycle Management
    • Data archiving
    • Data cleanup
    • Manage partitioning plans
      • Manage partitioning plans
      • Set partitioning strategies
      • Examples of partitioning strategies
    • SQL Plan
  • System Integration
    • Login integration
    • Approval integration
    • SQL approval integration
    • Bastion host integration
    • Integrate with LLMs
  • Deployment Guide
    • Deployment overview
    • Preparations before deployment
    • Deploy ODC in single-node mode
    • Deploy ODC in high-availability mode
    • Deployment verification
  • Upgrade Guide
    • Upgrade Overview
    • Preparations for upgrade
    • Update single-node ODC
    • Update high-avaliability ODC
    • Upgrade verification
    • Rollback after upgrade failed
  • Best Practices
    • Tips for SQL development
    • Explore ODC team workspaces
    • Understanding real-time SQL diagnostics for OceanBase AP
    • OceanBase historical database solutions
    • ODC SQL check for automatic identification of high-risk operations
    • Integration with ODC enterprise-level account system
    • Manage and modify sharded databases and tables via ODC
    • Data masking and control practices
    • Enterprise-level control and collaboration: Safeguard every database change
  • 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
    • FAQ
      • Installation of client ODC
      • Web ODC deployment and startup
      • Connection Information
      • Command-line window
      • DDL statement display
  • Release Notes
    • V4.4
      • ODC V4.4.0
      • ODC V4.4.1
      • ODC V4.4.2
    • V4.3
      • ODC V4.3.4
      • ODC V4.3.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

Document Feedback
  1. Documentation Center
  2. OceanBase Developer Center
  3. V4.4.2

View web ODC logs

Last Updated:2026-09-03 09:11:18

View the log path and file of web ODC
Log path
Log files
Locate backend logs based on HTTP requests
Step 1: Enable the debugging mode on the browser
Step 2: Perform operations in ODC and check request responses
Step 3: Retrieve backend log files based on the traceId
Example: Retrieve logs that contain the error message
Common commands for log viewing and analysis

This topic describes how to view the path of web ODC logs.

View the log path and file of web ODC

Log path

  1. Log in to the host and run the following command to go to the ODC Docker container.

    # View the name of the ODC Docker image.
    docker ps -a --format "{{.Names}}" | grep odc
    
    # Go to the ODC Docker container. Assume that the Docker image name is odc.
    IMAGE_NAME=odc &&
    docker exec -it ${IMAGE_NAME} sh
    
  2. /opt/odc/log/ in the Docker container is the log path of web ODC.

Log files

cd /opt/odc/log

sh-4.2# ls -l
total 540
-rw-r--r-- 1 root root   9062 May 13 15:23 gc.log.0.current
-rw-r--r-- 1 root root 523802 May 13 15:23 odc.log

The parameters are described in the following table.

Parameter
Description
odc.log The application log of odc-server.
gc.log The JVM GC log of odc-server.

Locate backend logs based on HTTP requests

Step 1: Enable the debugging mode on the browser

Take Chrome as an example. Press the shortcut key F12, click Network. Click on the XHR link at the bottom of the list to filter the results to only AJAX requests.

1

Note

ODC adopts an architecture that separates the frontend and the backend. That is, pages and data are separated. Therefore, the interaction between the frontend and backend is carried out by using AJAX requests.

Step 2: Perform operations in ODC and check request responses

2..png

Parameters that exist in responses of all API requests are described in the following table.

Parameter
Description
requestId The ID generated by the frontend, which is included in the backend log.
server The server name returned by the backend. In multi-node deployment scenarios, this field identifies the server that processes the current request.
timestamp The timestamp when the backend processed the current request.
traceId The random string generated by the backend. Each request corresponds to a unique traceId.

Step 3: Retrieve backend log files based on the traceId

  1. Retrieve logs from the corresponding server. As shown in the screenshot of Step 2, the hostname is OceanBase*****.et15sqa.

  2. Search for the keyword 9a00e136******ac.

    Here is the sample result:

    grep 9a00e136324c43ac /opt/odc/log/odc.log
    [2021-06-01 16:57:40.305][http-nio-8989-exec-15][9a00e136324c43ac,,QRR97CNVYCB61IP8TBXCPX][INFO][com.alipay.odc.service.OdcConsoleService][56]: sql is executed completely. executeSql=select * from dual;,duration=62(ms)
    [2021-06-01 16:57:40.305][http-nio-8989-exec-15][9a00e136324c43ac,,QRR97CNVYCB61IP8TBXCPX][INFO][com.oceanbase.odc.web.trace.TraceOdcResultResponseAdvice][71]: ODC_REQUEST_TRACE, method=POST, URI=http://xxx.xx.xxx.xx:xxxx/api/v1/console/sql-execute/sid:62-5:d:yizhou_odc_240?ignoreError=true, client=xx.xx.xxx.xxx, userId=1000100, result=OdcResult(errCode=null, errMsg=ErrorCode: 1096, No tables used, isImportantMsg=false, timestamp=2021-06-01T16:57:40.242+08:00, durationMillis=63, traceId=9a00e136324c43ac, server=OceanBase152084.et15sqa, requestId=QRR97CNVYCB61IP8TBXCPX), userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
    

Example: Retrieve logs that contain the error message

Scenario: The execution plan of an invalid statement cannot be obtained.

3..png

Error log:

$grep 87d4f19ffcbd47cf /opt/odc/log/odc.log | grep ODC_FAILED_REQUEST | grep rootReason
[2021-06-01 17:08:38.743][http-nio-8989-exec-17][87d4f19ffcbd47cf,,QRR97CNVYCB61IP8TBXCPX][INFO][com.alipay.odc.controller.GlobalExceptionHandler][180]: ODC_FAILED_REQUEST, requestURI=/api/v1/diagnose/explain/sid:62-5:d:yizhou_odc_240, remoteHost=xx.xx.xxx.xxx, clientAddress=xx.xx.xxx.xxx, result=OdcResult(errCode=ObGetPlanExplainFailed, errMsg=Failed to obtain the execution plan. The syntax or DDL statement may be wrong. Error details: No tables used, isImportantMsg=false, timestamp=2021-06-01T17:08:38.738+08:00, durationMillis=4, traceId=87d4f19ffcbd47cf, server=OceanBase152084.et15sqa, requestId=null), exceptionType=ObException, message=No tables used, rootReason=com.alipay.odc.odcsdk.sdk.resourcedialect.exception.ObException: Failed to obtain the execution plan. The syntax or DDL statement may be wrong. Error details: No tables used at com.alipay.odc.odcsdk.sdk.resourcedialect.exception.ObException.executeFailed(ObException.java:51)

Notice

The log line containing the ODC_FAILED_REQUEST keyword provides the rootReason information (including abnormal code lines), which helps you locate the issue. Root reason information in the error log: rootReason =com.alipay.odc.odcsdk.sdk.resourcedialect.exception.ObException: Failed to obtain the execution plan. The syntax or DDL statement may be wrong. Error details: No tables used at com.alipay.odc.odcsdk.sdk.resourcedialect.exception.ObException.executeFailed(ObException.java:51)

For an unexpected exception, ODC also logs the complete exception stack, as shown in the following example:

[2021-03-08 17:05:42.675][http-nio-8989-exec-4][ERROR][com.alipay.odc.odcsdk.sdk.resourcedialect.command.sql.ExecuteSqlOneByOneCommand][139]:fail to recognize sql type, sql = flashback table odc_myapp20183253223_238930.__recycle_$_3_1613445194315049880 to before drop
com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'back table odc_myapp20183253223_238', expect IDENTIFIER, actual IDENTIFIER pos 9, line 1, column 10, token IDENTIFIER null
        at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:344) ~[druid-1.1.23.jar!/:1.1.23]
        at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:532) ~[druid-1.1.23.jar!/:1.1.23]
        at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:171) ~[druid-1.1.23.jar!/:1.1.23]
        at com.alipay.odc.odcsdk.sql.OdcSqlParser.parseStatements(OdcSqlParser.java:99) ~[ob-odc-sdk-2.4.0-SNAPSHOT.jar!/:?]
        at com.alipay.odc.odcsdk.sql.OdcSqlParser.<init>(OdcSqlParser.java:36) ~[ob-odc-sdk-2.4.0-SNAPSHOT.jar!/:?]
        at com.alipay.odc.odcsdk.sdk.resourcedialect.command.sql.ExecuteSqlOneByOneCommand.recognizeSqlType(ExecuteSqlOneByOneCommand.java:130) [ob-odc-sdk-2.4.0-SNAPSHOT.jar!/:?]
        at com.alipay.odc.odcsdk.sdk.resourcedialect.command.sql.ExecuteSqlOneByOneCommand.doExecute(ExecuteSqlOneByOneCommand.java:109) [ob-odc-sdk-2.4.0-SNAPSHOT.jar!/:?]
        at com.alipay.odc.odcsdk.sdk.resourcedialect.command.sql.ExecuteSqlOneByOneCommand.doObMysql(ExecuteSqlOneByOneCommand.java:114) [ob-odc-sdk-2.4.0-SNAPSHOT.jar!/:?]
        at com.alipay.odc.odcsdk.sdk.resourcedialect.command.sql.ExecuteSqlOneByOneCommand.doObMysql(ExecuteSqlOneByOneCommand.java:27) [ob-odc-sdk-2.4.0-SNAPSHOT.jar!/:?]

Common commands for log viewing and analysis

# View the last 10 error requests
grep ODC_FAILED_REQUEST /opt/odc/log/odc.log | tail -10

# View the error log context based on the traceId, including five lines before and after the error
#  -B, --before-context=NUM  print NUM lines of leading context
#  -A, --after-context=NUM   print NUM lines of trailing context
grep 87d4f19ffcbd47cf /opt/odc/log/odc.log -A 5 -B 5

Previous topic

View the runtime environment and version information
Last

Next topic

View client ODC logs
Next
on this page
View the log path and file of web ODC
Log path
Log files
Locate backend logs based on HTTP requests
Step 1: Enable the debugging mode on the browser
Step 2: Perform operations in ODC and check request responses
Step 3: Retrieve backend log files based on the traceId
Example: Retrieve logs that contain the error message
Common commands for log viewing and analysis