暂无图片
数据库单节点支撑3W会话数还需要考虑哪些条件,或者官方文档是否有明确的支持上限?
我来答
分享
单继博
2019-12-16
数据库单节点支撑3W会话数还需要考虑哪些条件,或者官方文档是否有明确的支持上限?
暂无图片 10M

目前,生产有一套环境,版本:12C,类型:RAC。双节点各自有13000的会话数,并发会话数各在50左右,考虑单节点支撑问题,经过二线专家协助,已做部分参数修改,但是单节点还是无法实现支撑30000的话,达到17000就夯住了,请各位专家再指导一下,还需要考虑哪方面。

1)数据库参数设置
sga_target=380G
processes=36000
sessions=54032

2)系统资源限制
[oracle@ssss scripts]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 4126859
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 65536
cpu time (seconds, -t) unlimited
max user processes (-u) 65536
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

3)内核参数设置
cat /etc/sysctl.conf
#ORACLE SETTING
kernel.shmall = 4294967296
kernel.shmmax = 769658139444
kernel.shmmni = 4096
kernel.sem = 40000 40960000 40000 1024
fs.file-max = 6815744
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.ipfrag_high_thresh = 41943040
net.ipv4.ipfrag_low_thresh = 40894464
net.ipv4.ipfrag_time = 120
net.ipv4.ipfrag_secret_interval = 600
net.ipv4.ipfrag_max_dist = 1024
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.min_free_kbytes= 1048576
vm.nr_hugepages = 256614
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_syn_backlog = 8192
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 8192

2节点stop后,一节点后台报错:
主机系统:
image.png
alert日志报错:
image.png

监听报错如下:
image.png

我来答
添加附件
收藏
分享
问题补充
8条回答
默认
最新
章芋文

当时的进程数是多少有看吗?v$process或者ps -ef

另外,像这种场景一般都会加个中间件或者连接池,活动的也就50个,为啥非要30000个连着?

暂无图片 评论
暂无图片 有用 0
打赏 0
单继博

当时进程数17000左右,就上不去了。
都是长连接,应用说连接数少的话,可能会影响他们应用,应该都是从连接池连过来的,JDBC。
客户想测试一下,单点支撑能力,防止一个节点挂了,影响整个业务,现在看来,单节点还是撑不住

暂无图片 评论
暂无图片 有用 0
打赏 0
单继博

老哥,我们这个到天花板了吗?

暂无图片 评论
暂无图片 有用 0
打赏 0
章芋文

show parameter job_queue_processes

暂无图片 评论
暂无图片 有用 0
打赏 0
单继博

job_queue_processes=36
平常没有相关报错,只有进程数达到17000这种场景时,后台有相关报错。
image.png

这种报错,出现两次了,每一次都是进程数上不去时,后台有此类报错。怀疑此类报错是表象。

暂无图片 评论
暂无图片 有用 0
打赏 0
章芋文

那就把这个参数加大,试试。
默认应该是1000

暂无图片 评论
暂无图片 有用 0
打赏 0
Kamus

服务器能够承载的连接数,跟物理资源息息相关,CPU个数,内存容量是最重要的。
另外不是只要长连接成功,你们的应用就能单节点数据库支撑起来的,一个活跃的连接(在执行各种动作)和一个不活跃的连接,对于资源的消耗是天差地别的。
总之,13000个连接是值得商榷的需求,单节点30000就更是如此。
撑高连接数对于应用来说真的。。。没有任何意义。

暂无图片 评论
暂无图片 有用 0
打赏 0
许超

非活动会话数太多了吧,测试非活动的会话数量极限完全没有意义啊,就一般4路服务器活动会话一般也就支持几百个,连接池存在的意义之一就是减少进程断开重连的这部分开销,根据活动会话数去设置就可以了。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
awr报告
回答 3
已采纳
是不是因为在SQLDEVELOPER里执行xxx.sql,SQL文件的路径应该是本地的?而在XSHELL里,已经连上了主机,是指向主机上的文件。你在SQLDEVELOPER里套用主机的路径,自然就找不
oracle 10g rac expdp导出跨节点执行。
回答 1
是否使用了expdpuser/pwd@XXX的命令导出?排除掉通过TNS连接到另外节点的情况。也可以通过activesession判断下,datapumpjob在哪个节点发起的
oracle分区表,在迁移的时候,老的分区可以迁移到新的表空间,但是新的分区还是会在老的空间,那这种迁移,需要一直进行的?
回答 2
altertablexxxxxxmodifydefaultattributestablespacexxxxxx;
Oracle的并行DML?
回答 1
已采纳
Oracle文档将并行DML(PDML)一词的范围限制为只包括INSERT、UPDATE、DELETE和MERGE(不像平常的DML那样还包括SELECT)。在PDML期间,Oracle可以使用多个并
zCloud如何安装
回答 1
这个我们有专业的POC和售后团队负责。如有需要可以联系我们
oracle rac 异常
回答 2
看着就两个日志组,多增加几个日志组,最少到5组或者更多一些。如果还是如此,可以考虑增加每组的成员大小。谢谢!
oracle数据库plsql代码块中用游标去DROP表报错,怎么解决?
回答 1
已采纳
'droptable'||v.tablename需要空格
Oracle报错:ORA-01000 : 超出打开游标的最大数
回答 2
已采纳
同楼上,也可以参考Typically,inJava,whenanobjectgoesoutofscope,itisautomaticallygarbagecollected,buttheJavaspe
Oracle 增量备份异机恢复
回答 7
已采纳
恢复时主要看你的这0、1、2级备份是差异备份还是累积备份。还原时需要一个全备一个累积增备或者需要一个全备多个差异增备
[INS-40996] Installer has detected that the Oracle home (/home/grid) is not empty in the following nodes: [rac2]
回答 3
已采纳
1,确认rac2的环境变量,ORACLEHOME/home/grid是否正确,是否是你需要的安装目录2,/home/grid目录肯定不是空的,因为里面有一些隐藏文件,.bashprofile,.bas