6.5 Server Parameters
This section provides a consolidated overview of key server configuration
parameters used in Oracle GoldenGate Veridata. These parameters, typically defined in
the veridata.cfg
configuration file, impacts the server behavior,
including performance tuning, memory management, sorting, email notifications,
reporting, repair operations, and handling of out-of-sync (OOS) records. Understanding
and tuning these parameters appropriately improves system performance, optimizes
comparison jobs, and ensures reliable operation of Veridata in diverse deployment
environments.
Server configuration in Oracle GoldenGate Veridata can be modified through
parameters defined in the veridata.cfg
file, located at
DOMAIN_HOME/config/veridata/veridata.cfg
.
Refer How to Set a Parameter for details on how to set a parameter.
Note:
Modification in these parameters will require server restart.Parent topic: Administer
6.5.1 Overview of the Server Memory
Oracle GoldenGate Veridata Server uses virtual memory in the following ways:
- Server memory for basic operation: This is the size of the virtual memory that the Veridata server and web components need to operate. It stores object pools, database access libraries, and other information. This is typically about 200 MB.
- Sort memory: This is the memory that is used when server-side sorting is used. The virtual memory for sorting is allocated for the entire comparison, not per thread. The rows are read from the agent and submitted to be sorted. The sorting occurs in a thread that is separate from the thread that reads from the agent, and the sort may use more threads to work in parallel. After all the rows from the agent are submitted to the sort process, the server process retrieves the sorted rows from the sort for comparison.
- Row hash queue memory: This is the memory that buffers data between the agent processes, the sort process, and the server process. A comparison that uses database sorting requires a single queue each for the source and target. Each queue has a capacity of 20 MB. The memory usage by the queues is affected by the relative speed of the comparison and by the data coming from the agent. The relative speed between the two agents also affects the memory usage. A larger differential in speed increases the amount of memory that is used, because the queue needs to buffer the data.
- MOOS queue memory: This is the memory that holds potentially out-of-sync records between the initial comparison and confirmation steps of a comparison. The size of the MOOS queue is limited to 50K of records. Memory usage is also dependent on the width of each record.
- IPC buffer memory: This is the memory that is used to exchange messages between the server and the agent.
- Scratch runtime transient memory: This is virtual memory space.
The memory that can be used by the sort process cannot be greater than the minimum of:
- System physical memory
- Available memory in swap
- Java boot option -Xmx maximum memory setting
Parent topic: Server Parameters
6.5.2 Estimating Memory Usage
The maximum amount of memory available to Oracle GoldenGate Veridata is
specified by the Java boot option -Xmx
. When the server-side sorting is
used, a large portion of this memory is reserved for sorting during comparisons. This
reserved amount is controlled by the server.max_sort_memory
configuration parameter.
When a comparison is run, two buffers are allocated from the reserved sort memory. Each of these is equal to the size specified as Maximum Memory Usage (MB). Refer server.max_sort_memory.
To Estimate the Amount of Memory Used per Row
For more information about the estimating the amount of memory used per row, see Disk and Memory Requirements for the Server Component.
Parent topic: Server Parameters
6.5.3 How to Set a Parameter
To set a parameter, edit its entry in the veridata.cfg
file. This file is stored in the DOMAIN_HOME/config/veridata
directory within the Oracle GoldenGate Veridata Server installation directory.
Open a Oracle service request before changing these parameters.
Parent topic: Server Parameters
6.5.4 Parameter Descriptions
Parameter Name | Syntax / Example | Possible Values | Default Value | Description |
---|---|---|---|---|
database.hash | database.hash = false | true/false | false | Defines whether data hashing is done in the database. Supported only for Oracle. |
max_lob_key_len | max_lob_key_len = 1 | 1 to 8000 (bytes) | 0 (A value of 0 disables the feature) | Sets max length of LOB data types used as keys (in bytes). Supported for Postgres' citext. |
server.convert_empty_to_null | server.convert_empty_to_null = true | true, false | true | If true, treats empty string and NULL as in-sync. |
server.max_concurrent_comparison_threads | server.max_concurrent_comparison_threads = 100 | numeric value 1-100 | 4 | This parameter sets the maximum number of concurrent comparisons that can be executed. You can lower this number to reduce the impact of the server on your system. When this limit is reached, no new comparisons, starts until an active comparison completes. |
server.memory_mapped_sort_directory | server.memory_mapped_sort_directory = /u01/tmp2 | Directory path | - | This parameter specifies the directory path where .map files are generated. By default, it uses temp directory of the operating system. If your operating system temp directory is less than 50GB, then you should consider specifying a larger directory. |
server.meta_session_handle_timeout | server.meta_session_handle_timeout = 600 | Numeric (seconds) | 900 | Timeout (in seconds) for meta-session handle. |
server.veridata_data | server.veridata_data = /u01/veridata/reports | Directory path | veridata/reports | Output directory for Veridata reports. |
socket.timeout.mins | socket.timeout.mins = 0 | Numeric (minutes) | 0 | Timeout for inactive sockets (in minutes). |
server.useSsl | server.useSsl = true | true, false | false | This parameter specifies whether SSL is enabled for communication from Veridata Server to Veridata Agents. |
truncate_spaces_len | truncate_spaces_len = 0 | 0, 1 | 1 | Use the truncate_spaces_len parameter to control how trailing spaces in a String or Binary column are truncated. Space (U+0020) and Ideographic Space (U+3000) are the truncate targets. You can disable the truncate feature with the Truncate Trailing Spaces When Comparing Values parameter of the Connection Settings tab in the Oracle GoldenGate Veridata UI of the connection configuration. This parameter also truncates the column padding character if the padding character is one of the target spaces. If the value equals 0, then all spaces are trimmed. For example, data = "". If the value equals 1, then at least one space gets retained. For example data = " ". |
jvm.memory.xms | jvm.memory.xms = <min_heap_size> | Memory value (e.g., 8g) | - | Minimum JVM heap size. This can be modified by editing <VERIDATA_HOME>/config/oggvdt_cainput.properties. See section "What should be the optimum memory for server?" |
jvm.memory.xmx | jvm.memory.xmx = <max_heap_size> | Memory value (e.g., 28g) | - | Maximum JVM heap size. This can be modified by editing <VERIDATA_HOME>/config/oggvdt_cainput.properties. See section "What should be the optimum memory for server?" |
server.max_sort_memory | server.max_sort_memory = 1000M | Memory value (e.g., 1000M) | The system calculates the default size based on the available virtual memory. | Sets total sort memory for all comparisons. This parameter sets the maximum amount of sort virtual memory that is available to all running comparisons that use server-side sorting. The value of this parameter varies depending on the value of server.mapped_sort_buffers. server.max_sort_memory {default | number{M | m}} default is illustrated in the follows: When server.mapped_sort_buffers is set to true, the default value is 2 GB. The maximum number supposed to enter is the maximum size of the memory mapped file. When server.mapped_sort_buffers is set to false, the default value is the JVM available heap size minus 200 MB, which is allocated for basic tasks. The maximum number supposed to enter is the value of java -Xmx. |
server.mapped_sort_buffers | server.mapped_sort_buffers = true | true, false | true, false | Indicates whether sort buffers are allocated as a memory mapped file or allocated on the JVM heap. |
server.number_sort_threads | server.number_sort_threads = <number> | Max of 4 or 1/4 of CPU cores | 4 | This parameter specifies the number of threads used to sort input buffers from the Veridata Agent. |
mail.enabled | mail.enabled = false | true, false | false | Enables/disables email notifications. |
mail.alert.only | mail.alert.only = true | true, false | true | If true, send only alert emails (not completion). |
mail.smtp.server | mail.smtp.server = smtp.host.com | SMTP server hostname | - | SMTP server hostname. |
mail.smtp.port | mail.smtp.port = 25 | Numeric port number | - | SMTP server port. |
mail.smtp.connection.ssl.tls | mail.smtp.connection.ssl.tls = true | true, false | false | Enables SSL/TLS for mail server connection. |
mail.from | mail.from = john@mail.com | Valid email address | - | Sender email address. |
mail.to | mail.to = john@mail.com,mary@mail.com | Comma-separated email addresses | - | Recipient email addresses (comma-separated). |
server.encryption | server.encryption = false | true, false | false | Enables encryption for comparison and repair reports. |
server.encryption.bits | server.encryption.bits = 128 | 128, 192, 256 | 128 | Encryption strength in bits. |
repair.oracle.tag.enable | repair.oracle.tag.enable = false | true, false | true | Enables tagging of repair sessions in Oracle redo logs. |
repair.oracle.tag | repair.oracle.tag = 00 | Value can be up to 2000 hexadecimal digits (0-9A-F) or the plus sign (+). | 00 | Hexadecimal tag used in Oracle redo logs. |
coos.join.strategy | coos.join.strategy = nokey | nokey, always, never | nokey | nokey - Use COOS Join strategy only when Use all columns as Key columns (there is no primary or unique constraint on the table) is used to select key columns for the compare pair. All columns as key columns in the compare pair exception XML, UDT and Lobs. always - Use COOS Join always for COOS step. never - Don't use COOS Join for COOS Step. |
skiprows.enabled | skiprows.enabled = true | true, false | true | Skips rows with invalid numbers to allow comparison to continue. |
Parent topic: Server Parameters