Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34394
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 75
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-13 13:28
个人简介

沃布滋道.硕典莎

文章分类

全部博文(7)

文章存档

2020年(2)

2019年(5)

我的朋友

分类: Oracle

2019-09-23 13:11:02

在一次生产库大量监听连接异常的报错时候,想到了queuesize,想要去查看queuesize的大小配置,而查看queuesize的配置,需要执行truss -feao /tmp/truss.out lsnrctl start这个命令来追踪监听启动的过程,根据追踪日志查看配置。但是这里有两个问题:
1. 我们的用户没权限执行truss命令,一般root 用户和oracle用户是分离管理的
2. 这里边需要重启监听,生产上肯定是不能操作的

那怎么办呢?因为我们看到监听文件配置中没有queuesize相关配置,那就说明是默认,那么默认值到底是多少呢?
所幸在MOS上找到相关文档,有关介绍几个不同平台和不同版本对应的默认值:
Linux:
Oracle Version   Default QUEUESIZE Value
                 
9.2              10317 listen(8, 128) 
10.1             15520 listen(8, 128) 
10.2             30842 listen(8, 128) 
11.1             31140 listen(8, 128) 
11.2             2099  listen(8, 128)
也就说Linux的queue size默认值是128

HP:
QUEUESIZE   4096


AIX:
QUEUESIZE   1024


Solaris 
Oracle Version   Default QUEUESIZE Value
  
9.2              20423: listen(10, 5, 1)
10.1             26948: listen(10, 32, 1) 
10.2             4621: listen(10, 32, 1) 
11.1             12585: listen(10, 32, 1
11.2             552: listen(10, 32, SOV_DEFAULT)
Solaris从10g以后queuesize是32。但是从11.2.0.4以后,queuesize默认就是SOMAXCONN这个参数的值了


需改queuesize的方法:
在监听文件中加queuesize的配置:
LISTENER = 
  (ADDRESS =(PROTOCOL = TCP)(HOST=SAMPLE.COM)(PORT = 1521)(QUEUESIZE=99))





阅读(6597) | 评论(0) | 转发(0) |
0

上一篇:索引字段不能过长

下一篇:关于oracle的job

给主人留下些什么吧!~~