Queue Parameters
These parameters control properties of the SharePlex queues.
SP_QUE_MAX_QUEUES
This parameter determines the maximum number of queues allowed per instance of sp_cop. By default, each capture and export queue uses 8 MB of shared memory and each post queue uses 32MB. If the system has enough memory, you can increase the value of this parameter. On startup, SharePlex displays the amount of shared memory that is required for the number of queues in the active configuration files.
Default: 25
Range of valid values: 9 - 254
Takes effect: When sp_cop is restarted
SP_QUE_POST_SHMSIZE
This parameter determines the specific shared-memory size for the post queue.
Important: Increasing this parameter might require an increase in the maximum shared memory segment size in your system settings.
Default: 32 megabytes
Range of valid values: integer greater than 0
Takes effect: When sp_cop is restarted
SP_QUE_Q_SHMSIZE
This parameter determines the specific shared-memory size for the capture and export queues.
Default: 8 megabytes
Range of valid values: integer greater than 0, no maximum
Takes effect: When sp_cop is restarted
SP_QUE_SHMDBUF
This parameter controls the shared-memory buffer size, which determines how much information the SharePlex processes read from, or write to, the queues at one time. The buffer is part of the SharePlex checkpoint recovery process that facilitates fast, safe, asynchronous transport of data. The default setting is an optimal value and should not be changed without the guidance of a Technical Support representative or documented SharePlex procedure. However, it is acceptable to change this parameter if the majority of transactions are large. Try an initial setting of 65536. All values set for this parameter must be a power of 2.
Important: Increasing this parameter to a value greater than 64k might require an increase in the maximum shared memory segment size in your system settings.
Default: 32,768 bytes
Range of valid values: any positive integer in powers of 2
Takes effect: when SharePlex is restarted
SP_QUE_SYNC
SP_QUE_SYNC instructs the queue module to verify that the writes of queue data to disk have been written to the disk media before returning. This is not the standard disk write model in Unix and Linux.
In the default OS disk I/O procedure, disk writes are written to an internal OS buffer cache and then are written to disk later. This action distributes the overhead of writing to disk so processes do not have to wait for the data to be written to disk. When the data blocks are written to the buffer cache, the applications accessing the data cannot distinguish the data written to the buffer cache from data written to disk. Unlike the Oracle COMMIT, all processes that have access to the file also have access to the data in the buffer cache. If a system crash should occur between the time the data blocks are written to the buffer cache and to the physical media, any data not written to the media is at risk for being lost upon the system recovery.
The SP_QUE_SYNC parameter is implemented as follows:
SP_QUE_SYNC=0
The OS default case described in the second paragraph is the disk write algorithm used for the SharePlex queue data.
SP_QUE_SYNC=1
Setting SP_QUE_SYNC to 1 causes the O_SYNC flag to be set upon opening each queue data and header file. This flag tells the OS not to return a write call until the data has been successfully written to disk. Without the sync flag ("normal" I/O), space would be allocated for the file data but the file data might not be written due to a system crash, cluster failover, or other critical problem that causes the OS to stop executing.
SP_QUE_SYNC=2 (SharePlex default setting)
Setting the SP_QUE_SYNC parameter to 2 does not turn on the O_SYNC flag. Instead, normal writes are done until a queue write COMMIT is called. As part of the write COMMIT, the queue module executes the system call fsync on each queue data file and then on the queue header files. This eliminates redundant sync operations on data that may be rewritten later by a later write COMMIT.
Impact of setting SP_QUE_SYNC
Setting SP_QUE_SYNC to a value that causes disk writes to complete before returning might have an impact on SharePlex performance and may slightly increase I/O processing for non-SharePlex processes. The amount of overhead is dependent upon the amount of data in the queue, the filesystem types, and the types of disk drive and disk controller in use.
What SP_QUE_SYNC does not do
There are many functions that the SP_QUE_SYNC parameter does not do. Among the most common issues:
- SP_QUE_SYNC does not choose between shared memory and disk. It also does not influence when the decision is made to write to disk. It only tells the OS to guarantee that the disk write is complete to the physical disk before returning.
- It does not prevent an “out of subqueues” error.
- It does not address the “out of disk space” error - the space for file data is allocated before the write or sync to physical media is performed. If an out-of-space error occurs, it would occur before the sync is performed. Data loss is likely, but the queue is expected to be usable once free space becomes available.
-
It does not cause or prevent “out of shared memory” errors or “out of virtual memory” errors. Any message indicating loss of shared memory is most likely a failure in the queue module’s demand paging system. If an “out of virtual memory” error occurs, verify the OS parameters for data segment limits. If the usual or expected limits are not enough, contact Technical Support.
Using SP_QUE_SYNC in a cluster
In a cluster, setSP_QUE_SYNC on the primary node of the cluster (the node to which the shared variable-data directory is mounted) and on each source and target machine outside the cluster that is part of the same replication environment.
Default: 2
Range of valid values: 0 - 2
Takes effect: When SharePlex is restarted
SP_QUE_USE_SUBQUE_INDEX
This parameter improves queue performance. If the source has a high amount of concrrency, the post queue may contain numerous subqueues, each of which represents a transaction session. This may reduce the performance of the Post process. This parameter directs SharePlex to use improved indexing to access the subqueue structures. A message "Subqueue index enabled queuename" is written to the Event Log for every Post queue for which this parameter is enabled.
This parameter does not support VARRAYs. If you are replicating VARRAYs and this parameter is enabled, the parameter is ignored.
Default: 0
Range of valid values: 0 (disabled) or 1 (enabled)
Takes effect: When SharePlex is restarted
sp_cop Parameters
These parameters are used by the SharePlex sp_cop program.
SP_COP_IDLETIME
This parameter determines the time interval during which sp_cop is inactive. The purpose of idle time is to conserve a machine's resources. In general, sp_cop should not be idle for long, because it plays a central role in replication. This parameter enables you to increase the idle time if sp_cop is using too much CPU time for overhead activities. A recommended value is 600 seconds to reduce the overhead.
Default: 60 seconds
Range of valid values: any positive integer
Takes effect: immediately
SP_COP_SCAN_TIMEOUT
This parameter sets the initial time interval sp_cop uses to scan its services table to determine if a process needs to be stopped or restarted.
As SharePlex continues to run, the interval might change, depending upon the history of each process.
Default: 300 seconds
Range of valid values: any positive integer
Takes effect: immediately
SP_COP_SO_RCVBUF
This parameter tunes the TCP/IP window size on the target machine. It works in conjunction with the SP_XPT_SO_SNDBUF parameter on the source machine to establish the size of a packet sent across the network. SharePlex references both parameters when TCP/IP sockets are created at the startup of sp_cop and the Export process.
If SharePlex is replicating across a WAN and the export queue is continually backlogged, try adjusting both parameters. SP_COP_SO_RCVBUF must be set equal to or greater than the value of SP_XPT_SO_SNDBUF, in multiples of 1024 bytes. To size the parameters, determine the ping time between the source and target machines, then use the following formula for both parameters:
param_value / ping_time= bytes per second
For example, if ping time is 200 milliseconds, and the value for the two parameters is 64K, SharePlex sends five 64K-packets every second, totaling 320K per second.
Unless you observe a bandwidth problem, Quest recommends leaving both parameters set to their defaults, which use the system's setting. To change SP_COP_SO_RCVBUF, set it on the target system, then stop and start sp_cop on that system.
If transfer still is slow, try increasing the SP_IMP_WCMT_MSGCNT and SP_IMP_WCMT_TIMEOUT parameters on the target system. Set SP_IMP_WCMT_MSGCNT to at least 10,000.
Default: 0 (default is set by the operating system)
Range of valid values: positive integers, in bytes, using multiples of 1024. Maximum is set by the operating system.
Takes effect: when SharePlex is restarted
SP_COP_TPORT
This parameter sets the TCP/IP port number for TCP/IP communications among Share- Plex sp_cop processes. All sp_cop processes replicating among each other must use the same TCP/IP port number. The default setting for SP_COP_TPORT is 2100; however, you may set a different port number during installation. After installation you may set a different port number by using the set port command. Thereafter, sp_cop uses the new port number.
Default: 2100
Range of valid values: any positive integer
Takes effect: when SharePlex is restarted
SP_COP_UPORT
This parameter sets the UDP port number for communication among SharePlex sp_cop processes. All sp_cop processes replicating among each other must use the same UDP port number. The default setting for SP_COP_UPORT is 2100; however, you may set a different port number during installation. After installation you may set a different port number by using the set port command. Thereafter, sp_cop uses the new port number.
Default: 2100
Range of valid values: any positive integer
Takes effect: when SharePlex is restarted
Log Parameters
These parameters are used to control properties of the SharePlex logs.
SP_SLG_LOG_MAXSIZE
This parameter controls the size of the SharePlex Event and Trace logs.
When the file reaches its maximum size, the following happens, depending on the log:
- The Event Log is renamed to event_log_n, where n is the next number in the sequence of files, and then a new file is created as the active event log. For example, when the first event log reaches its maximum size, it is renamed to event_log_0000000001 and then a new file is opened as the active log. When that file reaches its maximum size, it is renamed to event_log_0000000002, and so forth.
- The Trace Log is truncated. Before writing to this log, SharePlex checks its size. If the size is larger than the value of this parameter, SharePlex truncates the file before writing to it.
Before increasing this parameter, make certain that you have enough disk space to accommodate the new file size.
Default: 500 MB
Range of valid values: 1 to 2048 MB in increments of 1 MB
Takes effect: when SharePlex is restarted
SNMP Parameters
These parameters are used to control properties of SharePlex SNMP support.
SP_SLG_SNMP_ACTIVE
This parameter is a flag that enables or disables SNMP support.
SharePlex provides agent support for Simple Network Management Protocol (SNMP) on all Unix, Linux, and Windows platforms supported by SharePlex replication.
Note: SharePlex provides only agent support for SNMP. It only sends SNMP traps. SharePlex does not provide an SNMP signal daemon (SNMP manager) to intercept the traps. Use the SharePlex SNMP feature only if you have a Network Management Station (NMS) to manage SNMP signals. The SharePlex SNMP agent is named snmptrap and is installed with SharePlex in the bin sub-directory of the SharePlex product directory. Do not run this program.
Default: 0 (off)
Range of valid values: 0 or 1 (on)
Takes effect: when SharePlex is restarted
SNMP agent parameters
The following parameters configure the SNMP agent to communicate with the NMS. Each parameter must have a value if the SP_SLG_SNMP_ACTIVE parameter is enabled.
SP_SLG_SNMP_HOST |
The name of the system (host) to which the traps will be sent |
SP_SLG_SNMP_COMMUNITY |
The community security string |
SP_SLG_SNMP_MJR_ERRNUM |
The major error number to be used by the traps |
SP_SLG_SNMP_MNR_ERRNUM |
The minor error number to be used by the traps |
Custom MIB parameters
The following parameters specify required information for a custom MIB.
SP_SLG_SNMP_ENTERPRISE_OID |
The enterprise object identifier to send with the trap. The default is 1.3.6.1.4.1.3.1.1 . |
SP_SLG_SNMP_TRAP_OID |
A custom object identifier to bind to the trap. The default is 1.3.6.1.2.1.1.1.0. |
SP_SLG_SNMP_TRAP_PROGRAM |
The name of the trap program. The default is iwsnmptrap. |
SNMP trap parameters
The following parameters configure the SNMP agent to send traps for specific replication events. The message or error text for the event is included in the trap and is the same error that appears in the Event Log.
To enable an SNMP trap for an event, set the corresponding parameter to a value of 1. By default all traps are disabled (parameter value of 0).
SP_SLG_SNMP_INT_ERROR |
SharePlex logic errors and errors that cause processes to exit |
SP_SLG_SNMP_SYS_ERROR |
System-related errors encountered by SharePlex |
SP_SLG_SNMP_ERROR |
Other SharePlex errors |
SP_SLG_SNMP_OUT_OF_SYNC |
Replication is out of synchronization |
SP_SLG_SNMP_STARTUP |
SharePlex starts up |
SP_SLG_SNMP_SHUTDOWN |
SharePlex shuts down |
SP_SLG_SNMP_LAUNCH |
A SharePlex process starts |
SP_SLG_SNMP_EXIT |
A SharePlex process stops |