Skip to content

服务端连接断开排查

服务端断开连接时,会将断开原因记录在日志中,用户可以在日志中查询服务端断开连接的原因。

场景1

同时存在多个连接使用同一个库,其中某个连接删除了当前库导致连接关闭,可在trace.log中查看日志信息。

  • 连接1:

    sql
    CREATE DATABASE test_db;
    USE test_db;
  • 连接2:

    sql
    USE 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:

    sql
    CREATE DATABASE test_db;
    USE test_db;
  • 连接2:

    sql
    USE 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:连接空闲时间