Fix stuck obituaries in eDirectory - quick step by step guide
You may get error “Error: -637 “Previous move in progress” when IDM is not syncing properly or perhaps when trying to do a partition operation such as server removal. This is most likely a stuck obituary or obituaries which need resolving. Read on.
For all stuck obituaries
Firstly see that time is in sync, replicas in sync, do a filesystem check if needed, reboot etc.
- ndsrepair -T
- ndsrepair -E
Time must be in sync and errors must be 0.
Check stuck obituaries: run this locally in all of the servers:
- ndsrepair -C -Ad -A
If you see stuck obituaries (BACKLINK, DEAD) try to nudge backlink process by firstly:
- ndsrepair -R -Ad -XK3
and secondly starting up ndstrace:
- ndstrace
and in the ndstrace console issuing commands:
- set dstrace=*b
- exit
You can also try and re-timestamp the obituaries so that eDirectory will process them again
- ndsrepair -R -Ad -A -OT
If you see older obituaries they may not get processed by the commands above so here's how to re-timestamp old obituaries
- start ndstrace
- type set ndstrace = *j
- type set ndstrace = *f
Give it a little time and check again with “ndsrepair -C -Ad -A”
Also another mind trapping jedi-ndstrace-trick with obituaries is:
- set ndstrace = off
- set ndstrace = nodebug
- set ndstrace = on
- set ndstrace = +sync
- set ndstrace = +jntr
- set ndstrace = *u
- set ndstrace = *h
- set ndstrace = *j
- set ndstrace = *f
NON orphaned obituaries that just don't go away
This is the weirdest piece of information I've come across for a while. Some things just are not printed or I just cannot read them.
If you have MOVE and INHIBIT_MOVE obituaries nicely in pairs that just stick around (unprocessed status etc) and will not go away no matter how many Novell / NetIQ manuals you read try this.
* Go to iMonitor * Fire up advanced mode (look above) * Go to reports and report obituaries (look above) * Click on an "advanced options" of the obituary * Add '&op=all' to the end of the URL * Select "Purge xxx (purgeobj)" * Observe your nerves relieving as those obituaries fly fly away..
For orphaned INHIBIT_MOVE obituaries
For stuck obituaries which are mostly inhibit_moves WITHOUT corresponding MOVED obituary you can release them with iMonitor. I remember to have done it to DEAD obituaries as well but I am not sure. Better google first :)
Here is how to proceed:
- Locate the orphan obituaries with command (for each server if you have more than one in your tree): ndsrepair -C -Ad -A
- For easy observation search or highlight test “MoveObit: destID” and see it following legit INHIBIT_MOVE - MOVED pairs. What we are removing are the orphaned ones, not the paired ones.
- Connect to iMonitor (for each server): http://server:8030/nds
- iMonitor → main page → Advanced mode enabled
- iMonitor → Reports → Report Config → select obituary listing configuration
- obituaries older than “1” hour
* Include obituary types: restored, dead, moved, inhibit move * Run report * Locate the obituary you identified with ndsrepair * Select "release move entry" and be sure you have the right obituary!
Other useful ndstrace commands
- set dstrace=*h : force resync
For really really bad problems with your flaim database
Open ndstrace and look, initiate sync between servers if needed and observe the hex addresses of the objects that are broken. Then use “ndsrepair -J <hex_address>” to fix the single object using the entry ID's hexadecimal pointer.
This can take quite a bit of time but I managed to salvage one really messed up eDirectory with a few hours of manual repair work
Also check https://www.novell.com/support/kb/doc.php?id=7004722