During database operation, various exceptions may occur, such as application errors, database connection errors, database permission issues, database resource issues, and network problems. One such exception is an application error where the error message does not contain an OceanBase error code. This makes it difficult to determine the relevance of the issue to OceanBase Database, leading to unclear troubleshooting directions.
To help you quickly identify the root cause and efficiently resolve such issues, we have summarized a clear and practical troubleshooting process for application errors where the error message does not contain an OceanBase error code. This process provides specific steps to enhance troubleshooting efficiency and minimize business impact, offering strong support for daily O&M work.
The troubleshooting process is as follows:
Process
If an application exception occurs and the error message does not contain OceanBase error codes, you can troubleshoot the issue based on the following process.
Analyze the error logic of the application to determine whether a disconnection exception has occurred:
If yes, troubleshoot the issue.
If no, determine whether the issue can be reproduced:
If yes, analyze the cause of the program code error by using methods such as debugging and network packet capture (for example, tcpdump), and confirm the problem trigger logic to clarify the analysis direction.
If no, speculate on the cause of the error based on existing information and the program logic, and confirm the problem trigger logic to clarify the analysis direction.
Case studies
A database connection was unexpectedly disconnected.
The user configured multiple IP addresses in a distributed cluster environment and wanted to connect to the cluster through multiple IP addresses.
During the business
commitoperation, OceanBase Database encountered the following exception:Transaction resolution unknown.The application reported the following error in the application log during large-scale data import:
Connection is closed & Connection reset.In the test environment, the SQL execution time was 2 ms on average, while in the production environment, the execution time became 30-40 ms, but the SQL execution time in the database did not increase.
- During SQL execution, the client directly reported the following error:
Lost connection to MySQL server during query. Generally, this error is caused by an exception on the server side, leading to the connection interruption.
- After the system was switched from an Oracle database to an Oracle tenant of OceanBase Database, a JDBC application deployed by using JBoss encountered a shortage of connections.