ArcSOC进程数不断增长导致oracle processes溢出原因分析

现场出现了一个问题,oracle运行一段时间之后,process个数会溢出,然后新的连接会失败。通过分析,发现Arcgis Server 的ArcSOC进程在不段增长。ArcSOC是arcgis server 的一个容器进程,该容器中装载arcgis object。

计划尝试用两个方法来解决/缓解这一问题。

方法一

调整每个服务的配置信息,具体如下:

  1. 将空间实例可持续运行的最长时间由1800s降低到600s

  2. 将实例的隔离级别设置为"低隔离性",如下图:

建议:先使用第一种方法修改服务配置(除system与utility目录之外),然后试运行一段时间看效果。如果效果不明显,再尝试第二种方法。

方法二

将多个地图合并成一个地图,然后发布成一个服务。拟通过该方法减少服务的个数。

接下来按计划行事。使用第一种方法修改配置,然后重新启动地图服务,此时报错:"the base table definition string is invalid",查看数据库注册信息,然后使用该连接串尝试手动登陆,竟然提示登陆失败。再查看该账户的状态,显示为"EXPIRED"。

账户竟然过期了,这是不是arcsoc不断增长的原因呢?极有可能,当连接请求失败后,可能会不断地尝试重复请求连接,而每一次连接请求,arcgis server都会为其分配一个ArcSOC进程。如果是这样,解锁账户并重新赋密码应该就可以解决问题。执行如下SQL:

Alter user xx identified by xx account unlock;

Alter profile default limit password_life_time unlimited;

再次重启该地图服务,OK,启动成功。

持续观察操作系统的进程情况,发现ArcSOC进程个数长期保持较稳定的水平,且oracle processes没有再溢出。

至此,问题根因浮出水面,原来不是服务请求过多导致的,而是无效的登陆占用了process但却没有释放。

原文地址:https://www.cnblogs.com/6yuhang/p/9379086.html

时间: 2024-11-08 01:55:10

ArcSOC进程数不断增长导致oracle processes溢出原因分析的相关文章

tomcat内存溢出原因分析与解决

网上有很多的介绍但都不全面,本文综合了几篇文章共同组从. 在生产环境中tomcat内存设置不好很容易出现内存溢出.造成内存原因是不一样的,当然处理方式也不一样. 这里根据平时遇到的情况和相关资料进行一个总结.常见的一般会有下面三种情况: 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space 3.OutOfMemoryError: unable to create new native thread. 对于前两种

连接SQLServer时,因启用连接池导致孤立事务的原因分析和解决办法

本文出处:http://www.cnblogs.com/wy123/p/6110349.html 之前遇到过这么一种情况: 连接数据库的部分Session会出现不定时的阻塞,这种阻塞时长时短,有时候持续较长时间,有时间持续时间较短,没有什么规律.  之后分析相关存储过程和代码写法,发现是存储过程中开启了事务,而应用程序在调用存储过程发生异常之后没有进行特别的处理(提交或者回滚),  那么在执行方法发生异常之后,连接关闭了,但是数据库中遗留有活动事务(dbcc opentran对应的Session

Linux中如何解除最大进程数和最大文件句柄打开数限制?

本文和大家分享的主要是linux中解除最大进程数和最大文件句柄打开数限制相关内容,一起来看看吧,希望对大家学习linux有所帮助. ulimit用于shell启动进程所占用的资源 1.语法格式: ulimit [-acdfHlmnpsStvw] [size] 2.参数介绍: -H 设置硬件资源限制. -S 设置软件资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创

解除 Linux 系统的最大进程数和最大文件打开数限制

ulimit用于shell启动进程所占用的资源 1.类别: shell内建命令 2.语法格式: ulimit [-acdfHlmnpsStvw] [size] 3.参数介绍: -H 设置硬件资源限制. -S 设置软件资源限制. -a 显示当前所有的资源限制. -c size:设置core文件的最大值.单位:blocks -d size:设置数据段的最大值.单位:kbytes -f size:设置创建文件的最大值.单位:blocks -l size:设置在内存中锁定进程的最大值.单位:kbytes

oracle连接进程数设置

SQL> select count(*) from v$session #连接数SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数SQL> show parameter processes #最大连接 process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计

"最大工作进程数"导致的WCF调用失败

WCF服务寄宿在IIS中,当设置其"最大工作进程数"为2时,经常会出现服务无法被成功调用,具体异常信息如下: Type:System.ServiceModel.Security.MessageSecurityException Message:从另一方收到未进行安全处理或安全处理不正确的错误.有关错误代码和详细信息,请参见内部 FaultException. HelpLink: Source:System.ServiceModel.Internals TargetSite:TAsync

进程数太多导致服务器无法运行

问题:重新启动服务器后,在短短几分钟的时候,w3wp进程数上升到100多个,这是一种不正常的状态,把CPU和内存耗尽,最终导致服务器无法运行. 通过杀毒的同时把相关网站分时间段关闭,进程数降到60左右了,趋向于正常,当重新启动服务器后,出现以下状况: 1.   网站提示"找不到指定的模块": 2.   HTTP 500 - 内部服务器错误: 3.   http 401错误: 4.   http 404错误: 针对以上错误,无论怎么配置都无法运行,只有一种可能,IIS本身出现了问题,通过

导致Oracle性能抖动的参数提醒

前言 不知不觉,技术人生系列·我和数据中心的故事来到了第四期.小y又和大家见面了! 当您看到业务系统压测呈现以下波浪形的tps曲线时,你会怎么下手? 小y(中亦科技)今天要和大家分享的就是这样一个业务系统压测性能问题的分析和解决过程.这个问题困扰了客户相当长一段时间,幸运的是,小y通过远程在10分钟定位到了问题的原因并帮助客户最终解决了问题.需要说明的是,在这个CASE中,只调整数据库参数是不够的,还需要做其他分析和调整才可以解决问题.为了保持原汁原味,同时增加文章的趣味性,小y除了会继续坚持以

nginx和fpm的进程数配置和502,504错误

一般来说 php-cgi进程数不够用.php执行时间长(mysql慢).或者是php-cgi进程死掉,都会出现502错误: Nginx 504 Gateway Time-out则是与nginx.conf的设置有关: 1.502 和 php-fpm.conf 1.request_terminate_timeout引起的资源问题 request_terminate_timeout的值如果设置为0或者过长的时间,可能会引起file_get_contents的资源问题. 如果file_get_conte