最大闲置时间(max_idle_time)
📄字数 788
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
空闲连接的最大闲置时间(单位:秒)。
参数属性
| 属性 | 属性值 |
|---|---|
| 参数类型 | INTEGER |
| 默认值 | 3600 |
| 取值范围 | [0, 86400] |
| 影响范围 | 系统级 |
| 修改方式 | 在线修改,立即生效 |
使用场景说明
- 该参数控制空闲连接的判定条件,闲置时长大于 max_idle_time 的空闲连接会被系统自动清理(由系统定时作业负责处理,每次清理动作均会记载系统 TRACE 日志)。
- 支持访问系统虚表 SYSDBA.SYS_SESSIONS 的 STATUS 字段查看连接状态,连接状态由一个十进制魔数表示,该魔数的不同位权代表不同的连接属性,同一位权上的不同数字代表该属性的不同状态。
| - | 是否活动连接 | 是否授信 | 是否有效 | 当前状态 |
|---|---|---|---|---|
| 魔数 | 1000(活动,max_act_conn_num > 0才出现)0(非活动) | 100(授信) 0(未认证) | 10(有效) 0(无效) | 1(正在登录) 2(连接空闲) 3(出现空读) 4(网络读取) 5(读取结束) |
- 用户可根据连接状态的数值来区分连接的类别:
| 连接状态(魔数值) | 类别 |
|---|---|
| < 100 | 1. 可能是系统内部创建的空连接,一般用于系统定时作业执行或内部 SQL 脚本的执行; 2. 还没有成功登录被授信的连接; |
| > 100 | 用户创建的客户端连接。 |
| > 1000 | 用户创建的客户端连接(max_act_conn_num > 0),属于活跃类连接。 |
注意
- 连接状态 114(100(授信) + 10(有效) + 4(正在进行网络读)) 代表该连接已授信、已有效且正在进行网络读取。
示例
sql
-- 在线修改 max_idle_time
SQL> SET max_idle_time TO 3600;
-- 在线查看 max_idle_time
SQL> SHOW max_idle_time;
-- 场景一:查看所有节点上处于闲置状态的连接
SQL> SELECT nodeid, session_id, user_name, status, sql FROM sysdba.sys_all_sessions WHERE bit_and(status,112)=112;