Environment
Novell iPrint
Situation
NDPS Manager database corruption suspected.
How to rebuild a corrupt NDPS Manager database using PAGen.exe.
How to recover from a corrupt PSM database.
Resolution
If the server is running NDPSM.NLM dated 18DEC2003 or later, then multiple backup copies of the PSM database exist in the VOL:\NDPS\XXXXXXXX.PSM directory. If NDPSM.NLM is dated between 18DEC2003 and 25AUG2005, then the copies consist of a pair of .DAT and .IDX files. If NDPSM.NLM is dated 25AUG2005 and later, then there will be multiple copies the .DAT files. Read the CAUSE statement of KB 10099109 for a detailed explanation of why there is not an IDX file with the newer NDPSM.NLM.
- PSMDBSV1 is a copy from 10 days ago.
- PSMDBSV2 is a copy from 20 days ago.
- PSMDBSV3 is a copy from 30 days ago.
- PSMDBSV4 is a copy from 40 days ago.
To recover from NDPS Manager database corruption:
a. Ensure that NDPSM.NLM is unloaded
b. Using Windows Explorer, browse to the .PSM directory. (Read the"Identify Correct .PSM Directory" note above)
c. Choose which backup .DAT you would like to use.
d. Rename the backup PSMDB.DAT.
e. Load NDPSM.
This will load the PSM database from X days ago. The assumption is that the backup copy does not have the corruption.
Use the Printer Agent Generator Tool (PAGen) to create a fresh database
If the server is running NDPSM.NLM dated 10MAR2004 or later AND a PADBTXT.CSV exists on the server, then you can use PAGen to create a fresh database with all of the original printer agents. Download the Printer Agent Generator tool (PAGen.exe) and read the associated documentation. Also, the steps below will be helpful in guiding you through the process of
a. Download PAGen by going to Novell's File Finder and searching for PAGen.exe dated 10AUG2004 or later. (Older versions of PAGen.exe do not work with NDPSM.NLM dated 21JUN2004 or later)
c. Using Windows Explorer, browse to the .PSM directory. (Read the"Identify Correct .PSM Directory" note above)
f. Move all the contents of the XXXXXXXX.PSM directory to safe location, leaving the .PSM directory on the server empty.
g. Load NDPSM.NLM (this will create a new PSMDB.DAT and the list of printer agents will be blank)
i. Run the Associate Operation within a command prompt as follows:
pagen /psm=.nameofPSM.OU.OU.O /broker=.nameofbroker.OU.OU.O /tree=yourTreeName /operation=associate /CSVfile=padbtxt.csv
This operation will recreate all of your Printer Agents and associate them to their corresponding NDS printer objects.
Additional Information
If the first reason is suspected, then loading a backup copy of the database or recreating the NDPS Manager database will cause the corruption to be gone. If the corruption returns later, then call Novell Support to help in determining the cause of the corruption.
Identify Correct .PSM Directory
Before recovering from NDPS Manager database corruption, be sure you correctly identify the .PSM directory that is associated to the NDPS Manager object in DS. There are several ways to accomplish this:
1. View .PSM Directory through Windows Explorer:
Using Windows Explorer, browse to the location of the NDPS Manager database files.
The location will be [VOL]\NDPS\XXXXXXXX.PSM. There is a .PSM directory for every Manager ever created on that server. Therefore, you may need to examine the contents of the .PSM directory to confirm that you are viewing the correct Manager database. There will be a .PA sub-directory for every printer agent on that NDPS Manager database. Also, viewing the creation date of the .PSM directory may help you determine which .PSM directory is correct.
2. View .PSM path through Server Console:
If the Manager is able to load, then you can determine the exact .PSM directory by:
- Go to the NDPS Manager screen on the server console
- Hit ENTER on NDPS Manager Status and Control
- Hit ENTER on Database Options
- Hit ENTER on Examine Database
- Make note of the database location
3. View .PSM path through ConsoleOne:
- Launch ConsoleOne.exe
- Open the Properties of the NDPS Manager object
- Click the "Other" tab
- View the "Database Dir Path" and "Database Volume"
Public Access Printer Agents
Public Access Printer Agents will not be created by PAGen.exe because Public Access PA's don't have associated NDS objects. PAGen requires an NDS object or it will skip over that row in the CSV file. For this reason, you must manually create your Public Access Printer Agents. This can be done after PAGen.exe is executed. Also, you can refer to the CSV file created by NDPSM to help you manually create the Public Access PA's. The CSV will show the PA Name, IP address of the printer (unless the Old Novell Port Handler Gateway was used), and the associated drivers.
Printer Agents configured for the Old Novell Gateway
Printer Agents using the Old Novell Port Handler Gateway will have incorrect Gateway Load String information. The Old Novell Gateway shows NDPDS as the Gateway Load String. This is insufficient to cause a Printer Agent to communicate with a physical printer on the network. You will either need to manually create these Printer Agents or you can modify the Gateway Load String column (column 6 in the CSV file) to instruct the PA to load the new Novell Gateway (NDPSGW.NLM). The format to use in this column is:
NDPSGW PORT=LPR HOSTADDRESS=[the ip address of your printer] PRINTERNAME=PASSTHROUGH
for example:
NDPSGW PORT=LPR HOSTADDRESS=232.73.158.151 PRINTERNAME=PASSTHROUGH
Formerly known as TID# 10092230