Locked/Closed NDS Database

  • 10058536
  • NOVL32976
  • 17-Nov-2000
  • 25-Jun-2003

Fact

Novell Directory Services

Novell NetWare 5.x

Novell NetWare 4.x

Formerly TID #2938607

Symptom

Locked/Closed NDS Database

When loading a server it states on the console that the local database is closed or locked, such as:
    Directory Services:  Could not open local database
    Directory Services:  Local database has been closed

Users cannot login to the server.

DSRepair does not run, shows no tree name, or abends the server

The server hangs at Bindery open requested by the SERVER

Directory Services remains locked

Error:  -663

Cause

The SYS:_NETWARE\*.NDS database files have become corrupted possibly due to a hardware issue.

Missing UNICODE files in the SYS:LOGIN\NLS directory.

The TTS (Transaction Tracking Service) on the server has been overburdened due to a lack of available resources (such as memory).

Directory Services is locked on this server due to a local repair or hardware upgrade option.

Files are open in the SYS:_NETWARE directory and NDS cannot gain access to the database.

Fix

1. Has the "Prepare NDS for hardware upgrade" (DSMAINT.NLM), or  "Save local DS information prior to hardware upgrade" (INSTALL.NLM) been run?  This process will lock the DS database until you run "Restore NDS following hardware upgrade" or "Restore local DS information after hardware upgrade", respectively.

2.  Try unloading and reloading the DS.NLM by typing the following at the console prompt:

SET DSTRACE=*.

or,

UNLOAD DS
LOAD DS

3.  Bring up the server with SERVER -NDB (for no database).  Load DSREPAIR | Advanced Options menu | Repair local DS database, with Check Local References and Rebuild Operational Schema set to Yes.  Save the repaired database, then Esc to unlock DS.

Everything is fine if the local database opens without any errors.  One or more corrupted objects could have caused the database errors.  The local database repair solved the issue.

4.  If you are receiving a -497 error or an error related to the Record Manager, then load INSTALL (or NWCONFIG for NW5.x) | Copy Files option | enter in the path to your 4.x CD-ROM | [X] Pre-install files only.  This will reinstall the missing UNICODE files into the SYS:LOGIN\NLS directory.

Note:  If you cannot seem to mount your CD-ROM volume, follow these steps to copy the files:

  a.  Map a drive on a workstation to another 4.10/4.11 server at the SYS:LOGIN\NLS directory.
  b.  LOAD REMOTE and RSPX on the server you need to copy the files to.  (RCONSOLE will still function even if you cannot login to the server.)
  c.  RCONSOLE from the workstation to the problem server, select Alt+F1 | Transfer Files to Server.  Source path on workstation is your drive mapping to the other server.  Target path on server is the SYS:LOGIN\NLS directory.

5.  If you are receiving a -618 Inconsistent_database, -255 No_files_found, or errors on one of the SYS:_NETWARE\ *.NDS or *.TMP files, check for SYS:_NETWARE\*.OLD files which are dated before the DS database became locked or corrupted.   
You can check this hidden directory either through RCONSOLE | Directory Scan | SYS:_NETWARE\*.OLD, or LOAD NETBASIC | SHELL | go to the NETBASIC Interactive Shell screen | DIR SYS:_NETWARE\*.OLD.  If you have usable .OLD files call Novell Technical Services.  They may be able to dial-in and restore these files.
Alternatively you may also use toolbox or a third party tool such as JCMD to copy the .OLD files over the top of the .NDS files.

For NetWare 5, prior to NDS v8:

If you are receiving a -618 Inconsistent_database, -255 No_files_found, or errors on one of the SYS:_NETWARE\ *.DSD, *.DT, or *.DSB files, check for SYS:_NETWARE\*.DOD files which are dated  before the DS database became locked or corrupted.   
You can check this hidden directory either through RCONSOLE | Directory Scan | SYS:_NETWARE\*.DOD, or LOAD NETBASIC | SHELL | go to the NETBASIC Interactive Shell screen | DIR SYS:_NETWARE\*.DOD.  If you have usable .DOD files call Novell Technical Services.  They may be able to dial-in and restore these files.
Alternatively you may also use toolbox or a third party tool such as JCMD to copy the .DOD files over the top of the .DSD files.

Note:  If you are seeing this error during a DSMERGE, try running DSREPAIR | Advanced options menu | Repair local DS database, Check local references and Rebuild operational schema = Yes, on all servers holding replicas of [Root] in both trees.

6.  If you are seeing -621 or "Error growing TTS memory tables", type ENABLE TTS at the server console.  You will have to do this on every server that is reporting the -621 error.  If the error reoccurs, load MONITOR | Server parameters | Transaction Tracking | Maximum Transactions = 5000 (or lower if necessary).  You can also type SET MAXIMUM TRANSACTIONS = 5000 at the server console.  

7.  If you have changed the server's internal IPX address and bounced the server, the server hangs at "Bindery open requested by the server."  Bring the server down and bring it back up with a SERVER -NA.  Type in the server name and OLD IPX address.  Now, at the server console, type the following:

DISPLAY NETWORKS

Look for the new internal IPX address that you were using.  Is it there?  If so, this means that another network device is using this address already.  The solution is to use an address that is unique on the network.

8.  In one incident, DSREPAIR | Repair local DS database was returning a "Error writing to entry.tmp."  We dismounted the SYS volume, then typed LOAD C:\NWSERVER\VREPAIR and ran a VREPAIR on the SYS volume.  Upon exiting VREPAIR, the local database opened.  

We immediately ran a DSREPAIR | Repair local DS database, with Check local references and Rebuild operational schema.  It found 700 errors and we "Yes, save repaired database."  The second run found no errors.  The database was fine at this point.

9.  If you are seeing -128 errors when attempting to run DSRepair | Unattended full repair, or Advanced options menu | Repair local DS database, load MONITOR | Connections | Check each active connection to see if a user has any open files in the SYS:_NETWARE\ directory.  If so, remove the connection.  The repair should now run normally.

If the are no open files in the SYS:_NETWARE directory, try downing the server and bringing it back up.  This will clear any active connections that may be holding files open in the directory.

10.  As a last resort, you may have to remove Directory Services and reinstall the server back into the tree.  Load INSTALL or NWCONFIG | Directory options | Remove Directory Services from this server.  If the attempted removal returns an error and will not remove Directory Services, load the module with a -DSREMOVE and try again.

Once you reinstall, you will have to restore trustee assignments, recreate print queues, reassign user home directories, and add replicas back onto the server.  See KB 10010922 on removing the server object from the tree properly before reinstalling DS.



Keyword search:  DS NDS database locked closed 128 497 618 663 621 255 -128 -497 -618 -663 -621 -255 record manager user users cannot map drive login no tree name blank dsrepair could not run load open local database remains directory services: error reading from 0.dsb 0.dsd 1.dsd 2.dsd 3.dsd entry.nds value.nds partitio.nds block.nds writing to value.tmp entry.tmp partitio.tmp block.tmp error growing TTS memory table dsrepair process aborted aborts could not read from one or more Directory Services files database program operation cannot continue normally repair process aborted could not open the repair process was not successful dserr lock fail no files found inconsistent database err transactions disabled ds locked the database may be is inconsistent try running a local repair DSRepair.