Windows 98 and Access 2000 performance issue

I have a very small access 2000 database with approximately 14 people accessing it.  They are all on Windows 98 machines and the performance is slow at best.   I have one guy here who assumes throwing memory at the pc's will fix this issue.  I am not buying that just yet.  I know the way Access works.  Copying the specific table back to the client every time it's accessed.  Will upgrading memory from 128 to 256 help this problem?  Or is that just throwing good money after bad?  I'm on a 10/100 network and all other apps seem to work great.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Are you operating on a domain or on a peer-to-peer network?
Is the Access 2000 database stored on one computer?

Opportunistic locking can play havoc with shared databased and in this case it's urgent that you turn opportunistic locking as soon as possible, as a fail-safe precaution.

See several articles for several different database products:

Also see an article on EE:
My typing needs to improve:  As in . . . "turn off opportunistick locking" . . .
Oh, increasing RAM from 128Mb to 256Mb will always help.  Especially for a database like Access 2000.  Try it with one workstation.  If it works, may be worth upgrading all the others.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

dboyer6156Author Commented:
It's on a domain network.   I went ahead and upgraded the pc's to 512.   How do I go about turning off opportunistic locking?  I had an issue today someone decided to get happy and log in as admin on one of the machines then used the software to access the database and it locked it out.  Is this what opportunistic locking does?  Sorry if I sound a little un-educated but access has never been my thing.
dboyer6156Author Commented:
forget my last post I followed your links..  thank you for the help.
Opportunistic locking is where a part of the file needs to be locked.  Locked as in one process can alter it but the others can only read, or have no access.  The `opportunistic` bit is once a file or record is locked, the oprtating system assumes the the process will access some more of the file after the part is locked so read a little bit more into memory, regardless if the process that's locked the record will use the pre-fetched data or not.

Now, what if another process on another does not operate properly on a network that uses opportunistic locking?  Ouch...  Without going into details, this results in corrupted databases.

Now, you mention that you're using a domain and I assume the shared data also resided on the domain controller.  In this case, with your network not being large hence losing a little performance (you won't even notice the difference) you can disable opportunistic locking on the domain controller, which means you need to do nothing on the workstations.  As in the workstation may ask for opportunistic locking, but the server will always deny the request.


Quoted from the article:
 You can also deny the granting of opportunistic locks by setting the following registry entry to 0:
 EnableOplocks REG_DWORD 0 or 1
 Default: 1 (Enabled by Default)
 NOTE: The EnableOplocks value configures Windows-based servers (including Workstations sharing files) to allow or deny opportunistic locks on local files.

As always, make a note of all settings and perform a system state backup on the domain controller before messing with the registry.  Also, be sure you know how to edit the registry.

I did this on our network, cured many problems.  Just recently disabled OpLocks on adomain controller on another network and since that's been done, the Lotus Approach databases became stable, especially when more than one person was working on the same data.

Have a search for `OpLocks` and `Opportunistic locking` on Google and Microsoft's knowledgebase.  You'll see many comments, especially on the Google search and just about all of them is how to turn OpLocks off.

It it does work, please do post a comment.

Upgrading the PC's to 512Mb will do no harm.  Actually, does more good.  You'll find out that you will NOT need to throw more memory at the problem.  Any other slowdowns may be network related.

Please do tell if any of the advice given is useful, or not.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
I like points.  [=:  Thanks.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.