Configuration Variable Reference

Configuration Variable Reference

Per-process setting

Usually, variables are set globally, for all processes. This is done by specifying no process name, or *.
If the variable value needs to be set different for a process, use SET with a process name, e.g.

SET APPLY.LOG_FILE=/home/oracle/log/%N.%E SET APPLY.INSTANTIATE_SCN NOW

If the variable needs to be set back to the global "*" setting, use RESET command.

 

Variables can also be set with MEMORY_SET, which only sets it in memory and not the DDC file. After a restart of the process the setting will no longer take affect (unless MEMORY_SET is specified in the DDC file).

Variable reference

 

Internal Variable

Description

APPLY_CASE_CONVERT

When a table is prepared, should the name from MINE be kept as-is, made uppercase, or lowercase? This is honored for case-sensitive databases only (MySQL and MSSQL).

APPLY_COLUMN_NAMES_MAP

Allows global rename of columns. Translates column names on source database to new column names on target database. This is handy if replicating from one database to another type of database (eg MySQL) where a specific column cannot be used because it is a reserved word.

Example: set APPLY_COLUMN_NAMES_MAP PRIMARY=PRIMARY_VALUE

This will rename the column PRIMARY to PRIMARY_VALUE on the target database. 

Multiple columns pairs can be separated with commas: 

set APPLY_COLUMN_NAMES_MAP PRIMARY=PRIMARY_VALUE, ALTER=ALT

APPLY_DATABASE

Connection definition for the APPLY database. This is TNS connection string for Oracle, connection string for MySQL or DSN (Data Source Name) for MS SQL.

APPLY_DATABASE_DBID

DBID (see v$database) of databases where apply connects. The default is empty and the variable is optional; however, it's always set by setup wizard. This helps to check that the connection strings resolve to correct databases as the apply server.

APPLY_DATE_FORMAT 

The output format for dates, timestamps and intervals when using flatfiles. YMD is human-readable like YYYY.MM.DD (+time portion, time zones) or Oracle-like for intervals (+3-2 for year-day). ISO8601 is Java-like 2014-12-05T12:34:56 or P12Y2M.

  • AUTO (default) (Auto is YMD for CSV)

  • YMD

  • ISO8601 (for Avro)

APPLY_FILEOUT_FILE_BATCH_SIZE

The file size for the output file. The file will be closed then this size is reached and the transaction is completed.

Values: integer

Default: 0

Note that file is closed when we get over this size (and then we complete the transaction).

APPLY_FILEOUT_FILE_CSV_COMMA

The field separator for CSV output files.

Default: (empty)

Value: string, with support for escaped chars:

\0 \a \b \t \n \v \f \r \x00 (arbitrary hex number ) \\ (backslash)

APPLY_FILEOUT_FILE_CSV_NEWLINE

The row separator for CSV output files.

Default: (empty)

Value: string, with support for escaped chars:

\0 \a \b \t \n \v \f \r \x00 (arbitrary hex number ) \\ (backslash)

APPLY_FILEOUT_FILE_FORMAT

The file type for the output file.

  • OFF (default)

  • NONE (OFF)

  • CSV

 

APPLY_FILEOUT_FILESYSTEM

The type of filesystem to be written to.

  • FS (Filesystem) (default)

  • HFDS (Hadoop)

APPLY_FILEOUT_HDFS_NAMENODE

The namenode of the Hadoop HDFS. This is the standard protocol how HDFS clients connect.

Default: localhost:9000

Values: host:port

APPLY_FILEOUT_STAGING_DIR

The directory where output files are stored while they are in progress.

Default: OFF

Value: directory + file mask.

Wildcards:

%O table owner

%A table name

%C transaction start SCN

%I object=table id

%X transaction id

%N apply process name

%T process type (=APPLY)

%H thread id

%S plog id

%D ddc name

%E file type (csv/avro)

Note that one file can contain multiple transactions. So %C/%X/%H/%S are determined based on first transaction in the file.

We recommend to use %C to order the output files and add %X for cases when %C is non-unique.

APPLY_FILEOUT_TARGET_DIR 

The directory where output files are stored when they are completed.

Default: OFF

Value: directory + file mask.

Wildcards:

%O table owner

%A table name

%C transaction start SCN

%I object=table id

%X transaction id

%N apply process name

%T process type (=APPLY)

%H thread id

%S plog id

%D ddc name

%E file type (csv/avro)

Note that one file can contain multiple transactions. So %C/%X/%H/%S are determined based on first transaction in the file.

We recommend to use %C to order the output files and add %X for cases when %C is non-unique.

APPLY_IGNORE_ERROR_CODES

Automatically ignore specified Oracle errors (ORA- ).

Values: string (delimited by :)

