The following settings and configurations maybe optimized in high volume transactions to achieve higher performance.
Variable | Description |
---|---|
STATUS_BEAT_LCR | This determines how often a log message is written showing number of processed LCRs (in LCR count) (use 0 to disable). As of Dbvisit Replicate 2.3.14 the default is 10,000. For high volume configurations consider increasing to higher number. |
OCI_COMMIT_MODE = NOWAIT BATCH | This may improve apply processing speed. Only set for non RAC target systems. See Configuration Variable Reference for more information. |
_ENABLE_5_19_PARSE = NO | 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. If this information is not required, then this can be disabled. Please Internal Variables for more information |
Improving performance
Following settings/tips can be applied to improve Replicate performance. Please test them first on a test system before implementing in a production environment
Mine
No CDC/AUDIT
Disable maintaining of session information. This information is needed only if CDC/Audit is in use to populate auxiliary fields such as source user login, program, module, action and so on.
If _MINE_PRINT_OPEN_TRANSACTIONS is used, this feature populates the sid/serial info.
_ENABLE_5_19_PARSE = NO
No trace files
Disable keeping of past debug messages. So the trace files will not contain this information
This is only recommended in a tested environment.
_DISABLE_DBGPRINTF = YES
No redo log checksums
Disable checking of redolog checksums. This is recommended only if
- fetcher not is used
- on a local filesystem, no ASM
- if the replication has been running fine for some time
_MINE_CHECK_ORACHECKSUM = NO
No error logging to database
Do not log errors to DBRSCOMMON_ERRORLOG.
Note that this decreases the table size and not performance.
_LOG_ERRORS_TO_DATABASE = NO
Less frequent updates of table names in list progress
This setting only updates table names in list progress when a log switch occurs. Note that new tables are added on the fly even with this setting.
The setting can confuse if there is a lot of DDL, table renames etc. Then list progress may show stale information until next log switch happens.
_MINE_UPDATE_TABLIST_ON_SWITCH_ONLY = YES
Apply
No trace files
No error logging to database
see Mine.
Commit Nowait
Change default commit settings. Use only if target is not RAC, otherwise data loss can occur.
OCI_COMMIT_MODE = NOWAIT BATCH
No audit info, no triggers
If DBRSAPPLY_PKG is used at all, apply can stop populating it's variables.
It's used for:
- CDC/Audit auxiliary columns like source login, sid, serial, program, module, action, ...
- To determine whether current session is a replicate session (used in triggers to disable double-firing)
_SET_APPPLY_PKG_AUDIT NO (on login)
_SET_APPPLY_PKG_CONFLICT NO (on conflict)
_SET_APPPLY_PKG_ALWAYS NO (on each change; NO is the default)
Examples:
This shows an example of how to change the settings to further improve the performance:
Please add these settings to your MINE ddc file on the source server:
Column | |||||
---|---|---|---|---|---|
| |||||
|
Please add these settings to your APPLY ddc file on the target server:
Column | |||||
---|---|---|---|---|---|
| |||||
|