[Logging]
|
Description
|
Factory value
|
Access mode
|
---|---|---|---|
BlockSize
|
Sets the block size of log files. The log block size can be changed between startups. Logs that have a block size different than the one set with this parameter are accepted at recovery.
The value must be a multiple of 1 KB. Large blocks reduce the overhead of log writing.
|
16 KB
Unit: byte k=KB
|
RW/
Startup |
DigitTemplateChar
|
Specifies the template character that is replaced in the name template of the log files. See the description of the Logging.FileNameTemplate for more details.
|
#
|
RW/
Startup |
DirectIO
|
Defines if the log file uses Direct I/O. Direct I/O means that operating system buffer pool is bypassed in file I/O.
This parameter is not effective in Windows environments; in Windows environments, database files always use Direct I/O.
|
no
|
RW/
Startup |
DurabilityLevel
|
This parameter controls whether the transaction durability level is strict, relaxed, or adaptive.
1 = relaxed durability
If durability is relaxed, writes are asynchronous; there can be a delay between the time that the transaction is committed and the time that it is logged.
2 = adaptive durability
This value applies only to HSB (HotStandby) Primary servers.
3 = strict durability
If durability is strict, writes to the transaction log are synchronous; as soon as a transaction has been committed, the transaction is written to the transaction log. See Logging and transaction durability.
The durability level can be set dynamically by using the command:
ADMIN COMMAND 'parameter Logging.DurabilityLevel=n';
where n is one of the valid values for this parameter.
You can override the parameter setting for each connection or session by using the SET DURABILITY or SET TRANSACTION DURABILITY command.
The DurabilityLevel parameter affects the server behavior only if transaction logging is turned on. If you turn off transaction logging by setting Logging.LogEnabled to no, your data is not be logged to disk, regardless of the setting of DurabilityLevel. If Logging.LogEnabled is set to no and DurabilityLevel is set, the server displays a warning message at the time that it starts. See also Logging.LogWriteMode and HotStandby.2SafeAckPolicy.
|
1
|
RW
|
FileFlush
|
This parameter controls the log file flush behavior. This parameter is only valid for platforms supporting Synchronized I/O Data Integrity Completion, such as Solaris, HP-UX, and Linux.
When set to no, the operating system flushes the log file, instead of the solidDB® engine.
|
yes
|
RW/
Startup |
FileNameTemplate
|
Defines the path and naming convention used when creating log files. The log files contain information that is used to recover data if the server terminates abnormally.
At minimum, this parameter defines the naming convention used when creating log files. The path information is optional. If the path is not defined, the Logging.LogDir parameter defines the path.
Template characters (for example, #) are replaced with sequential numbers. For example, the following file entry instructs the server to create log files in directory C:\soliddb\log and to name them sequentially starting from sol00001.log.
FileNameTemplate = c:\soliddb\log\sol#####.log
Your template can use 4 - 10 template characters. If you do not want to use the # sign as a template character, you can specify a different character by setting the parameter Logging.DigitTemplateChar.
After the last digit in the log file name sequence is reached (for example, sol99999.log), the server restarts the numbering from 0 (for example, sol00000.log).
To achieve better performance by avoiding problems with network I/O, store the log files on a local drive using local disk names.
|
sol#####.log
|
RW/
Startup |
LogDir
|
This parameter sets the directory prefix of the log file path, if it is not specified with the Logging.FileNameTemplate parameter. By default, Logging.FileNameTemplate specifies only the file name and Logging.LogDir specifies the path, which is the servers working directory.
The specified log directory has to exist prior to starting the server. If the directory does not exist, the server returns the following type of error:
SsBOpenLocal failed, file 'log/sol00001.log', errno = 2, retries = 0, open files = 1
|
"." (the server’s working directory)
|
RW/
Startup |
LogEnabled
|
Specifies whether transaction logging is enabled or not. If transaction logging is disabled, you get better performance but lower transaction durability. If logging is disabled and the server shuts down unexpectedly, you lose any transactions since the last checkpoint.
This parameter applies to in-memory tables and disk-based tables.
|
yes
|
RW/
Startup |
LogSoftMemoryLimit
|
Limits the amount of memory write queue items (writeq) can use. The limit is a soft limit: it can be exceeded temporarily, for example, in case of large write operations.
The minimum value is 1 MB.
Note In V7.0 Fix Pack 6, the default value is 4 M. If you experience performance degradation during heavy write loads after installing V7.0 Fix Pack 6, increase the value of the Logging.LogSoftMemoryLimit parameter, for example, to 64 M.
|
67108864 (64 M)
Unit: 1 byte or k=KB m=MB
|
RW
|
LogWriteMode
|
Specifies the mode in which the log is written. The following two modes are available:
▪0: ping-pong method
▪2: overwrite method (factory value)
The choice of logging method depends on the log file media and the level of security required. For details on each of these methods, see Transaction logging.
|
2 (Overwrite method)
|
RW/
Startup |
MinSplitSize
|
Defines the log file size after which the log is written to a new log file. The new log file is created after the next checkpoint.
|
10 MB
Unit: 1 KB k=KB m=MB
|
RW/
Startup |
RelaxedMaxDelay
|
This parameter sets the maximum time in milliseconds that the server waits until the committed transactions are written to the log. This parameter applies only when the transaction durability level is set to RELAXED with the Logging.DurabilityLevel=1 parameter or the SET DURABILITY statement.
The units are milliseconds. Minimum allowed value: 100 (100 ms).
|
5000 milliseconds (5 seconds)
Unit: 1 ms
|
RW/
Startup |
SyncWrite
|
When set to yes, the solidDB® server assumes that the platform supports Synchronized I/O Data Integrity Completion.
This parameter applies only to platforms, such as Solaris, HP-UX, and Linux, which support Synchronized I/O Data Integrity Completion. It must be set to no on all other platforms.
|
no
|
RW/
Startup |
ThreadPriority
|
This parameter defines the logging thread priority in Linux, AIX, Solaris, and HP-UX environments. Defining the logging thread priority can increase throughput in case of write-intensive workloads when solidDB® is under high load.
Possible values are:
▪Normal (default) - Logging thread is not prioritized.
▪Realtime - Logging thread is prioritized using the realtime scheduler of the operating system.
▪Adaptive - Server tries to set the logging thread priority as realtime. If the realtime priority cannot be set, the server defaults to Normal priority.
If you configure the parameter as Realtime, but the server is unable to do so, the server does not start.
If the parameter is set to Adaptive and the server fails to set the thread as realtime at startup, an error is output in solmsg.out.
Note Before setting the Logging.ThreadPriority parameter to Realtime or Adaptive, you might need to adjust the security settings for realtime use in your environment.
For example, in Linux 64-bit environments add the following two lines in /etc/security/limits.conf:
* hard rtprio 99
* soft rtprio 99 To activate the new settings, log out and log in again; the limit settings are set per login, they exist only for the duration of the session.
Restart the server.
|
Normal
|
RW
|