Stay organized with collections
Save and categorize content based on your preferences.
Database Migration Service leverages the Oracle LogMiner API, which is part of Oracle Database, to
query archived redo log files. These files contain information about the history
of activity on a database. Each Oracle database has a set of online redo log files.
All transaction records on the database are recorded in the files.
When the current redo log file is rotated (or switched), the archive process
copies this file into an archive storage. Meanwhile, the database promotes
another file to serve as the current file.
When Database Migration Service uses the Oracle LogMiner API, it doesn't access
the online redo log files but only works with the archived log files.
Accessing archived redo log files inherently adds some latency to the migration
process. This page describes suggested configuration for your Oracle
source databases to control the latency impact.
Set configuration parameters for Oracle redo log files
This design has profound implications on Database Migration Service's potential latency. If
Oracle redo log files are switched frequently or kept to a smaller size (for
example, < 256MB), Database Migration Service can replicate changes faster.
There are configuration parameters that you can set to control the log file
rotation frequency:
Size: Online redo log files have a minimum size of 4 MB, and
the default size is dependent on your operating system. You can modify the size
of the log files by creating new online log files and dropping the older log files.
To find the size of the online redo log files, run the following query:
SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
Time: The ARCHIVE_LAG_TARGET parameter provides an
upper limit of how long (in seconds) the current log of the primary database can span.
This isn't the exact log switch time, because it takes into account how long
it will take to archive the log. The default value is 0 (no upper bound),
and a reasonable value of 1800 (or 30 minutes) or less is suggested.
You can use the following commands to set the ARCHIVE_LAG_TARGET
parameter, either during initialization or while the database is up:
SHOW PARAMETER ARCHIVE_LAG_TARGET; This command displays
how many seconds it will take for the current log to span.
ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds;
Use this command to change the upper limit.
For example, to set the upper limit to 10 minutes (or 600 seconds),
enter ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eDatabase Migration Service utilizes the Oracle LogMiner API to access archived redo log files, which contain a history of database activity, instead of the online redo log files, introducing some latency.\u003c/p\u003e\n"],["\u003cp\u003eThe frequency of Oracle redo log file switching and their size significantly impact the latency of Database Migration Service, with more frequent switching and smaller file sizes leading to faster replication.\u003c/p\u003e\n"],["\u003cp\u003eYou can modify the size of online redo log files, with a minimum of 4 MB, using guides provided for self-hosted Oracle and Amazon RDS Oracle environments.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eARCHIVE_LAG_TARGET\u003c/code\u003e parameter controls the maximum duration (in seconds) that a current log can span, with a suggested value of 1800 seconds (30 minutes) or less to enhance performance.\u003c/p\u003e\n"],["\u003cp\u003eAlthough it's possible to manually switch redo log files using the \u003ccode\u003eALTER SYSTEM SWITCH LOGFILE;\u003c/code\u003e command, it's not advised for production due to its privilege requirements and potential performance impact.\u003c/p\u003e\n"]]],[],null,["# Work with Oracle database redo log files\n\nDatabase Migration Service leverages the Oracle LogMiner API, which is part of Oracle Database, to\nquery archived redo log files. These files contain information about the history\nof activity on a database. Each Oracle database has a set of online redo log files.\nAll transaction records on the database are recorded in the files.\n\nWhen the current redo log file is rotated (or switched), the archive process\n[copies this file into an archive storage](https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-archived-redo-log-files.html#GUID-9BD00F2E-DC98-4871-8D26-FDB40623909C). Meanwhile, the database promotes\nanother file to serve as the current file.\n\nWhen Database Migration Service uses the Oracle LogMiner API, it doesn't access\nthe online redo log files but only works with the archived log files.\nAccessing archived redo log files inherently adds some latency to the migration\nprocess. This page describes suggested configuration for your Oracle\nsource databases to control the latency impact.\n\nSet configuration parameters for Oracle redo log files\n------------------------------------------------------\n\nThis design has profound implications on Database Migration Service's potential latency. If\nOracle redo log files are switched frequently or kept to a smaller size (for\nexample, \\\u003c 256MB), Database Migration Service can replicate changes faster.\n\nThere are configuration parameters that you can set to control the log file\nrotation frequency:\n\n- **Size:** Online redo log files have a minimum size of 4 MB, and\n the default size is dependent on your operating system. You can modify the size\n of the log files by creating new online log files and dropping the older log files.\n\n To find the size of the online redo log files, run the following query: \n\n ```\n SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG\n ```\n | For self-hosted Oracle, use [this guide](https://logic.edchen.org/how-to-resize-redo-logs-in-oracle/). For Amazon RDS Oracle, use [Performing common log-related tasks for Oracle DB instances](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Log.html#Appendix.Oracle.CommonDBATasks.ResizingRedoLogs) in the Amazon RDS documentation.\n- **Time:** The `ARCHIVE_LAG_TARGET` parameter provides an upper limit of how long (in seconds) the current log of the primary database can span.\n\n This isn't the exact log switch time, because it takes into account how long\n it will take to archive the log. The default value is `0` (no upper bound),\n and a reasonable value of `1800` (or 30 minutes) or less is suggested.\n\n You can use the following commands to set the `ARCHIVE_LAG_TARGET`\n parameter, either during initialization or while the database is up:\n - `SHOW PARAMETER ARCHIVE_LAG_TARGET;` This command displays how many seconds it will take for the current log to span.\n - `ALTER SYSTEM SET ARCHIVE_LAG_TARGET = `\u003cvar translate=\"no\"\u003enumber-of-seconds\u003c/var\u003e`;` Use this command to change the upper limit.\n\n For example, to set the upper limit to 10 minutes (or 600 seconds),\n enter `ALTER SYSTEM SET ARCHIVE_LAG_TARGET = `\u003cvar translate=\"no\"\u003e600\u003c/var\u003e`;`\n\n| You can switch the redo log files manually by running the following command:\n|\n| `ALTER SYSTEM SWITCH LOGFILE;`\n|\n| Although using this command is effective for testing purposes, we don't\n| recommend it for production use-cases because of the privileges it requires\n| and the significant performance impact on the database."]]