Skip to content

Replication Properties#

The following parameters pertain to database replication. For more information about database replication, please refer to the Getting Started Guide > Chapter 6. Database Replication and to the Replication Manual.

REPLICATION_ACK_XLOG_COUNT#

Data Type#

Unsigned Integer

Default Value#

100

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

This property indicates the frequency with which the Receiver thread sends ACK to the Sender thread.

The Receiver thread receives XLogs and replays them one by one. When the number of replayed XLogs exceeds the value specified here, the Receiver thread sends ACK to the Sender thread.

If this value is set too low, the Receiver thread sends ACK too often, leading to reduced performance.

If it is set too high, the amount of time that the Sender thread waits for ACK can increase excessively, and may be treated as a network fault. In addition, if the Sender thread does not receive ACK for an extended time, the replication restart SN is not updated, and thus the Sender thread will start over from the most recent log record if checkpointing occurs, resulting in the deletion of unreplicated logs.

REPLICATION_ALLOW_DUPLICATE_HOSTS#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property specifies whether or not to allow replication objects to set duplicate values for the IP address and port number of the remote server.

0: Disallowed

1: Allowed

REPLICATION_BEFORE_IMAGE_LOG_ENABLE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

If the "before image" of the replication Receiver differs from the "before image" of the XLog received from the Sender, it is possible for data conflict to occur.

With this property, the "before image" of the replication receiver can be stored in the trace log to enable the user to check which data conflicted.

0: Disables trace logging

1: Enables trace logging

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_COMMIT_WRITE_WAIT_MODE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property determines whether the replication Receiver checks whether XLOGs have been applied to disk after the replication Receiver has completed executing all of the transactions that are necessary in order to apply the contents of XLOGs to disk. If this property is set to 0, the replication Receiver doesn't wait to ensure that the contents of XLOGs have been applied to disk. If the value of this property is set to 1, the replication Receiver ensures that the contents of XLOGs have been applied to disk.

REPLICATION_CONNECT_RECEIVE_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

60

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

This property specifies the amount of time, in seconds, to wait after attempting to connect to the target host at the start of replication.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_CONNECT_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

10

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

When attempting to connect to a target host to perform replication, if there is no response within the number of seconds specified in this property, no further connection attempts are made.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_DDL_ENABLE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property specifies whether to allow DDL statements to be executed on replication target tables. If this property is set to 1, DDL statements can be executed on replication target tables.

Before executing DDL statements, if the replication property of a transaction in the current session is set to a value other than NONE, the Sender thread can be made aware of the execution of DDL statements.

For a list of DDL statements permitted during replication and other restrictions, please refer to the Replication Manual.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_DDL_ENABLE_LEVEL#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property determines the range of DDL statements that can be used for the replication target table. To use this property, the value of the REPLICATION_DDL_ENABLE has to be set to 1. Refer to the Replication Manual for the DDL statements allowed based on the value of REPLICATION_DDL_ENABLE_LEVEL.

While Altibase is running, the value of this property can be changed using the ALTER SYSTEM statement.

REPLICATION_DDL_SYNC#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property indicates whether DDL is replicated during replication.

0 : Do not allow DDL replication during replication. When executing DDL, it is executed only in the replication local server.

1 : Allow DDL replication during replication. When executing DDL, DDL is replicated to the replication remote server.

This property can be changed using the ALTER SYSTEM or ALTER SESSION statement while Altibase is running.

REPLICATION_DDL_SYNC_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

7200

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

If the execution time of DDL copy exceeds the number of seconds set in this property, the execution of that statement is canceled for both the replication local and remote servers.

Timeout value is measured based on the replication local server that performs DDL replication.

This property can be changed using the ALTER SYSTEM or ALTER SESSION statement while Altibase is running.

REPLICATION_EAGER_PARALLEL_FACTOR#

Data Type#

Unsigned Integer

Default Value#

The smaller value among 'number of logical cores/2' and '512'

Attributes#

Read-Only, Single Value

