Show TOC

RepAgent Configuration Parameters for CI ReplicationLocate this document in the navigation structure

Use sp_config_rep_agent configuration parameters to configure and control RepAgent behavior.

RepAgent Configuration Parameter

Description

'activate monitoring', {'true' | 'false'}

Enables the monitoring and collection of timing information.

The information is collected in Adaptive Server monitoring tables. You can query the tables to obtain the collected information. See Adaptive Server Enterprise Performance and Tuning Series: Monitoring Tables.

Valid values: true or false

Default: false

'auto start', {'true' | 'false'}

Specifies whether RepAgent automatically starts when Adaptive Server restarts and recovers the database. Set to true for RepAgent to start automatically when you restart Adaptive Server.

Valid values: true or false

Default: false

'batch ltl'[, 'true' | 'false']

Specifies whether RepAgent sends LTL commands to Replication Server in batches or one command at a time.

When set to true, sends LTL commands to Replication Server in batches. Otherwise, sends LTL commands to Replication Server one at a time.

Valid values: true or false

Default: true

'bind to engine'[, <engine_number>]

Restricts the RepAgent execution to the engine number specified. You can improve the RepAgent performance by running RepAgent on a dedicated or less utilized engine.

The value of engine_number ranges from -1 to (max online engines - 1).

The default is -1, which means RepAgent can execute on any engine.

Note The bind to engine clause does not restrict other user tasks or system tasks from running on the specified engine number.

See Configuring Engines in Threaded Mode in the Adaptive Server Enterprise System Administration Guide: Volume 2 for a description of max online engines.

'connect database'[, '<connect_database_name>']

Specifies the name of the temporary database RepAgent uses when connecting to Replication Server in recovery mode. This is the database name RepAgent uses for the connect source command; it is normally the primary database

'connect dataserver'[, '<connect_dataserver_name>']

Specifies the name of the data server RepAgent uses when connecting to Replication Server in recovery mode. This is the data server name RepAgent uses for the connect source command; it is normally the data server for the primary database.

'cluster instance name'[, 'coordinator' | '<instance_name>']

Controls the instance where RepAgent is started. By default, RepAgent starts at the instance with the coordinator role. However, you can configure RepAgent to start at any declared instance in the cluster.

Valid values: coordinator or instance name.

Default: coordinator

'data limits filter mode'[, 'off' | 'stop' | 'skip' |'truncate']

Specifies how RepAgent handles log records containing column counts greater than 250, column lengths greater than 255 bytes, and parameter lengths greater that 255 bytes before attempting to send them to Replication Server.

Valid values:
  • off – RepAgent allows all records to pass through. In Replication 12.1 and earlier, this setting can cause undesirable effects

  • stop – RepAgent shuts down if it encounters log records containing data that exceeds limits of Replication Server 12.1 and earlie.

  • skip – RepAgent skips log records containing data that exceeds limits of Replication Server 12.1 and earlier and posts message to error log

  • truncate – RepAgent truncates data exceeding 255 bytes per column and 250 columns per table.

Default:
  • off – Replication Server 12.5 and later
  • stop – in Replication Server 12.1 and earlier
Note SAP recommends that you do not use the data_limits_filter_mode, off setting with Replication Server version 12.1 or earlier as this may cause RepAgent to skip or truncate wide data, or to stop.

'ddl path for unbound objects', {'all' | 'default'}

Specifies whether to send SQL and DDL statements for unbound objects over all paths or the default path in a multi-path replication environment.

Valid values: all or default

Default: all

'disable'[, 'preserve secondary truncpt']

Unmarks the database as using RepAgent. Use preserve secondary truncpt to retain the secondary truncation point. The default sets the secondary truncation point to IGNORE; that is, it disables it.

Use disable only when downgrading the Replication Server to an earlier version or changing the primary database to another status. This command truncates all RepAgent entries in the sysattributes table.

'enable', '<repserver_name>', '<repserver_username>', '<repserver_password>'

Marks the database as using RepAgent and sets the secondary truncation point to valid.

This parameter encodes the Replication Server password and inserts the Replication Server name, Replication Server user, and encoded password into thesysattributes table of the specified database:
  • <repserver_name> – the name of the Replication Server to which RepAgent connects and transfers log transactions
  • <repserver_username> – the user name that RepAgent thread uses to connect to Replication Server
  • <repserver_password> – the password that RepAgent uses to connect to Replication Server.

    If network-based security is enabled and you want to establish unified login, you must specify NULL for <repserver_password> when enabling RepAgent at the database.

'ha failover'[, 'true' |'false']

Specifies whether, when SAP Failover has been installed, RepAgent automatically starts after server failover.

Valid values are: true or false.

Default: true

'ltl batch size'[,< ltl_batch_size>]