Default: (empty)

For example, if there is a parent-child relationship and only the parent table is being replicated because the child table does not exist on target, any foreign key constraints being created on the parent-child relationship will be replicated and will result in an ORA-942 table or view does not exist error because the because the add constraint command doesn't find child table it wants to reference to.

Example:

APPLY_IGNORE_ERROR_CODES 942

This will make Apply ignore all ORA-00942 error codes.

Multiple error codes can be delimited by :

Example:

APPLY_IGNORE_ERROR_CODES 942:955

This setting requires a restart of the Apply process.

APPLY_LISTEN_INTERFACE

Network interface on which APPLY listens for commands (hostname:port).

APPLY_MSSQL_USER_DB

Deprecated.

Values: string

Default: (empty)

APPLY_PASSWORD

Encrypted APPLY database password. (Use ENCRYPT command to get encrypted password from the plain text password.)

APPLY_PEER

What is the corresponding APPLY for this process? If SIMPLE_CONFIG = YES, this is simply set to APPLY.

APPLY_POSTPONE_LAST_LCR

  • YES (default) *

  • NO

If set to YES, then APPLY will postponing the last LCR or SQL until the next SQL for the same object is found. This can sometimes help with (deadlock) locking issues or "APPLY hung" issues. This can also assist if there are killed sessions on the source database and the APPLY is waiting on the detection of the killed process to rollback (or commit).

By setting to YES it means that APPLY is always one SQL behind. This means APPLY always keeps one SQL in each open transaction unapplied. It processes the changes it gets from MINE, but stops short of the last one available so far.

As soon as APPLY receives the commit, it applies even the last SQL. So there is never any data loss, although it can be noticed that APPLY lags behind MINE until the commit arrives. But this is probably most visible for manual test cases (like insert 10.000 rows and see that 9.999 has been applied) because in production systems there is always some activity from the source (and with commits), so this situation is rarely seen.

*The default changed to YES in version 2.8 release only if you rerun the *all.sh script again in 2.8. Otherwise the default will stay NO from the previous run of *all.sh script from 2.5, 2.6, 2.7. The parameter should be changed manually if that is the case.

APPLY_RDBMS

APPLY database type:

  • Oracle

  • MySQL

  • MSSQL

APPLY_REMOTE_INTERFACE

Where to connect to reach this APPLY process. This is usually same as APPLY_LISTEN_INTERFACE, but may be changed if the name resolution works differently among the machines, listen binds to selected interfaces only, etc. Note that this settings is used by the console, too.

APPLY_SET_TRIGGER_FIRE_ONCE

How to make triggers to not fire in APPLY sessions (YES/NO/AUTO).

  • YES = enable the set-trigger-firing property (to honor dbms_ddl.set_trigger_firing_property) and abort if fail.

  • AUTO = try to enable it, if possible.

  • NO = disable it, even the package/variable way.

APPLY_SCHEMA

APPLY database schema (Oracle, usually same as APPLY_USER), schema=database (MySQL), database (MS SQL).

APPLY_SCHEMA2

APPLY database schema (SQL Server only).

APPLY_STAGING_DIR

Directory to store received PLOGS on APPLY server.

APPLY_TRACE

OFF (default) or pattern for trace file name. The trace file contains all SQL applied as well as further debugging info.

 

Wildcards:

 

%N apply process name

 

%S plog sequence

 

%E file type extension

Example:

APPLY_TRACE=/home/oracle/d112f/log/trace/%N_%S.%E

This requires a restart of the Apply process.

APPLY_USER

APPLY database login username.

CHECKVARS

Disable/enable checking of variable values. Can be: ON (default), OFF, or comma-separated list of variables NOT to check.

DDC_DATABASE_DBID

DBID is the Oracle Database ID that is storing the DDC metadata tables for Dbvisit Replicate. This is checked to make sure that Dbvisit connects to the correct database.

Values: string (something that a user would not normally set)

DDC_BACKUP_DIR

If DDC DB, on every startup of a process a backup of all DDC settings is made into this directory as a backup, e.g. for use with CREATE DDCDB FROM DDCFILE, or just for reference.

DDC_DATABASE

TNS identifier for the database when the DDC DB is stored. (Setup wizard sets it to MINE database for this by default.) Note that just setting this variable will not create the DDC DB tables, these are contained in every dictionary.

DDC_ID

Unique id of the DDC. This must not change after configuration is complete. Default: 1.

DDC_NAME

Name of the configuration (%d in filemask). This can change as you want, as internally only the DDC_ID matters, but beware of all %d references.

DDC_PASSWORD

Encrypted ddc db database password. (Use ENCRYPT command to get encrypted password from the plain text password.)

DDC_SCHEMA