Range#

[1, 512]

Description#

When replication is executed on EAGER mode, multiple Sender threads are operated in parallel. This property specifies the number of Sender threads to be operated in parallel; an increase in the number of Sender threads leads to an improvement in replication performance.

When increasing the number of Sender threads with this property, however, the user must note that the order in which the Sender threads send transactions are not guaranteed. For further information about this matter, please refer to the Replication Manual.

If this property is not set, the default value is the smaller value among the number of logical cores/2 and 512.

REPLICATION_EAGER_RECEIVER_MAX_ERROR_COUNT#

Data Type#

Unsigned Integer

Default Value#

5

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

When replication is performed in eager mode, this property can set the number of times the replication Receiver is to attempt data replication.

If this value is set to 5 and an Xlog replication error occurs, the replication Receiver attempts replication up to 5 times, and forcefully terminates the Altibase server if the last attempt fails.

When this value is set to 0, if an Xlog replication error occurs, the replication Receiver attempts replication until it succeeds and does not forcefully terminate the server.

Replication in eager mode is mainly used in environments where data concurrency between the replication Receiver and the Sender are important. Therefore, data replication is stopped and the server is terminated to prevent data conflicts.

The value of this property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_FAILBACK_INCREMENTAL_SYNC#

Data Type#

Unsigned Integer

Default Value#

1

Attributes#

Read-Only, Single Value

Range#

[0, 1]

Description#

This property sets the execution of incremental sync on or off. If one of the servers during replication in EAGER mode fails and data inconsistency occurs, Incremental Sync performs data synchronization on the inconsistent data upon restart of the failure server.

  • 0: Deactivates Incremental Sync
  • 1: Activates Incremental Sync

The value of this property for both Altibase servers participating in replication must be identical. For more detailed information about incremental synchronization and EAGER replication failure recovery, refer to Replication Manual.

REPLICATION_GAP_UNIT (Unit: byte)#

Data Type#

Unsigned Long

Default Value#

1048576 (1MB)

Attributes#

Read-Write, Single Value

Range#

[1, 264-1]

Description#

This property sets the unit that represents the value of REP_GAP for querying the size of the replication gap.

The value of REP_GAP is the result of dividing the value of REP_GAP_SIZE by this property, and rounding up the rest.

By default, REP_GAP_SIZE of V$REPGAP is retrieved in bytes, and REP_GAP is retrieved in megabytes (MB).

REPLICATION_GAPLESS_ALLOW_TIME (Unit: microsecond)#

Data Type#

Unsigned Integer

Default Value#

2000

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

If the GAPLESS option is enabled, the replication sender allows a replication gap for as long as the value (unit: microseconds) set for the REPLICATION_GAPLESS_ALLOW_TIME property. The replication sender delays transaction commits if it anticipates the replication gap to still exist after the amount of time set for this property.

For example, if the REPLICATION_GAPLESS_ALLOW_TIME property is set to 5 and the sender sends 1,000 XLogs per second, a replication gap of 5,000 XLogs is allowed. If the current replication gap consists of 10,000 XLogs, this means that transaction commits must be delayed for five microseconds, since 5,000 XLogs have exceeded the limit.

If the REPLICATION_GAPLESS_ALLOW_TIME property is set to 0, this means that no replication gaps are allowed; transactions will be committed only after replication gaps are dissolved.

The value of this property can be altered using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_GAPLESS_MAX_WAIT_TIME (Unit: microsecond)#

Data Type#

Unsigned Integer

Default Value#

10,000,000

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

When the GAPLESS option is enabled, the REPLICATION_GAPLESS_MAX_WAIT_TIME property sets the maximum amount of time (unit: microseconds) that the replication sender can delay transaction commits to dissolve replication gaps.

If the REPLICATION_GAPLESS_MAX_WAIT_TIME property is set to 0, transactions will be committed only after replication gaps are dissolved.

The value of this property can be altered using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_GROUPING_TRANSACTION_MAX_COUNT (Unit: count)#

