There is a problem in the field, after Oracle has been running for a while, the number of process overflows and the new connection fails. Through analysis, the ARCSOC process of ArcGIS Server is found to grow in no segment. ARCSOC is a container process for ArcGIS server that loads ArcGIS object.
The plan attempts to solve/mitigate this problem in two ways.
Method One
Adjust the configuration information for each service as follows:
- Reduce the maximum time that a space instance can be run from 1800s to 600s
- Set the isolation level of the instance to low isolation, such as:
Recommendation: Use the first method to modify the service configuration (except for the system and the utility directory), and then try running for a while to see the effect. If the effect is not obvious, try the second method.
Method Two
Merge multiple maps into one map and publish them as a service. This method is intended to reduce the number of services.
Then proceed as planned. Use the first method to modify the configuration, and then restart the map service, error: "The base table definition string is invalid", to view the database registration information, and then use the connection string attempt to manually log in, unexpectedly prompted the login failed. Then view the status of the account as "EXPIRED".
The account has expired, this is not the reason why ARCSOC is growing? It is very likely that, when a connection request fails, it is possible to continually attempt to repeatedly request a connection, and ArcGIS server assigns it a ARCSOC process for each connection request. If so, unlocking the account and re-assigning the password should solve the problem. Execute the following sql:
Alter user xx identified by xx account unlock;
Alter profile default limit Password_life_time unlimited;
Restart the map service again, OK, start successfully.
Continuous observation of the operating system process, found that the number of ARCSOC processes to maintain a relatively stable level, and Oracle processes no longer overflow.
At this point, the root of the problem surfaced, it is not the service request too much caused, but invalid landing took up the process but did not release.
Oracle processes overflow cause analysis due to increasing number of ARCSOC processes