Sets the maximum size, in bytes, of LTL data that a RepAgent can send to the Replication Server in a batch.

Range of valid values:16,384 to 2,147,483,647 bytes

Default: 16,384 bytes

You can improve RepAgent performance by increasing the LTL batch size to a bigger number. At the end of each LTL batch, RepAgent checks for errors in the previous batch. Increasing the LTL batch size, decreases the number of times RepAgent checks for LTL errors.

'ltl metadata reduction', {'true' |'false'}

Set to true to enable table metadata reduction for RepAgent. Replication Server automatically enables caching using the Executor command cache if you enable table metadata reduction in RepAgent.

Valid values: true or false

Default: false

See Replication Server Administration Guide Volume 2 > Performance Tuning > Suggestions for Using Tuning Parameters > Executor Command Cache.

'max commit wait', {'<max commit wait value>'}

Specifies the maximum amount of time in microseconds that a user task committing a transaction waits for an acknowledgement of the commit from SAP Replication Server.

The max commit wait parameter only applies when stream mode is set to sync or near sync for the RepAgent of the database serving replication.

The max commit wait parameter is dynamic and any change to the parameter takes effect without having to restart RepAgent.

Range of valid values: 1 to the value of MAXINT which is 2,147,483,647 microseconds.

Default: 10,000,000 microseconds (10 seconds)

The max commit wait sets the limit for how long a user task that has initiated a transaction commit waits for acknowledgement of the commit from SAP Replication Server. When the commit time expires because the user task did not receive the acknowledgement from SAP Replication Server, RepAgent instructs all user tasks to switch to the asynchronous replication mode to allow the application to proceed. RepAgent instructs all user tasks to switch to the synchronous mode only when it has replicated all the transactions that were not replicated earlier because the commit time expired.

Note If the value is set to zero, all user tasks committing transactions wait indefinitely for acknowledgement.
You must consider two competing factors when you specify a value for max commit wait:
  • Zero data loss, and
  • Application response time
Specifying a:
  • High value – increases the possibility all data has been committed to SAP Replication Server if SAP ASE fails. If all commits have been acknowledged, then no loss of data occurs if a failover to a standby site is performed.

    However, a high value may decrease application performance if acknowledgement from SAP Replication Server delays database and application response time.

  • Low value – increases the risk that data has not been committed to SAP Replication Server. If SAP ASE fails, missing commits result in a loss of data at a standby site if failover is performed.

    However, a low value reduces the maximum database response time an application may experience while waiting for commit processing to complete.

'max number replication paths', {'<max number replication paths value>'}

Sets the maximum number of paths that you allow RepAgent to use to replicate data out of the primary database through multiple replication paths. RepAgent generates one RepAgent sender thread for each RepAgent path.

Range of valid values: 1 to the value of MAXINT which is 2,147,483,647 paths.

Default: 1

If max number replication paths is less than the number of paths with replication objects bound to the paths, RepAgent reports an error and terminates

To build multiple primary replication paths, enable multithreaded RepAgent with the multithread rep agent RepAgent parameter.

If max number replication paths is greater than 1, and you do not set multipath distribution model to connection, RepAgent continues to use the default path for all replicated objects that you do not specifically bind to a path.

See Replication Server Administration Guide Volume 2 > Performance Tuning > Multi-Path Replication > Multiple Primary Replication Paths > Enabling Multithreaded RepAgent and Multiple Paths for RepAgent > Setting the Maximum Number of Replication Paths for RepAgent.

'max schema cache per scanner'[, '<max_schema_cache_per_scanner_value>']

Sets the maximum amount of mermory in bytes that each scanner thread can use to store object schema required for replication.

Range of values: 524,288 bytes to the value of MAXINT which is 2,147,483,647 bytes.

Default: 524,288 bytes

f you configure RepAgent with multiple scanners for a multipath replication environment, RepAgent provides each scanner with its own schema cache with max schema cache per scanner as the maximum size of the cache for each scanner. Adaptive Server allocates memory for each scanner schema cache from the existing RepAgent global memory pool which you can configure with sp_configure 'replication agent memory size'. The total amount of memory all the scanner schema caches require is max schema cache per scanner multiplied by the number of paths in use.

Note

Ensure that there is sufficient memory in the RepAgent memory pool before you change max schema cache per scanner.

You must restart RepAgent for the change in max schema cache per scanner to take effect.

'msg confidentiality'[, 'true' | 'false']

Specifies whether to encrypt all messages sent to Replication Server.

Valid values: true or false

Default: false

'msg integrity'[, 'true' | 'false']

Specifies whether all messages exchanged with Replication Server should be checked for tampering.

Valid values: true or false.

Default: false

'msg origin check'[, 'true' | 'false']

Specifies whether to check the source of each message received from Replication Server.

Valid values: true or false.

Default: false

'msg out-of-sequence check'[, 'true' | 'false']

