Maintaining and Monitoring Your Database : Managing Performance : Database Client Notification
Database Client Notification
Database Client Notification is a communication mechanism between clients and the database, informing clients of the need to refresh their schema cache.
Prior to OpenEdge Release 11.7, certain database utilities require clients to disconnect, even though the utility can execute while the database is online. The disconnect of the clients is required because these utilities update index schema. Database Client Notification allows clients to remain connected and refresh their schema in step with the utility execution. Notification enables the index activation processes to move to completion more rapidly.
Utilities supported by database client notification are:
PROUTIL IDXACTIVATE
PROUTIL LOAD (with buildindexes)
PROUTIL MTIDXBUILD
PROUTIL TPIDXBUILD
Database client notification is controlled by a server startup parameter that indicates how often a client polls for notification. The parameter is specified as follows:
-usernotifytime polltime
The polltime value indicates, in seconds, how often a client polls for notification of a schema change. The default is 0, indicating that no polling occurs. The minimum non-zero value is 1; the maximum is 86400 (for 24 hours).
If polltime is zero (0), the behavior of the supported utilities is the same as previous releases. The utility will not proceed until clients with an earlier schema timestamp are disconnected.
At connect time, every client establishes a Database Client Connection thread to poll for notifications. The client always polls one time. If the value of polltime is zero (0), the client never polls again. If the value of polltime is non-zero, the client polls for notification after polltime seconds has elapsed. If the client has a pending notification when it polls, the client re-caches its index schema as soon as processing allows (for example, at the end of a transaction), and clears the notification, letting the utility know it can proceed with its processing. Depending on the activity of the client, there can be a delay longer than polltime seconds before the client can respond to the notification.