When this setting is On, the database engine accepts user credentials stored on the client. The method and location of storage depends on the operating system of the client:
When this setting is Off, the database engine forces the client to omit stored credentials from any database operation that requires credentials. Such credentials must be supplied by the application or through the login dialog. The login dialog still writes client-stored credentials if specified using the login dialog, even if this setting is Off. However, they will not be accepted.
A simple way to ensure the client gets authentication is to enter \\<yourserver>\pvpipe$\mkde.pip at the command prompt. You should see a lot of question marks (unprintable symbols), occasional printable characters, and hear beeps. If you do not, check your Samba configuration file to be sure you have rights to read this pipe. If you do but still see error 94 or 3119, validate your RTSS setting using the engine configuration properties in PSQL Control Center or with
pvnetpass.
The default value is /etc/smb.conf. If you installed the Samba configuration file in a different location, enter the correct path name.
When this setting is On, in the absence of other authentication credentials, the engine requires the Windows client to present a login dialog to the user. This setting applies only when Mixed or Database security is in effect and does not apply to a Linux or OS X client under any circumstances. If valid credentials are supplied via another method (for example, explicit Btrieve Login (78) operation or credentials stored on the client), the login dialog does not appear.
When this setting is Off and one of the new security models is in use, user credentials must be provided programmatically (credentials stored on the client or provided with a Btrieve Login (78), Open (0), or Create (14) operation), or else the login attempt fails with an authentication error.
This parameter specifies whether the given client or server should use encryption for its network communications. The default value of If Needed means that the client or server only uses encryption if the other end of the communication stream requires it. For example, assume that Server A has its
Wire Encryption value set to
Always. Server B has its value set to
Never. Your client has its value set to
If Needed. In this case, the client will use encryption when communicating with Server A, but it will not use encryption when communicating with Server B.
This option specifies whether the database engine should listen for client connections on all network interfaces. If it is set to On, the database engine listens on all network interfaces, and the IP addresses listed in the
Listen IP Address option is ignored. If this setting is
Off, you must specify in
Listen IP Address which addresses)for the database engine to use for client communications.
This setting specifies the format in which all new files are created. The 10.x database engine can write to files using the existing file format. In other words, it writes to 7.
x files using the 7.
x file format, writes to 8.
x files using the 8.
x file format, and so forth. (The 10.
x database engine can
read files created with 5.
x, 6.
x, 7.
x, 8.
x, and 9.
x versions of the database engine.)
Specify 6.x, 7.
x, or 8.
x only if you need backward compatibility with a previous version of the MicroKernel. Specifying a previous file version does not affect any existing 9.
x files.
Transaction Durability is the same as
Transaction Logging except that Transaction Durability guarantees that all successfully completed transactions are committed to the data files in the event of a system crash.
If the related setting, Transaction Durability, is turned on, then logging takes place automatically, and the
Transaction Logging setting is ignored.
The server configuration setting Transaction Durability is similar to Transaction Logging, but provides a higher level of data safety along with a lower level of performance. The server configuration settings
Log Buffer Size and
Transaction Log Size are related to
Transaction Logging.
Log Buffer Size allows you to configure the balance between transaction recoverability and performance. The larger the log buffer, the fewer times it is written to disk, and thus the greater the performance. However, database changes that are in the log buffer are not durable through a system failure.
Transaction Log Size controls how large each log file segment gets before a new segment is started.
The MicroKernel Engine API provides controls to handle record lock situations. See Btrieve API Guide in the PSQL SDK documentation for a complete discussion. In brief, here are the control mechanisms:
This setting specifies the size of the data buffer that the MicroKernel writes to the trace file. The Trace Operation setting must be set to
On to use this setting. The size you specify depends on the nature of your tracing needs (whether you need to see the entire data buffer contents or just enough of the buffer contents to identify a record).
This setting specifies the size of the key buffer that the MicroKernel writes to the trace file. The Trace Operation setting must be set to
On to use this setting. The size you specify depends on the nature of your tracing needs (whether you need to see the entire key buffer contents or just enough of the buffer contents to identify a key).
The Selected list displays the available Btrieve API operation codes that are traced. Select from the list the desired operations to trace.
If you are using the L2 cache, you should set System Cache to Off. Check the setting of
Max MicroKernel Memory Usage. When Max MicroKernel Memory Usage is set to a value greater than zero, you are using L2 cache.
If you are not using L2 cache, performance can be enhanced by turning on System Cache. The MicroKernel relies on the system cache to organize and group pages to be written. It delays a flush long enough to allow the system cache to write the pages to disk in a more efficient manner. However, if your server has an advanced self-cached disk array, you might achieve better performance by setting
System Cache to
Off.
These criteria are the same as the ones defined under the Watch List topic. The advantage of automatic defragmentation is that you do not have to manually select files, add them to the Watch List, and then manually check and defragment them.
Speaking very generally, overall performance is usually best when the Cache Allocation Size is a value less than 40% of the physical memory on the system, and the Configuration setting Max MicroKernel Memory Usage is set to a value greater than 40%. Your exact optimal settings will depend on the size of your data files, the number of other applications running on the system, and the amount of memory installed in the computer.
This setting specifies that a data file is to be automatically broken into 2 GB operating system file segments as its size passes that boundary. If set to On, this setting specifies that you want data files divided into 2 GB segments. If set to
Off, this setting specifies that data files will remain a single, nonsegmented file. The advantage of using a larger nonsegmented file is more efficient disk I/O. Therefore, you can expect increased performance.
Note: If you set Log Buffer Size to a value greater than that of
Transaction Log Size, then the MicroKernel automatically increments
Transaction Log Size to the value you specified for
Log Buffer Size.
If the value zero (0) is specified, then dynamic caching is turned off. In this case, the only cache available is L1, the size of which is specified by Cache Allocation Size. If you have a dedicated database server machine, then you should set
Max MicroKernel Memory Usage to the maximum value, or whatever proportion of memory is not occupied by the operating system. If you run other applications on your database server and you need to balance performance between all of these, then you should set this value lower so that the database cache does not compete as much with the other applications when using available memory.
Note: If Cache Allocation Size is set to a higher amount of physical memory than
Max MicroKernel Memory Usage, then Cache Allocation Size takes precedence. For example, a machine has 1 GB of physical memory and you set Cache Allocation Size to 600 MB and Max MicroKernel Memory Usage to 40%. The L1 cache is allocated 600 MB of memory. Since Cache Allocation Size is higher, it takes precedence and the amount of memory allocated to the L1 cache exceeds the value specified for Max MicroKernel Memory Usage.
internal_allocations is approximately 25% of the size of the L1 cache
L2_cache_size is the amount of memory that expands and contracts based on memory load of the system
size_of_physical_memory is the amount of memory installed in the machine