如何修改SQLPlus 10.2.0.4.0会话延迟?配置后无效果求指导
解决SQLPlus 10.2.0.4.0会话延迟参数不生效的问题
必须重启对应服务/会话:
sqlnet.ora的参数由Oracle监听进程(LISTENER)加载,服务器侧修改后必须重启监听才能生效,执行命令:lsnrctl stop lsnrctl start若是客户端侧的sqlnet.ora修改,只需关闭并重新打开SQLPlus会话即可。
确认配置文件位置:
- 服务器端sqlnet.ora通常位于
$ORACLE_HOME/network/admin目录 - 客户端sqlnet.ora在本地Oracle客户端的
ORACLE_HOME/network/admin,或由TNS_ADMIN环境变量指定路径
确保修改的是对应场景的配置文件,不要混淆客户端与服务器端配置。
- 服务器端sqlnet.ora通常位于
参数作用范围与生效条件:
SQLNET.INBOUND_CONNECT_TIMEOUT仅控制连接建立阶段的超时,不影响已建立会话的网络中断检测SQLNET.RECV_TIMEOUT/SQLNET.SEND_TIMEOUT是针对已建立会话的读写超时,属于服务器端参数,需在服务器sqlnet.ora配置,且仅对重启监听后新建立的会话生效,旧会话不受影响,测试时需重新连接SQLPlusSQLNET.RECV_BUF_SIZE=1会严重影响性能,且与延迟超时无关,建议移除该配置或恢复默认值
额外会话超时配置补充:
若要实现网络中断后自动清理会话,可额外配置:- 服务器端
init.ora/spfile中的SQLNET.EXPIRE_TIME:设置为非0值(如10),定期发送探测包检测客户端存活,需重启数据库实例生效 - 通过
ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10;设置会话空闲超时,需用户重新登录后生效
- 服务器端
内容的提问来源于stack exchange,提问作者user3637652
相关产品推荐
相关产品推荐

