Changes to the eDirectory database can include large operations which require many packets' worth of information to be sent to the server. eDirectory commits each packet to the database as it is being received-even though the entire transaction may not yet be complete.
To safeguard against communication failure, eDirectory writes these transactions to a Roll Back log. If an incomplete operation is encountered, eDirectory can use this Roll Back log to undo incomplete transactions.
The NDS.01 database contains several types of records and also any eDirectory indexes defined on the server. Records found within this database fall into the following basic types:
NOTE: EDirectory Versions prior to 8.6 use a maximum size of 2 GB for the NDS.01 file. When the 2 GB size limit is reached, a new NDS.02 file is created. If more than one NDS.xx file exists prior to upgrading to eDirectory 8.6, the 2-GB limit will be imposed on all subsequent NDS.xx files. If only one NDS.01 file exists prior to the upgrade, it will be allowed to grow to the full, almost 4 GB, size.
This file should NOT be edited directly without Novell Support direction.
If the cache size is statically assigned, the _NDSDB.INI file will be created in the dib directory. This is accomplished by using a SET DSTRACE parameter.
SET DSTRACE=!MB<amount_of_RAM_to_use_in_bytes>
For example, to set a hard limit of 8 MB you would type the following command at the console:
SET DSTRACE=!MB8388608
This command will set a persistent setting in a file called _NDSDB.INI file found in the dib directory. The following represents the cache parameter that would be set in the _NDSDB.INI file when using the SET command above for 8MB:
cache=8388608
To protect against loss of data from a catastrophic failure such as a server crash, eDirectory incorporates a Roll-Forward Log to track all changes made to the eDirectory database. The Roll-Forward Log naming convention starts at 00000001.LOG and, as needed, increments to FFFFFFFF.LOG. If necessary, eDirectory can recommit lost data to the database by examining the xxxxxxx.LOG files when the server is restarted.
As records are modified in the eDirectory DIB, but before those records are committed to the disk, a copy of the changes is entered into the Roll-Forward Log file. These entries are completed transactions that had not been written to disk. Upon server failure, the records committed to the disk may be lost, but the changes will be maintained in the Roll-Forward Log. This process is handled by the FLAIM checkpoint thread on the server and this file should decrease in time as transactions are written to disk.
The Roll-Forward Logs are typically stored in the <system>\NDS.RFL directory. Starting with With eDirectory 8.7 it is possible to store this file in a different location. To ensure database integrity, it is recommended to place the Roll-Forward Logs on a disk other than the one holding the eDirectory database. This will be accomplished by using the backup and restore utility. It is possible to delete this file but it is NOT recommended.
When the repair is completed normally and the database is unlocked these files are removed.