服务端连接断开排查
服务端断开连接时,会将断开原因记录在日志中,用户可以在日志中查询服务端断开连接的原因。
场景1
同时存在多个连接使用同一个库,其中某个连接删除了当前库导致连接关闭,可在trace.log中查看日志信息。
连接1:
sqlCREATE DATABASE test_db; USE test_db;
连接2:
sqlUSE system; DROP DATABASE test_db;
trace.log中查询结果:
CLOSE_DBC 2024-03-21 11:23:58 database dropped or altered by another connect, close connect dbc_no:9 user:SYSDBA dbid:3
日志说明:
- dbc_no:删除库的连接编号
- user:删除库的用户
- dbid:所删除的库标识号
场景2
同时存在多个连接使用同一个库,其中某个连接修改了当前库导致连接关闭,可在trace.log中查看日志信息。
连接1:
sqlCREATE DATABASE test_db; USE test_db;
连接2:
sqlUSE system; ALTER DATABASE test_db RENAME TO test_db1;
trace.log中查询结果:
CLOSE_DBC 2024-03-21 11:23:58 database dropped or altered by another connect, close connect dbc_no:9 user:SYSDBA dbid:3
日志说明:
- dbc_no:修改库的连接编号
- user:修改库的用户
- dbid:所修改的库标识号
场景3
离线状态系统备份导致连接关闭,可在trace.log中查看日志信息。
sql
BACKUP system TO '/BACKUP/system1.exp' offline;
trace.log中查询结果:
CLOSE_DBC 2024-03-21 11:23:58 backup or recover process runing, close connect dbc_no:1 user:SYSDBA dbid:1
日志说明:
- dbc_no:备份库的连接编号
- user:备份库的用户
- dbid:所备份的库标识号
场景4
执行SQL语句过程中,用户关闭控制台断开连接,SQL语句执行失败,可在error.log中查看日志信息。
NETER 2024-03-21 11:23:58 发送失败(网络中断,发送数据错误或客户端连接已断开)sql语句
日志说明:
sql语句:用户输入的SQL语句
场景5
连接空闲时间过长,连接关闭,可在error.log中查看日志信息。
NETER 2024-03-21 11:23:58 clear dead connect dbc_no:1 user:SYSDBA state:2 trust:1 idletime:3615
日志说明:
- dbc_no:库的连接编号
- user:库的用户
- state:连接状态
- trust:信任的连接
- idletime:连接空闲时间