Data Type#

Unsigned Integer

Default Value#

5

Attributes#

Read-Only, Single Value

Range#

[1, 1000]

Description#

The REPLICATION_GROUPING_TRANSACTION_MAX_COUNT property sets the maximum number of transactions that are allowed to be accumulated into a single transaction group.

The value of this property can be altered using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_GROUPING_AHEAD_READ_NEXT_LOG_FILE (Unit: count)#

Data Type#

Unsigned Integer

Default Value#

2

Attributes#

Read-Only, Single Value

Range#

[1, 232-1]

Description#

The REPLICATION_GROUPING_AHEAD_READ_NEXT_LOG_FILE property sets the value to be incremented to the current file being read by the sender; the Ahead Analyzer will start analyzing an XLog that increments (starting from the value of the current file) by as much as this value.

The value of this property can be altered using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_HBT_DETECT_HIGHWATER_MARK#

Data Type#

Unsigned Integer

Default Value#

5

Attribute#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

This property specifies the number of failed connection attempts to make before determining that a failure has occurred in a replication environment. Thus, the maximum time that can pass before it is determined that a host has failed can be calculated by multiplying REPLICATION_HBT_DETECT_TIME * REPLICATION_HBT_DETECT_HIGHWATER_MARK.

In other words, if the HeartBeat thread (see below) fails to connect for 30 seconds (i.e. 5 attempts * 6 seconds, the default values for each of the above properties), it will be handled as a failure.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_HBT_DETECT_TIME (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

6

Attributes#

Read-Write, Single Value

Range#

[0, 2592000]

Description#

This property specifies the interval, in seconds, at which to check the HeartBeat thread1. The HeartBeat thread checks the host for a fault every 6 seconds (the default value). This property can be changed using the ALTER SYSTEM statement while Altibase is running.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_IB_LATENCY#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Only, Single Value

Range#

[0, 1]

Description#

This property is the RDMA_LATENCY option value of rsocket.

If this value is 1, it uses latency even if it consumes CPU resources.

REPLICATION_IB_PORT_NO#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Only, Single Value

Range#

[0, 65535]

Description#

When connecting with replication, this property displays the connection port number of the local server when connecting using the InfiniBand.

To use the InfiniBand, the value of the IB_ENABLE property must be 1. If this value is 0, replication cannot be connected with the InfiniBand.

REPLICATION_INSERT_REPLACE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property specifies whether to keep inserted contents if an insert conflict occurs during replication. If this value has been set to 0, the insert will not be committed, and the data conflict will be handled as an error, whereas if this value has been set to 1, the data conflict will be ignored and the insert will be committed.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_KEEP_ALIVE_CNT#

Data Type#

Unsigned Integer

Default Value#

600

Attributes#

Read-Only, Single Value

Range#

[0, 232-1]

Description#

A KEEP_ALIVE signal is sent when a Sender thread has not sent a packet and has slept for REPLICATION_SENDER_SLEEP_TIME * REPLICATION_KEEP_ALIVE_CNT.

REPLICATION_LOCK_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

5

Attributes#

Read-Write, Single Value

Description#

[0, 3600]

Description#

When a replication deadlock occurs, the Receiver thread will wait indefinitely to establish a lock, which may result in a service interruption. To prevent this, when the Receiver thread requests a lock to perform this kind of operation, it will only wait for the number of seconds specified using this property.

If a lock cannot be acquired within the given time, the corresponding operation will be rolled back.

REPLICATION_LOG_BUFFER_SIZE (단위 : MB)#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read Only, Single Value

Range#

[0, 212-1]

Description#

This property is set in order to improve replication performance using a dedicated replication log buffer. The dedicated replication log buffer filters and stores only replication logs. The Sender thread can read logs from the log buffer or from disk. However, when reading logs from disk, the processing speed of the Sender thread may be greatly reduced. Furthermore, the additional burden of reading unnecessary logs is imposed. The dedicated replication log buffer mitigates this burden.

When multiple replication Sender threads are working, replication and overall service performance can suffer. This is because there is only one replication log buffer, so if it is accessed by more than one Sender thread, synchronization overhead is more likely to occur. When the REPLICATION_SYNC_LOG value is set to 1, this property must be set to 0. Otherwise, the Altibase server will fail to start. If the value of this property is set too small, it may lead to worse performance than when it is not used at all (i.e. when it is set to 0).

REPLICATION_MAX_COUNT (Unit: count)#

Data Type#

Unsigned Integer

Default Value#

32

Attributes#

Read-Only, Single Value

Range#

[0, 10240]

Description#

This property specifies the maximum number of replication objects which can be created in Altibase.

The default value is 32, which means that one server can connect to a maximum number of 32 remote servers by replication.

REPLICATION_MAX_LISTEN#

Data Type#

Unsigned Integer

Default Value#

32

Attributes#

Read-Only, Single Value

Range#

[0, 512]

Description#

This property specifies the maximum size of the "listen queue" when TCP/IP is used for communication between a Sender thread and an Altibase server that maintains a Receiver thread.

REPLICATION_MAX_LOGFILE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 65535]

