1.5 NetWare Registry

In NetWare 6.5 the interaction of the NetWare registry was changed to remove problems with corruption that might have occurred in previous versions of NetWare.

Now, when the server boots, the DOS copy of the registry, servcfg.000, is opened and its contents are copied into the server’s cache. After this is done, the DOS file is closed. There is no copy of this file on volume sys: that is kept open while the server is operating. The server checks every five minutes (this time is adjustable by the “set cdbe flush time” Set parameter) to see if there are updates that need to be pushed down from cache to the DOS copy of the registry. If there are no updates, nothing is done.

If there is an update that needs to be made, the update is written to the c:\nwserver directory as the servcfg.tmp file. After the file is completely written and closed, an update sequence begins where the oldest copy of the registry (servcfg.002) is deleted and the servcfg.001 is renamed.

The file goes through this complete transition:

  1. Delete servcfg.002

  2. Rename servcfg.001 to servcfg.002

  3. Rename servcfg.nbk to servcfg.001

  4. Rename servcfg.000 to servcfg.nbk

  5. Rename servcfg.tmp to servcfg.000

If a file called servcfg.tmp is ever found when the server is just coming up, it is deleted because the file is assumed to be in a transitional state that never made it through the complete steps. This ensures that the registry files that are present were completely written out and this minimizes chances for corruption.

IMPORTANT:With these enhancements, the underlying core registry structures and files have not changed, nor have any of the internal functions that create, delete, and read registry keys and values. Much of the complexity of the registry (dynamically growing the registry files, version comparisons, event handling, and background gremlin activities) have been reduced or eliminated.

The size of the registry is fixed to 2 MB to eliminate the need to dynamically grow the file size. This size is approximately three times the size that most normal configurations will require.

Although this new interaction and design is much more stable, some rare opportunities still exist for registry file data loss. For example:

An application modifies the registry (adds or deletes key values) and these modifications have not been pushed down to the DOS registry file. Then if the server abends, loses power, or someone breaks into the debugger and quits to DOS, any modifications that were still in memory would be lost. You could change the five minute interval; however, in most cases registry changes are rare. Exceptions are during server installation, server boot, and during the server down process.