About Us Products Solutions Services Contact Us
Please...
Register Here!
Login Area Superbase Europe Newsgroups

Home
Sitemap

Technical Support
Services


Professional
Services


Academic and
Educational
Services


Publishing
Services


Marketing
Services


Free Download
Services


Training Services

 

 


Services

Superbase Networking Fact Sheet

The Issues

In the recent past, the computer software market has seen the release of a number of new operating system (OS) and network operating system (NOS) versions. Among these is Windows 95, Windows 98, Windows Me, Windows NT 4.0 Workstation, Windows NT 4.0 Server, Windows 2000 Professional, Windows 2000 Server, and Windows XP. In the process, new network client software has also been created to work with the new operating systems, both for existing and newly-released NOSs. This has resulted in a number of problems.

Most (if not all) of the new network client software has been pre-configured to run in such a way that it is faster, but not necessarily safe for client-side locking control of a database, such as is typical of products like Superbase, Paradox, dBase, FoxPro, etc. These problems would not be demonstrated by products such as word processors or spreadsheets because they generally do not allow more than one person to work on the same document at the same time. Also, true client-server applications would not be affected, since there would only be one process actually accessing the data files, the server application.

We have identified the issues for the two most common NOSs, Novell Netware and Microsoft NT Server LAN Manager. The following should be taken as a guide to the proper approach to using these two NOSs and how to configure potential clients thereof.

Not making the appropriate changes can result in data corruption and/or destruction of the database to a degree that it may not be recoverable.

Some of our customers have told us that they feel that such a move that is specific to Superbase is to drastic to do in their networks and cannot be justified. We feel that it is important to make clear that this problem does not affect only Superbase, but is a general problem that affects any database application where the client controls data access and concurrency (or other application with concurrent collaboration support). The article that is linked here was posted to the comp.lang.clipper newsgroup in December of 2002 and does the best job we have yet seen to explain the issues.

Client OS Network OS Configuration Notes

Windows 95, Windows 98,
Windows Me, Windows NT 4.0, Windows 2000, or Windows XP using Novell Client32 or later

Netware

The following settings can be made in the Novell
client under Windows itself.

There are only 4 settings that appear to be of issue
on Client32 for Novell. They are:

Setting Defaults to Should be

Opportunistic Locking

On

Off

Packet Burst Mode

On

Off

Server caches writes
(this may be described differently)

On

Off

Optional setting (may slow the system down considerably so only 
use it if you are getting data corruption)

TrueCommit

Off

On

Some of these settings may not appear in the version of Client32 in use,
since Novell have removed some of them in the interim. If the setting
doesn't appear, then don't worry about it (much).

A sign, that Packet Burst Mode is on (and probably all of the other
settings are also incorrectly set) is Superbase 3.2, 3.5 or 3.6 (prior to the maintenance release builds 496 or later) coming up and saying "Product not registered". We have had reports that turning TrueCommit on can result in extreme slowness on the network. If this is a problem, it may be worth testing with it turned off, and then checking to make sure that no file corruption is occurring under a reasonably heavy load. Obviously, all such testing should occur on a copy of the database and not on the original!

Windows 95, Windows 98, Windows Me,  Windows NT 4.0, Windows 2000, or Windows XP using the Microsoft client for Netware

Netware

Client has not been tested but is generally not recommended by Novell. If any settings would have to be changed, they are likely to also be buried in the registry somewhere, with the actual values unknown to everyone but Microsoft.

Windows 95, Windows 98, Windows Me, Windows NT (all versions), Windows 2000 (all versions), Windows XP (all versions)

NT Server 4.0, Windows 2000 acting as a server (not necessarily the Server version), or Windows XP acting as a server

Server Settings

Data corruption appears to be caused by the opportunistic locking setting. To resolve this, the following change must be made to the registry on the server:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
\Services\LanmanServer\Parameters

It will be necessary to add the following value as it is listed below, 
with the proper data type and the value listed. Once these changes are made, the server must be restarted.

Setting Data Type Should be

EnableOplocks

REG_DWORD

0

The default value of this parameter is 1 (true) and is set even if the parameter is not physically present in the registry. To disable it, the parameter must be added and set to 0.

This setting specifies whether the server allows clients to use opportunistic locking on files. Opportunistic locking is supposed to provide a significant performance enhancement, but is unsafe where client-side locking is involved and in the case of networked databases like Superbase actually can slow down database access! If you are using Superbase in LAN or Distributed LAN mode then this setting is required to set to 0 as shown above to prevent data loss. If you are using Superbase's PPCS (Peer-to-Peer Client/Server), then it may be safe to leave this setting enabled, since only one application, the server, is writing to the data files. Still, there is no real advantage in leaving this setting enabled.

Client Settings for Windows 9.x or Earlier

If you are using Windows 9.x or earlier there are no additional client-side setting that are necessary.

Client Settings for Windows NT 4 Acting as a Workstation or Client