Specifies whether to check the sequence of messages received from Replication Server.

Valid values: true or false

Default: false

'msg replay detection'[, 'true' | 'false']

Specifies whether messages received from Replication Server should be checked to make sure they have not been intercepted and replayed.

Valid values: true or false

Default: false

'multipath distribution model', {'object'|'connection'|'filter'}

Sets the multipath distribution model for RepAgent, where:
  • object – distribution by object binding. RepAgent binds objects such as tables and stored procedures to specific replication paths to enable the replication of these objects in parallel.
  • connection – distribution by connection. RepAgent distributes transactions through a replication path according to the unique system process ID (spid) and number of available replication paths.
  • filter – distribution by filter. RepAgent distributes transactions through a replication path according to the value of data in one or more columns from a row in a single primary table.

Default: object

If you change the distribution model and you add new bindings or have existing bindings that RepAgent cannot associate with the new distribution model, RepAgent displays a warning that it will ignore some bindings under the new distribution model. However, RepAgent retains the inactive bindings. If you revert to the distribution model that corresponds with the type of the inactive bindings, RepAgent once again uses the formerly inactive bindings. For example, if you change to distribution by column filter from distribution by object binding, RepAgent ignores all the table and stored procedure bindings that you have set.

'multiple_scanners', {'true' | 'false'}

Enables or disables multiple RepAgent scanner threads.

Valid values: true or false.

Set to true for RepAgent to generate multiple scanner threads with a scanner thread dedicated to each path in a multipath replication environment.

Default is false where there is only a single scanner thread shared by all replication paths.

You must restart RepAgent for any change to take effect.

'multithread rep agent', {'true' | 'false'}

Set to true to enable multithreaded RepAgent which uses separate threads for the RepAgent scanner and sender activities. Enabling multithreaded RepAgent is a prerequisite to build multiple primary replication paths.

Valid values: true or false.

Default: false.

See Replication Server Administration Guide Volume 2 > Performance Tuning > Multi-Path Replication > Multiple Primary Replication Paths > Enabling Multithreaded RepAgent and Multiple Paths for RepAgent > Enabling Multithreaded RepAgent.

Default: false

'mutual authentication'[, 'true' | 'false']

Specifies whether RepAgent should require mutual authentication checks when connecting to Replication Server.

Valid values: true or false

Default: false

'net password encryption'[, ‘true’ | ‘false’]

Specifies whether connections from RepAgent to a Replication Server are to be initiated with a client-side password encryption handshake or with the usual unencrypted password handshake sequence.

Valid values: true or false

Default: true

'number of send buffers', {'<num_of_send_buffers>'}

Sets the maximum number of send buffers that the scanner and sender tasks of multithreaded RepAgent can use.

Enable multithreaded RepAgent with the multithread rep agent RepAgent parameter to build multiple primary replication paths.

Default: 500 buffers

Range: Range of valid values: 50 to the value of MAXINT which is 2,147,483,647 buffers.

You need not restart RepAgent for the change to take effect.

See Replication Server Administration Guide Volume 2 > Performance Tuning > Multi-Path Replication > Multiple Primary Replication Paths > Enabling Multithreaded RepAgent and Multiple Paths for RepAgent > Setting the Number of Send Buffers.

'priority'[, 'priority_value']

Sets relative priority values for individual RepAgents.

Range of valid values for priority are 0 to 7 where:

  • 0 – highest priority
  • 4 – recommended high priority setting
  • 5 – recommended medium priority setting
  • 6 – recommended low priority setting

Default: 5

SAP recommends that you do not set the value of priority to 0, as it may negatively impact performance.

'retry timeout'[, '<retry_timeout_in_seconds>']

Specifies the number of seconds RepAgent sleeps before attempting to reconnect to Replication Server after a retryable error or when Replication Server is down.

Default: 60 seconds

'rs servername'[, '<repserver_name>']

The name of the Replication Server to which RepAgent connects and transfers transactions from the transaction log. Use rs servername when you have changed the name of the Replication Server.

'rs username'[, '<repserver_username>']

The user name RepAgent uses to log in to Replication Server. Use rs username when you want to change the RepAgent user name.

'rs password'[, '<repserver_password>']

The password RepAgent uses to log in to Replication Server. Use rs password when you want to change the RepAgent password.

'scan batch size'[,'<no_of_qualifying_log_records>']

Specifies the maximum number of log records to send to Replication Server in each batch. When this number of records have been sent, RepAgent asks Replication Server for a new secondary truncation point.

Default: 1000 records

