Internal variables are denoted by _ (underscore character), e.g. "_INT_SETTING".
...
Internal Variable | Description | ||||
---|---|---|---|---|---|
_APPLY_COUNT_LOOKAHEAD_READ | Default value 10000. This parameter sets the value at how many LCRs (Logical Change Records) are read while waiting for user resolution of conflict handlers: RETRY, PAUSE, ABORT. | ||||
_APPLY_COUNT_LOOKAHEAD_READ_FASTFAIL | Default value 50. This parameter sets the value at how many LCRs (Logical Change Records) are read while waiting for conflict handlers set to DISCARD, OVERWRITE and FORCE. | ||||
_APPLY_DRIVER |
Set the Database driver for the APPLY process on Oracle. By default it is using the OCI driver when applying to Oracle. When the DBI Perl driver is being used for the APPLY process on Oracle then the internal variable _APPLY_OCI_PASSTHROUGH_TYPES must be set to NO to force conversion of the binary bind representation to ascii strings. The Oracle OCI driver executes SQL at the APPLY Oracle db with no Perl interaction and the OCI driver is directly binding the binary representation whereas the Perl driver does not understand the Oracle internal binary representation and needs a converted string representation. | ||||
_APPLY_OCI_PASSTHROUGH_TYPES |
Pass values to APPLY SQL as-is instead of converting them to strings and using to_number/to_date on the result. Value YES improves APPLY speed, value NO can lead to value conversions if the source value is invalid. Applies for OCI only and currently for DATE/NUMBER only. This applies to number values with excessive decimal places and completely invalid date values (such as 0000-00-00 00:00:00). If the source has invalid dates, then set to YES. | ||||
_APPLY_MAX_RETRY_COUNT | Default value 20. This parameter sets the value of how often APPLY should try to apply the same sequel if a conflict occurs before it PAUSESHow many times should APPLY try to run the conflicting SQL before the process is paused. Default value 20. | ||||
_APPLY_PLOG_CHECK_FATAL | Disable checksum checking when transferring PLOG file from source to target servers. | ||||
_APPLY_POSTPONE_LAST_LCR
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 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. Setting _APPLY_POSTPONE_LAST_LCR = Yes can help if the following message is seen in Apply log:
| Adjusts the behaviour of adding supplemental log to the database during the setup.
| ||||
_APPLY_THREAD_MEM_ACCOUNTING |
Set to YES to turn on extra memory counting for support purposes. It incurs overhead as it adds 16 bytes to each allocation. Negative counts may be possible when the data is read before applier is actually allocated. | ||||
_APPLY_THREAD_MEM_ACCOUNTING_ON_APPLIER_SHUTDOWN |
Set to YES to automatically dump information into the trace file on each applier(=transaction) close. Negative counts maybe possible when the data is read before applier is actually allocated. | ||||
_DELETE_OBSOLETE_PLOGS | Set this to NO to turn off the housekeeping of the PLOG files.
Example to stop the automatic removal of PLOG files on APPLY:
| ||||
_DELETE_OBSOLETE_RLOGS | Set this to NO to turn off the housekeeping of the redo log files transferred from the Fetcher process to the mine_stage directory on the MINE server.
| ||||
_DELETE_OBSOLETE_DEBUG |
Turns on debugging for housekeeping of PLOG and redo logs. Extra information will appear in the MINE and or APPLY log files which indicate why PLOGS or redo logs have been deleted or not. Example of debugging information is:
| ||||
_DPUMP_SKIP_MODE_ENABLED | Skip replicating records being inserted by datapump with jobname beginning with DP_ddcname
The program name must begin with ORACLE or oracle and contain DW or udi. | ||||
_ENABLE_5_19_PARSE | Enables or disables processing of auditing information. This information is used by CDC/Audit function or by querying the DBRSAPPLY_PKG package on the target database (e.g. in triggers). This information includes source sid, serial#, transaction id, os user, os machine, login name.
Setting this to NO can improve the performance of the MINE process.
Changing this requires a restart of the MINE process | ||||
_EXIT_CONDITION | Specify if both online redo logs and archive logs should be use or archive log only (archivelogs only) files exclusively.
Set this in the *MINE.ddc only. Changing this requires a restart of the MINE process. | ||||
_FORCE_LD_PATH_ALL | If set to yes, we add ORACLE_HOME (which is set in DDC to ASM home if ASM is used) to front of LD_LIBRARY_PATH. This forces use of Oracle libraries in ASM home, instead of the Oracle Instant Client bundled within dbvrep. This parameter is typically not needed for RedHat or Oracle Linux installs. Suse Linux typically requires this. | ||||
_FORCE_LD_PATH_SYSDBA | If set to yes, we add ORACLE_HOME (which is set in DDC to ASM home if ASM is used) to front of LD_LIBRARY_PATH. This forces use of Oracle libraries in ASM home, instead of the Oracle Instant Client bundled within dbvrep. This parameter is typically not needed for RedHat or Oracle Linux installs. Suse Linux typically requires this. This is for as sysdba connections only (which is used only for connection to ASM instances). | ||||
_LOG_ERRORS_TO_DATABASE | Log errors to the Dbvisit Replicate data dictionary. Values are:
| ||||
_MINE_ADD_TRAILING_NULLCOLS_ON_UPDATE_FORCE | Ensure that you are also adding supplemental logging on ALL columns. Any columns that are not present are thus either non-loggable, or trailing NULLs. Replicate will add all trailing NULLs for updates when the value is set to yes. Values are:
In order to avoid conflicts on replicate internal tables, it is necessary to enable supplemental logging also on following 3 tables: | ||||
_MINE_DETECT_DUPLICATES_IN_ASSEMBLY |
| ||||
_MINE_FIX_INVALID_DATA | Check date values for various types of invalid data and replace with new value. This is a bit field.Values: 1: zeroes at invalid places: year 0, month 0, day 0, hour -1, minute -1 or second -1. [no further checks implemented now] | ||||
_MINE_FIX_INVALID_DATE_NEW_VALUE | String representation of hex value to be used as the new value if DATE is found to be invalid. Can be empty (=NULL) or 7 bytes (=14 hex chars) of the new value. Use dump(datecol,16) to get the desired value. Do not use dump(PL/SQL expression,16), this gives different representation of date value. Please see Dealing with invalid dates for a full example of how this value works. | ||||
_MINE_RAC_SKIP_THREADS | If one (or more) of the instances are down in an RAC environment, this parameter allows MINE to start and will only work on the instances that are up.
| ||||
_MINE_REPORT_INVALID_DATA | Same as _MINE_FIX_INVALID_DATA, but governs printing to log, not the actual value change. Values are:
| ||||
_MINE_UPDATE_RBA_ON_VOID |
Specific for RAC source database. Setting to YES ensures threads are synched in the correct order. Setting can create MINE gap up to _MINE_FORCE_LOGSWITCH_IDLE_TIME (180s) on an idle database | ||||
_MINE_WRONG_ORDER_FATAL | Debug RAC thread merging.
| ||||
_NETWORK_TRAFFIC_DEBUG |
To set use the following command from the Dbvisit Replicate command console:
Enable network traffic debugging. Useful for Dbvisit support when PLOG files are not being transferred consistently from MINE to APPLY. Turn on the debugging for about 1 hour and then upload the MINE log file to Dbvisit support. The following messages in the APPLY log are indication of network issues:
| ||||
_NOTIFY_ENABLE | Set to NO to disable notifications. This disables all smtp (mail) and snmp notifications. | ||||
_SUBPROFILER | In some cases, sub profiling can also be enabled to obtain finer grained profiling information. Profiling needs to be enabled before sub profiling can be turned on. Please see Dbvisit Replicate Profile Performance Statistics To turn on sub profiling:
| ||||
_TCP_CONNECT_TIMEOUT | How long to wait for connection until timeout. Default is 60 seconds. If the following message is seen in the APPLY log:
Then increase this to 300 seconds. Requires MINE and APPLY process restart: Yes
| ||||
_TCP_RECEIVE_TIMEOUT | How long to wait for receive until timeout. Default is 60 seconds. If the following message is seen in the APPLY log:
Then increase this to 300 seconds. Requires MINE and APPLY process restart: Yes
| ||||
_TCP_SEND_TIMEOUT | How long to receive confirmation of send until timeout. Default is 60 seconds. If the following message is seen in the APPLY log:
Then increase this to 300 seconds. Requires MINE and APPLY process restart: Yes
| ||||
_THREADED_OCI |
Determines if multiple Apply processes should be run to apply the changes. Auto means YES for ORACLE and NO for non-Oracle targets. Yes, means that there are multiple Apply process and that changes are being applied in parallel. Setting to NO, means there is only one Apply process and the changes will be applied serially. For more explanation, please see Apply processes overview | ||||
_ QUERYMODEMINE_LCRLIST_ PARSESPILL_ SQLENABLED |
Internal use only. Setting to YES, adds extra logging information into the trc files. The extra information containing rollbacks and safepoints in querymode. For example what was really applied, what was skipped, what was rolled back and replayed.Enabling | ||||
_MINE_LCRLIST_SPILL_SIZE_TO_START |
threshold of spilling if below this size, do not start spilling at all | ||||
_MINE_LCRLIST_SPILL_BLOCK_SIZE |
how much is written in one spill | ||||
_MINE_LCRLIST_SPILL_KEEP_IN_MEMORY |
how much is left in memory after spill (=so an immediate rollback does not mean we have to reread) | ||||
_APPLY_STATEMENT_ROLLBACK_WHEN_TOO_MANY |
|