Description#

This property specifies the maximum number of log files preceding the Restart Redo Point that are to be prevented from being deleted, for use in replication. If, after replication starts, changes to a local server are not also made on a remote server for some reason, such as reduced network speed between the local and remote servers, replication will prevent log files from being deleted, even after checkpointing has taken place. Under such circumstances, the number of log files on the local server will continue to increase, which can ultimately lead to a disk full error.

Therefore, when checkpointing occurs, if the number of accumulated log files preceding the Restart Redo Point exceeds the number specified using this property, replication is temporarily suspended, and the time and XSN at which replication was suspended are stored in the GIVE_UP_TIME and GIVE_UP_XSN columns in the SYS_REPLICATIONS_ meta table. Additionally, all of the log files preceding the Restart Redo Point are deleted. The replication restart SN is set to the highest SN in the current log file, and this value is stored in the XSN column in the SYS_REPLICATIONS_ meta table. Replication will be performed starting from this new restart SN. If it is desired to change this default behavior, change the value of the REPLICATION_SENDER_START_AFTER_GIVING_UP property. Additionally, in order to reinitialize all of the information pertaining to a particular replication object in the SYS_REPLICATIONS_ meta table, execute "ALTER REPLICATION replication_name RESET".

If the REPLICATION_MAX_LOGFILE property is set to 0, or if replication is running in EAGER mode, this function is disabled. Please note that because log files are erased when checkpointing is carried out, the values of the CHECKPOINT_INTERVAL_IN_SEC and CHECKPOINT_IN_LOG properties should be considered when setting the value of this property.

REPLICATION_POOL_ELEMENT_COUNT (Unit: count)#

Data Type#

Unsigned Integer

Default Value#

10

Attributes#

Read-Write, Single Value

Range#

[1, 1024]

Description#

This is the amount of memory (number of elements) used when a Sender thread analyzes a log and copies column values. Memory elements are pre-allocated from the memory pool, and their size is specified by REPLICATION_POOL_ELEMENT_SIZE.

The value of this property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_POOL_ELEMENT_SIZE (Unit : Byte)#

Data Type#

Unsigned Integer

Default value#

256

Attributes#

Read-Write, Single Value

Range#

[128, 65536]

Description#

This is the size of a memory element, in bytes, that is used when the sender thread analyzes a log and copies column values.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_PORT_NO#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Only, Single Value

Range#

[0, 65535]

Description#

This property specifies the replication port number on the local server, to be used when a replication connection is established. Set this property to 0 to disable replication.

REPLICATION_PREFETCH_LOGFILE_COUNT#

Data Type#

Unsigned Integer

Default Value#

3

Attributes#

Read-Write, Single Value

Range#

[0, 1024]

Description#