The scan batch size parameter is only in effect if you do not enable multipath replication.
  • If you do not enable multipath replication, the frequency that RepAgent asks for the secondary truncation point depends on a combination of scan batch size and ltl batch size. RepAgent queues the secondary truncation point request for processing when the number of log records in a batch reaches the value of scan batch size. However, RepAgent sender thread only processes the queued secondary truncation point request when RepAgent sends the number of bytes of LTL data specified in ltl batch size to Replication Server. Although increasing ltl batch size improves replication performance, consider the effect on the number of secondary truncation point requests to avoid situations where the primary database log becomes full because the secondary truncation point is not moving fast enough.

  • If you enable multipath replication, trunc point request interval determines the frequency of secondary truncation point requests from RepAgent to Replication Server.

'scan timeout'[, '<scan_timeout_in_seconds>']

Specifies the number of seconds that RepAgent sleeps once it has scanned and processed all records in the transaction log and Replication Server has not yet acknowledged previously sent records by sending a new secondary truncation point. RepAgent again queries Replication Server for a secondary truncation point after scan timeout seconds.

Default: 15 seconds

RepAgent continues to query Replication Server until Replication Server acknowledges previously sent records either by sending a new secondary truncation point or extending the transaction log.

If Replication Server has acknowledged all records and no new transaction records have arrived at the log, RepAgent sleeps until the transaction log is extended.

'security mechanism'[, '<mechanism_name>']

Specifies the network-based mechanism RepAgent uses to connect to Replication Server.

'send buffer size'[, ‘2K’ | ‘4K’ |’8K’ | ‘16K’]

Controls the size, in kilobytes, of the send buffer that RepAgent uses to communicate with Replication Server. Increasing the size of the send buffer reduces the number of times RepAgent communicates with Replication Server, but increases the amount of memory used.

Valid values are: 2K, 4K, 8K, and 16K

Default: 2K

Note

Send-buffer size is not related to database page size.

'send maint xacts to replicate'[, 'true' | 'false']

Specifies whether RepAgent should send records from the maintenance user to the Replication Server for distribution to subscribing sites.

When set to true, RepAgent sends records generated by the maintenance user to the Replication Server for distribution to subscribing sites. Otherwise, RepAgent does not send records from the maintenance user to the Replication Server.

Valid values: true or false.

Default: false

'send structured oqids'[, ‘true’ | ‘false’]

Specifies whether RepAgent sends origin queue IDs (OQIDs) as structured tokens or as binary strings, which saves space in the LTL and thus improves throughput.

Valid values: true or false.

Default: false

'send warm standby xacts'[, ‘true’ | ‘false’]

Specifies whether RepAgent sends maintenance user transactions, schema changes, and system transactions to the warm standby database. This option should be used only with the RepAgent for the current active database in a warm standby configuration.

Normally schema and system transactions are not sent to a warm standby database. When set to true, RepAgent sends schema, system, and maintenance-user transactions. Otherwise, RepAgent does not send transactions to the standby database.

Valid values: true or false.

Default: false.

'short ltl keywords'[, 'true' | 'false']

Specifies whether RepAgent sends an abbreviated form of LTL to Replication Server, requiring less space and reducing the amount of data sent. When set to true, RepAgent uses the shortened LTL form that requires less space and reduces the amount of data sent to Replication Server.

Valid values: true or false.

Default: false

'skip ltl errors'[, 'true' | 'false']

Specifies whether RepAgent ignores errors in LTL commands. This option is normally used in recovery mode. When set to true, RepAgent logs and then skips errors returned by the Replication Server for distribute commands. When set to false, RepAgent shuts down when these errors occur.

Valid values: true or false.

Default: false.

'skip unsupported features'[, 'true' | 'false']

Instructs RepAgent to skip log records for Adaptive Server features unsupported by the Replication Server. This option is normally used if Replication Server is a earlier version than Adaptive Server.

Valid values: true or false.

Default: false

'startup delay'[, '<delay_value>']

Controls when a specific RepAgent is started during Adaptive Server start-up. This delays the automatic start-up of RepAgent by a specified duration to allow Replication Server to be running before RepAgent attempts to connect to Replication Server. By default, RepAgent starts without any delay during automatic start-up. Setting a value in seconds results in a delay in RepAgent start-up by the specified number of seconds.

Default: 0 (zero) seconds.

'trunc point request interval'[, '<trunc_point_request_interval_value>']

Sets the frequency of secondary truncation point requests from RepAgent to Replication Server

Range of values: 1 second to the value of MAXINT which is 2,147,483,647 seconds.

Default: 10 seconds.

You do not need to restart RepAgent after you make a change to the parameter value as the parameter is dynamic. However, RepAgent applies the new value only when the previous interval expires. For example, if current interval is 60 seconds and you change the interval to 100 seconds, the new 100 second interval only starts after the current 60 second interval expires.

'unified login'[, 'true' | 'false']

When a network-based security system is enabled, specifies whether RepAgent seeks to connect to other servers with a security credential or password.

Valid values: true or false.

Default: false.