Feedback
Did this article resolve your question/issue?

   

Article

Why can shared-memory not be increased online while users are connected ?

« Go Back

Information

 
TitleWhy can shared-memory not be increased online while users are connected ?
URL NameP138372
Article Number000135806
EnvironmentProduct: OpenEdge
Version: 10.1C, 10.2x, 11.x, 12.x
OS: All supported platforms
Question/Problem Description
Why can shared-memory server startup parameters not be increased online while users are connected ?
Why do users have to be rechecked when increasing shared-memory parameters online?
What is the point of the 'increaseto' feature in production when users will always be connected?

Why can a new shared memory segment be seen in PROMON after aborting a PROUTIL increaseto instruction?
 
 

 
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
OpenEdge 10.1C introduced new functionality for the PROUTIL executable which allows online dynamic modification of some database server startup parameters. Refer to Article: What is proutil <dbname> -C  increaseto?   

When the "proutil -C increaseto" parameter results in a new shared memory segment being added to satisfy the requirements of the "proutil -C increaseto" instruction, existing connections therefore need to first disconnect or 'do something' in order be able to attach to the next segment.

Example:
$ proutil dbname -C increaseto -Mxs 1024

If existing connections have not connected to the shared memory, you will get a message to wait:
Usr     Name       Type      Pid
5        auser          ABL    472
6        kuser  PROMON  4808

The database connections above have not attached to recently added shared memory segments.
Do you wish to recheck? (y/n)

Any user that connects after the "increaseto" instruction is run is not listed in the above message.

When "N" is selected at this stage, the action will abort:
Increase Params aborted because of shared memory allocation issue. (13977)

If "Y" is selected at this stage, the connected users will continue to be listed each time "Y" is selected, until they 'do something' to re-address the shared-memory segments by either re-connecting or running new server side processing. Otherwise they must be disconnected in order for the new shared memory segment to be addressable.
 
The exception is a 'PROMON' connection, which must be disconnected in order for the shared-memory to be initially increased through addition of a shared-memory segment.

For further information by way of example refer to Article: Recheck user permissions messages when using PROUTIL increaseto
Workaround
Notes
Last Modified Date3/17/2021 1:06 PM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.