DDC database schema, usually same as DDC_USER.

DDC_USER

DDC DB database login username.

DDL_IGNORE_USER

Any DDL issued by this user will be ignored. Default: empty. Users are separated by colons. This requires an APPLY restart.

DDL_REPLICATE_GRANTS

If set to YES all grants on the prepared tables will be replicated to the target database. Default value is NO.
Note that dbvrep user on the target database needs to have sufficient privileges to replicate grants, e.g. GRANT ANY OBJECT PRIVILEGE.

DEBUG_LEVEL

Set debugging level. This is bit field. Example 2^32-1 means all bits are enabled.

Example:

DEBUG_LEVEL = 4294967295

 Contact support for possible values.

DELETE_OBSOLETE_PLOGS_AGE

Delete PLOGS after specific time period. Time period can be days (d) or hours(h).

Default: 3d

DELETE_OBSOLETE_PLOGS_SIZE_MB

Delete PLOGS are total size of all PLOGS exceeds size in MB.

Default: 1024

DELETE_OBSOLETE_PLOGS_GZIP

Compress the PLOGS as soon as they are not needed by Dbvisit Replicate anymore.

Default: Yes

DELETE_OBSOLETE_RLOGS_AGE

Delete the redo logs transferred from FETCHER after specific time period. Time period can be days (d) or hours(h).

Default: 3d

DELETE_OBSOLETE_RLOGS_SIZE_MB

Delete the redo logs transferred from FETCHER after total size of all PLOGS exceeds size in MB.

Default: 1024

DELETE_OBSOLETE_RLOGS_GZIP

Compress the redo logs transferred from FETCHER as soon as they are not needed by Dbvisit Replicate anymore.

Default: Yes

DISKSPACE_CHECK_BYTE_LIMIT

Sends a email notification as well as a warning message in the log file when free space on the filesystem goes below this threshold.

Values: integer

Default: 1073741824 (1GB)

DISPLAY_ALL_OBJECTS_IN_LIST_PROGRESS

Show all objects. By default only tables will be shown.

  • NO (default)

  • YES (This may cause all objects to display. Certain objects may still not appear in the console)

DISPLAY_TABLE_NAME_IN_LIST_PROGRESS

What table name to show when rename is used. The valid values are:

  • BOTH (default)

  • SOURCE

  • TARGET

DPUMP_EXCLUDE_STATS

When generating the scripts for export this parameter allows the option to exclude or include statistics.

  • NO (default)

  • YES

DROP_SUPPLEMENTAL_LOG_DATA

Supplemental logging is dropped by default when UNPREPARING tables. If the parameter is set to NO then supplemental logging will remain on the table after the table is unprepared.

  • YES (default)

  • NO

FETCHER_DATABASE

MINE database TNS (when connecting from FETCHER).

FETCHER_DATABASE_DBID

DBID (see v$database) of databases where fetcher connects. The default is empty and the variable is optional; however, it's always set by setup wizard. This helps to check that the connection strings resolve to correct databases = the same ones as the fetcher server.

FETCHER_ENABLED

FETCHER (downstream capture) enabled, this means MINE waits for redologs from FETCHER.

FETCHER_LISTEN_INTERFACE

Network interface on which FETCHER listens for commands (hostname:port).

FETCHER_PASSWORD

Encrypted FETCHER database password. (Use ENCRYPT command to get encrypted password from the plain text password.)

FETCHER_PEER

What is the corresponding FETCHER for this process? If SIMPLE_CONFIG = YES, this is simply set to FETCHER.

FETCHER_REMOTE_INTERFACE

Where to connect to reach this FETCHER process. This is usually same as FETCHER_LISTEN_INTERFACE, but may be changed if the name resolution works differently among the machines, listen binds to selected interfaces only, etc. Note that this settings is used by the console, too.

FETCHER_SCHEMA

Schema of MINE repository (when connecting from FETCHER). Virtually always same as MINE_SCHEMA.

FETCHER_THREADS

On RAC, specify a subset of redo log threads that a particular FETCHER should handle; it is necessary to send all threads to MINE, but it is possible to use multiple FETCHERS. Use "ALL" (default) or colon-separated list of threads (e.g. "1:3:5"). Default: ALL.

FETCHER_USER

MINE database login username (when connecting from FETCHER).

IGNORE_APPLY_DDL_DIFFERENCES

Will ignore differences in the table definition (or if it is missing) between source and target during the prepare phase.

  • NO (default) However this can changed to YES depending on options used in the Setup Wizard

  • YES

INSTANTIATE_SCN

Determines where to initiate the replication from. The valid values are:

  • NOW

  • RESETLOGS (selects the SCN from v$database.resetlogs_scn on the target database)

  • Manually entered SCN number