This property specifies the number of prefetch log files, that is, the number of log files in each log file group that are read in advance. Pre-reading and caching log files allows the Sender thread to read logs from log files more quickly.

REPLICATION_RECEIVE_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

7200

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

This property, which is used by both the Sender thread and the Receiver thread, specifies the maximum amount of time, in seconds, to wait for a message from the Receiver or Sender thread, respectively.

In the case where the Sender thread has waited for a response from the Receiver thread for the maximum amount of time specified here, the Sender thread will enter into sleep mode for the amount of time specified using the REPLICATION_SENDER_SLEEP_TIMEOUT property before again attempting to connect to the Receiver thread. In this case, the existing socket is closed and a new socket is created for the new connection attempt.

This property also specifies the maximum time that the Receiver thread waits for a message from a Sender thread. If the specified amount of time has passed, the Receiver thread is automatically terminated, and a new Receiver thread will be created when the Sender thread sends a message.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_RECEIVER_APPLIER_ASSIGN_MODE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

REPLICATION_RECEIVER_APPLIER_ASSIGN_MODE

Range#

[0, 1]

Description#

The REPLICATION_RECEIVER_APPLIER_ASSIGN_MODE property sets the mode in which the replication sender is to assign XLogs to the applier.

0: Transaction Count Mode

1: XLog Count Mode

If the REPLICATION_RECEIVER_APPLIER_ASSIGN_MODE property is set to 0, XLogs are assigned to the applier with the least number of transactions.

If the REPLICATION_RECEIVER_APPLIER_ASSIGN_MODE property is set to 1, XLogs are assigned to the applier with the least amount of XLogs.

The value of this property can be altered using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_RECEIVER_APPLIER_QUEUE_SIZE#

Data Type#

Unsigned Integer

Default Value#

20

Attributes#

Read-Write, Single Value

Range#

[2, 232-1]

Description#

The REPLICATION_RECEIVER_APPLIER_QUEUE_SIZE sets the maximum number of XLogs that the sender is allowed to be passed to the queue for applier threads.

Although a large value for the REPLICATION_RECEIVER_APPLIER_QUEUE_SIZE property means that a large number of XLogs will be passed to the applier, memory usage increases because XLogs are queued. The user is recommended to set the REPLICATION_RECEIVER_APPLIER_QUEUE_SIZE property to twice as much as the number of appliers.

The value of this property can be altered using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_RECOVERY_MAX_LOGFILE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

This property specifies the maximum number of log files that are not deleted, based on a Restart Redo Point, for data recovery using replication.

In order to recover data at the time of replication, the local server does not delete logs that have not been flushed to disk on remote servers. Even if checkpointing takes place at this time, because the log files cannot be deleted, the number of log files on the local server will continue to increase and this can ultimately lead to a disk full error.

Thus, if the maximum log file count in the recovery options is exceeded when checkpointing occurs, replication-based recovery is aborted and the log files are deleted. Then, replication starts over.

If this property is set to 0 or replication runs in eager mode, this function is not used. Because log files are deleted when checkpointing occurs, the values of CHECKPOINT_INTERVAL_IN_SEC and CHECKPOINT_IN_LOG should be considered together.

