Hoping someone can shed some light on what is happening. Background: two days ago I upgrade EEM/EEPC from v5.1.7 to v18.104.22.168. Everything went great, no problems were encountered. Today I performed my normal index rebuild operation and afterwards couldn't login to the console with any of my admin accounts. The error i get is "Error db00004 - name was not found in database"
I'm currently restoring SBDATA from last night's backup to recover from this problem.
I went to my test 5.2.3 server and tested the same process I used in production and got the same error. The process I followed was, stop the DB server, deleted all names files in 0000001 and 0000002 forlders (didn't deleted the names.dat files in either folder) started the DB server then ran get counts. The getcounts command returned the follwoing error but did create index files:
ResultCode = 0xdb000004
ResultDescription = The name was not found in the database
Before deleting the original names files I saved them to a different location. On a hunch I decided to delete all the new names files and restore the originals. Sure enough I was able to login.
Here's my DBCFG.ini config:
I have 4135 machines and about 3900 users currently.
SbAdmin file version: 22.214.171.124
Any help would be greatly appreciated..Message was edited by: mrepine on 2/18/11 11:02:43 AM GMT-05:00
Solved! Go to Solution.
turn it back on in the ini file and then wait - watch to see if a name index gets created. This would mean you have something connecting directly to the files of the DB. You need to stop this bad behaviour.
If the name index does not rebuild, restart your sbdbserver - it should rebuild the index. This may take some time. After the index has been rebuilt you should be able to log in fine.
If not, then you have a corrupt object somewhere which is polluting the index - you'll have to run with it disabled. It's probably then a good time to think about upgrading to a current release - 5.2.3 is pretty old.
first thing is to turn your nameindex off and then restart your server - try to login now.
if it does not work then something has renamed the users - you need to work out what happened (perhaps a rogue admin?)
you can check the ACTUAL name of the user by probing the actual files of the db. the *1.dat file is the name file - just open it in notepad. You'll of course need to know the ID of the user to test this though - I always start at user 1 because that's the one created when the db was initialized.
If you are going to clear the index, you need to delete all the names.dat files - don't leave any behind.
Finally, make sure you only have ONE connection to the files of the database - one instance of sbdbserver etc. There's never a good reason to have multiple things accessing the db at once.
Truning off nameindex allowed me to login. I only have one instance of the DB server.
So now that I know logins succeed with nameindex disabled, what can i do to get indexing to working again?
Ok, so went ahead and turned indexing back on for the test machine, deleted all name.* files (including names.dat) then ran getcounts. Took about 20 minutes to complete. I then started the DB server and was able to login to EEM. So i think the problem was that I wasn't deleting the name.dat file for machines and users. I'm in the process of doing the same thing in production. Hopefully it will work there as well. Will follow-up shortly with the results.