To modify the settings for NT Workstation, it is necessary to edit the registry, since Microsoft does not provide any method of configuring these options in their client setup. The registry key path is:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\LanmanWorkstation\Parameters


It will be necessary to add the following values as they are listed below,  with the proper data type and the value listed (0 in all cases):

Setting Data Type Should be

UseLockReadUnlock

REG_DWORD

0

Indicates whether the redirector uses the lock-and-read and
write-and-unlock performance enhancements.

When this value is enabled, it generally provides a significant
performance benefit. However, database applications that lock
a range and donít allow data within that range to be read will
suffer performance degradation unless this parameter is disabled.

UseOpportunisticLocking

REG_DWORD

0

Indicates whether the redirector should use opportunistic-locking
(oplock) performance enhancement. According to the documentation, this parameter should be disabled only to isolate problems. In the case of Superbase, it should be off.

Opportunistic locking provides a significant performance enhancement, but is unsafe where client-side locking is involved. If you are using Superbase in LAN or Distributed LAN mode then this setting is required to be off to prevent data loss. If you are using Superbase's PPCS (Peer-to-Peer Client/Server), then it may be safe to leave this setting enabled, since only one application, the server, is writing to the data files. This is still not recommended.

UtilizeNtCaching

REG_DWORD

0

Indicates whether the redirector uses the cache manager to cache
the contents of files. Disable this parameter only to guarantee that
all data is flushed to the server immediately after it is written by the application.

Client Settings for Windows 2000, XP, 2003 Acting as a Workstation or Client

To modify the settings for the Workstation service, it is necessary to edit the registry, since Microsoft does not provide any method of configuring these options in their client setup. The registry key path is:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\LanmanWorkstation\Parameters


It will be necessary to add the following values as they are listed below,  with the proper data type and the value listed (0 in all cases):

Setting Data Type Should be

UseLockReadUnlock

REG_DWORD

0

Indicates whether the redirector uses the lock-and-read and
write-and-unlock performance enhancements.

When this value is enabled, it generally provides a significant
performance benefit. However, database applications that lock
a range and donít allow data within that range to be read will
suffer performance degradation unless this parameter is disabled.

UtilizeNtCaching

REG_DWORD

0

Indicates whether the redirector uses the cache manager to cache
the contents of files. Disable this parameter only to guarantee that
all data is flushed to the server immediately after it is written by the application.

Opportunistic locking is controlled differently in the newer versions of Windows than was done in Windows NT. The following registry key path is the location of the desired entry and that must be present and set to the associated value.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\MRXSmb\Parameters

Setting Data Type Should be

OplocksDisabled

REG_DWORD

1

The OplocksDisabled registry value configures Windows clients to either request or not request opportunistic locks on a remote file.

Additional Notes for NT Workstation, Windows 2000, XP, and Vista

In addition to the possible changes required on the client settings, NT-based client machines have a special change that is required. This is because the NTVDM in these machines appears to represent remote drives as if they were local (at least to the Win16 subsystem). That causes Superbase to open all files in a special mode known as LOCAL. You can see this immediately if you open a file for RW/RW access interactively on a remote drive. In the title bar will be something like: "Superbase - F:\myfile.sbf (L0)". The L0 is an immediate giveaway that LOCAL mode is in use. In this mode Superbase opens all files exclusively, regardless of the requested open mode. To stop Superbase from opening the files exclusively on NT-based operating systems, add the environment variable SBLOCAL with the value NONE to the environment settings. This can be found in the System applet of the Control Panel on the Environment tab. Alternatively, you can place the entry in the SB30.INI file in the Superbase section:

[Superbase]

sblocal=none

It is also possible to use Superbase.LocalFileLocking = False in the Superbase program, but this setting should be made before any files are opened and should never be changed once the program is running.

The above information was compiled in part using the articles listed below, all of which are copyright Microsoft Corporation.


WFW 3.11 Clients Hang Accessing Windows NT Server

Last reviewed: August 8, 2001
Article ID: Q123029

Some Client Applications Fail When Writing to WindowsNT

Last reviewed: August 8, 2001
Article ID: Q124916

PC Ext: Explanation of Opportunistic Locking on WindowsNT

Last reviewed: August 8, 2001
Article ID: Q129202

REG: Workstation Service Entries

Last reviewed: February 28, 2002
Article ID: Q102981

REG: Server Service Entries, PART 1

Last reviewed: August 6, 2002
Article ID: Q102967

REG: Server Service Entries, PART 2

Last reviewed: February 27, 2002
Article ID: Q102969

How to Disable Network Redirector File Caching

Last reviewed: June 11, 2002
Article ID: Q163401

Configuring Opportunistic Locking in Windows

Last reviewed: March 14, 2003
Article ID: Q296264

This page was last reviewed/modified on


Copyright © 2003 Papatuo Holdings Ltd, Cambridge, UK. All rights reserved worldwide.
   Legal Notice  Questions or comments? Contact webmaster@superbase.co.uk