Did this article resolve your question/issue?



How To set Storage Object Cache Size (-omsize)

« Go Back


TitleHow To set Storage Object Cache Size (-omsize)
URL Name20398
Article Number000138539
EnvironmentProduct: OpenEdge
Verison: 10.2, 11.x
OS: All Supported Platforms
Question/Problem Description
How To set Storage Object Cache Size (-omsize)?
What is the Storage Object Cache Size (-omsize) database parameter used for?
How to reduce users waiting on an OM latch?
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
What is the Storage Object Cache Size (-omsize) parameter used for?
  • The Storage Object Cache is used to hold copies of information about the most frequently accessed objects so that they can be found quickly, with minimal overhead.
  • The Storage Object table indicates what Area a table or index is in, along with other related information.
  • Progress allows the size to be adjustable in the event it needs to be made larger than the default value as more database objects are added to the database.
Storage Object Cache
  • -omsize is a database startup parameter, (storageobjectsize in
  • The default value is 1024.
  • The minimum value is 13, and maximum value is 65535.
  • The value specifies the number of objects  for which definitions are cached. 
  • tables; indexes; blobs and clobs (blobs and clobs are part of OpenEdge10) are counted in the -omsize value.
  • The value of -omsize should accommodate all database objects currently defined in the schema
How To set Storage Object Cache Size (-omsize)?

A good means of determining how many objects defined is to run the following code against the database:

From the Procedure Editor:
select count(*) from _storageobject.

From a SQLExplorer Client:

select count(*) from PUB."_storageobject";

If the above query for the current database objects shows:
  • Less than the default value of 1024, leave the default -omsize alone without changing it.
  • More than the default value of 1024, set -omsize to the value returned by the query plus 10% padding. The amount of memory used for omsize is very small. Setting the omsize higher than the number of objects will allow leeway as database objects are increased over time, for example future expansion during online schema changes. 
  • Periodically omsize should be re-evaluated, for example when schema updates are deployed.
The -omsize value can be increased while the database is online since OpenEdge 11. Refer to Article After sizing the -omsize, review the current -tablerangesize and -indexrangesize database startup parameters.  For further information refer to Article:
Last Modified Date11/20/2020 7:23 AM
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.