LICENSE_BAR

Show license info and product version in console

  • ON (default)

  • OFF

LICENSE_KEY

License key, as obtained by your purchase.

LOG_FILE

General process log file location template.

LOG_FILE_TRACE

General trace file location template.

LOG_FILE_COUNT

The number of copies of the log that should be kept. The active log will always be called *.log. Once the file is full (see LOG_FILE_SIZE parameter) then a copy of the log will be rotated and saved as *log.1. Any contents saved in *log.1 will be saved as *log.2. The process will continue determined by the value that this parameter is set to. When the default number is reached the last one will be rotated off.

Default: 2

LOG_FILE_DATE_ROTATE

If not OFF (default), specifies how often rotate the general log files. Allowed values:

  • yyyy-MM: every month

  • yyyy-ww: every week

  • yyyy-MM-dd: every day at midnight

  • yyyy-MM-dd-a: every day at noon

  • yyyy-MM-dd-HH: every hour

  • yyyy-MM-dd-HH-MM: every minute

Note: The values provided above are CASE SENSITIVE, so make sure you provide the values same as above.

LOG_FILE_SIZE

Approximate maximum log size in bytes. Once the log exceeds this size the log file will rotate.
Default: 10MB  Set in bytes.

LOG_OBSOLETE_AGE_PLOG

When PLOGS are applied and no longer needed even after APPLY restart, they are eligible for deletion. In addition, they must be at least LOG_OBSOLETE_AGE_PLOG days old.

LOG_OBSOLETE_AGE_RLOG

When redo logs are mined and no longer needed even after MINE restart, they are eligible for deletion. In addition, they must be at least LOG_OBSOLETE_AGE_PLOG days old. NOTE: this applies only for redolog copies shipped to MINE from FETCHER – if MINE reads them directly, they are left to be managed by database administrator, using RMAN, backup scripts etc.

LOG_PACKAGE_CSV_MAX_AGE

Limits the amount of data from metadata tables for the support package. Data older than (N) days will not be included.

Values: integer (days)

Default: 10

LOG_PACKAGE_TRC_MAX_AGE 

Limits the amount of data from trace files for the support package. Trace files older than (N) days will not be included.

Values: integer (days)

Default: 30

MAILCFG_AUTH_PASSWD

  • OFF

  • password: set the password to be used if the SMTP server requires authentication.

MAILCFG_AUTH_USER

  • OFF

  • username: set the username to be used if the SMTP server requires authentication.

MAILCFG_FROM

The From address to be used in outgoing emails

MAILCFG_PORT

The SMTP port to be used (default is the usual 25; however, the usual value for SSL-enabled SMTP server is 465).

MAILCFG_SMTP_SERVER

Sets SMTP mail server to be used for sending emails.

MAILCFG_USE_SSL

Use SSL protocol for the SMTP server (yes/no, default no).

MEMORY_LIMIT_MINE_MB

Memory limit for MINE, specified in megabytes. Note that these figures do not include overhead of Perl and of system malloc(), thus do not set it to consume all of your available memory. It does not use ulimit or other OS-based limits. Settings this too low will cause MINE to abort.

MEMORY_LIMIT_APPLY_MB

Memory limits for APPLY, specified in megabytes. Note that these figures do not include overhead of Perl and of system malloc(), thus do not set it to consume all of your available memory. It does not use ulimit or other OS-based limits. Setting this low may cause performance degradation, setting it too low will cause APPLY to abort.

MINE_ARCH_DEST

Default is empty. MINE will ONLY look in this directory for archivelogs. This parameter will be used in conjunction with the REDO_READ_METHOD set to ARCHONLY

MINE_ARCH_DEST_FORMAT

Default is empty.
Available options: %T_%S_%R %E for standby 

MINE_ASM

SID for ASM (usually +ASM). Note that on RAC, this must be set to the local ASM node name (e.g. +ASM2).

MINE_ASM OFF

This instructs Dbvisit Replicate to ignore redo logs in ASM and uses the redo logs on the file system (when they are multiplexed). This is useful when using older versions of ASM such as 10.1 as Dbvisit Replicate only supports ASM version 10.2 and higher. 

MINE_DATABASE

MINE database TNS connection string.

MINE_DATABASE_DBID

DBID (see v$database) of databases where mine connects. The default is empty and the variable is optional; however, it's always set by setup wizard. This helps to check that the connection strings resolve to correct databases = the same ones from mine server.

MINE_HEARTBEAT_TIME

  • 10 (seconds) (default)

  • If you want to disable this feature set to 0

This parameter determines the frequency of how often an update happens to the DBRSCOMMON_HEARTBEAT table in the dbvrep schema. This table can be used to monitor the state of replication.