REPLICATION_RECOVERY_MAX_TIME (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

232-1

Attributes#

Read-Only, Single Value

Range#

[0, 232-1]

Description#

If the number of seconds specified using this property is exceeded while the replication module is performing recovery, recovery is stopped and service is provided in the state in which recovery has been performed up to that point.

If this property is set to 0, replication-based recovery is not performed.

Before replication-based data recovery is completed, Altibase will not be able to proceed to the service stage, and service may be delayed.

REPLICATION_SENDER_AUTO_START#

Data Type#

Unsigned Integer

Default Value#

1

Attributes#

Read-Only, Single Value

Range#

[0, 1]

Description#

If a replication object which has not been stopped at the termination of the previous Altibase server exists, this replication object is automatically started by default when the server restarts.

If this value is set to 0, a replication object can be prevented from automatically starting.

REPLICATION_SENDER_COMPRESS_XLOG#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property specifies whether or not a packet is to be compressed, when data is transmitted via network for replication purposes.

0: Compression is disabled for transmissive data

1: Compression is enabled for transmissive data

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_SENDER_ENCRYPT_XLOG#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

The REPLICATION_SENDER_ENCRYPT_XLOG property sets whether or not to encrypt XLogs that the sender thread sends during replication.

0: Does not encrypt XLogs.

1: Encrypts XLogs.

REPLICATION_SENDER_SEND_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

7200

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

This property specifies the maximum amount of time that the sending thread will wait when sending a packet to a remote server.

It is recommended that this value be the same as the value of the REPLICATION_RECEIVER_TIMEOUT (default 7200 seconds) property. If the value is set to 0, the sender thread uses a blocking socket.

The value of this property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_SENDER_SLEEP_TIME (Unit: microsecond)#

Data Type#

Unsigned Integer

Default Value#

10000

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

This property indicates the sleep time, in microseconds, when there are no more logs to be read by the Sender thread. Because certain platforms ignore short Sleep time values, a suitable value must be specified. The value specified here is used in conjunction with REPLICATION_KEEP_ALIVE_CNT to determine when to send KEEP_ALIVE.

REPLICATION_SENDER_SLEEP_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

60

Attributes#

Read-Write, Single Value

Range#

[0, 2592000]

Description#

This property specifies the number of microseconds that a replication Sender thread that is in an error state must sleep before trying again.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_SENDER_START_AFTER_GIVING_UP#

Data Type#

Unsigned Integer

Default Value#

1

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property determines how replication proceeds after replication has been suspended due to the number of accumulated log files preceding the Restart Redo Point exceeding the value of the REPLICATION_MAX_LOGFILE property.

If this value is set to 0, the replication restart SN (which is stored in the XSN column in the SYS_REPLICATIONS_ meta table) is reinitialized (set to -1), and replication is suspended. Additionally, the value of the IS_STARTED column in the SYS_REPLICATIONS_ meta table is set to 0.

If this value is set to 1, the replication restart SN is set to the last generated sequence number in the current log file, and replication is performed starting from this new restart SN.

REPLICATION_SERVER_FAILBACK_MAX_TIME#

Data Type#

Unsigned Integer

Default Value#

232-1

Attributes#

Read-Only, Single Value

Range#

[0, 232-1]

Description#

In EAGER mode replication, when a server that was terminated abnormally is restarted, it resumes providing service only after it has synchronized its data with the data on another (i.e. the remote) server. At this time, if the process of applying the logs from the other server on the server that experienced the fault takes longer than the number of seconds specified using this property, the server that experienced the fault gives up waiting for synchronization to complete.

REPLICATION_SQL_APPLY_ENABLE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Only, Single Value

Range#

[0, 1]

Description#

This property configures how to synchronize inconsistent data between the local and remote servers during the replication.

  • 0: Replication works using XLog. At this time, if the meta information is different, a Handshaking error occurs.

  • 1: If replication is performed under the following conditions, XLog is converted into a SQL statement and reflected in the replicated table.

    • Column information
      If the data types are different. If sizes, precisions, and scales are different.

    • Constraints
      If the check constraints are different. If Not Null constraints are different. If any of the other meta information contains a LOB column.

    • Indexes
      If a unique index or function-based index consists of columns to be replicated and not to be replicated
      If the configuration information for the unique index is different
      If the configuration information for the function-based index is different

REPLICATION_SYNC_APPLY_METHOD#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Only, Single Value

Range#

[0, 1]

Description#

This property configures how to synchronize inconsistent data between the local and remote servers during the replication.

  • 0: Normal Insert
  • 1: Direct-Path Insert

Please refer to Administrator's Manual for in-depth description on Direct-Path Insert.

The value of this property can be modified through ALTER SYSTEM statement during the Altibase operation.

REPLICATION_SYNC_LOCK_TIMEOUT (Unit: second)#

Data Type#

Unsigned Integer

Default Value#

30

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

When replication synchronization is performed, the Replication Sender Thread determines the current position in the log at which replication will start after synchronization. In order to prevent another transaction from changing the data in the table on which synchronization is to be performed right at the time of this determination, the Replication Sender Thread obtains an S Lock on the table on which synchronization is to be performed for a short time before synchronization. This property specifies the amount of time, in seconds, to wait to establish a lock when a table to be synchronized has been locked by another transaction. If a lock is requested but cannot be obtained immediately, the replication process will wait for the amount of time specified here. If a lock cannot be obtained within the amount of time specified here, the synchronization attempt will be handled as an error. If this value is specified as 0, a lock is not established on the replication target table; however, data conflict can occur.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_SYNC_LOG#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Only, Single Value

Range#

[0, 1]

Description#

When performing replication, because the Sender thread sends logs that are in memory regardless of whether they have been committed to disk, data inconsistency or other problems may occur in the event of system or media failure.

To prevent this problem, setting this value to 1 ensures that the Sender thread only sends logs that have already been committed to disk.

REPLICATION_SYNC_TUPLE_COUNT#

Data Type#

Unsigned long

Default Value#

500000

Attributes#

Read-Write, Single Value

Range#

[0, 264-1]

Description#

This property specifies the maximum number of records that each Sender thread can read and handle during parallel synchronization.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_TIMESTAMP_RESOLUTION#

Data Type#

Unsigned Integer

Default Value#

1

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

In an Active-Active replication environment, if this property is set to 1 and a TIMESTAMP column exists in a given replication target table, then the TIMESTAMP-based resolution scheme is used to resolve any data conflicts that occur in that table.

However, even if a TIMESTAMP column exists in a replication target table, if this value has been set to 0, some other conflict resolution scheme is used.

For more detailed information about TIMESTAMP-based resolution and data conflicts, please refer to the Replication Manual.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_TRANSACTION_POOL_SIZE#

Data Type#

Unsigned Integer

Default Value#

2

Attributes#

Read-Write, Single Value

Range#

[0, 232-1]

Description#

Replication receivers use transactions when copying data and create respective transaction pools - wherein transactions can be created in advance for use - for performance improvement. This property specifies the number of transactions that are to be created in advance in transaction pools.

If the number of transactions existing in pools falls short, the replication receiver will create new transactions and use them. The transactions thus created are returned to pools after use; if the number of transactions existing at that time is larger than the value specified in this property, the transactions are immediately freed, instead of being returned.

If set to an excessively large value, it can constrain the number of normal transactions; therefore, an appropriate number of transactions must be specified. This property permits the maximum value of 2³²-1; however, the actual maximum value is identical to the value specified in the property of TRANSACTION_TABLE_SIZE. If the user specifies this value to be larger than the value of TRANSACTION_TABLE_SIZE, the value of this property will be internally set as the value of the TRANSACTION_TABLE_SIZE.

This property value can be changed while Altibase is running; however, transaction pools are initialized at the creation of replication receiver threads and replication must be restarted for the modified property values to be applied.

This property value can be changed using the ALTER SYSTEM statement while Altibase is running.

REPLICATION_UPDATE_REPLACE#

Data Type#

Unsigned Integer

Default Value#

0

Attributes#

Read-Write, Single Value

Range#

[0, 1]

Description#

This property specifies whether to keep updated contents if an update conflict occurs during replication. If this value has been set to 0, the update will not be committed, and the data conflict will be handled as an error, whereas if this value has been set to 1, the data conflict will be ignored and the update will be committed.

This property can be changed using the ALTER SYSTEM statement while Altibase is running.

#


  1. HeartBeat thread : In an Altibase replication environment, in order to allow physical faults to be detected as quickly as possible while data are being exchanged between a Sender thread and a Receiver thread, a HeartBeat Thread is used to allow each host to regularly check the condition of the other host.