View a markdown version of this page

Running minor version upgrade prechecks in Amazon RDS for Oracle - Amazon Relational Database Service

Running minor version upgrade prechecks in Amazon RDS for Oracle

Before Amazon RDS for Oracle performs a DB minor version upgrade, it checks that your DB instance is in a state that allows the upgrade to finish. If a check finds a problem, the upgrade can't proceed until you fix it.

You can run these checks yourself at any time without starting an upgrade. This way, you can find and fix problems before your maintenance window. To run the checks, use the Amazon RDS procedure rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade. The precheck is read-only. It doesn't change your data or your configuration.

The procedure returns a task ID. The precheck writes its results to a log file named dbtask-task_id.log in the BDUMP directory. To download the log file, see Downloading a database log file.

Note

Run the precheck on your primary DB instance. Running prechecks on a read replica isn't supported.

Running a minor version upgrade precheck

To check whether your DB instance is ready for a DB minor version upgrade, run the procedure rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade. The procedure takes no parameters. The following query starts the precheck and returns the task ID.

SQL> SELECT rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade() AS task_id FROM DUAL; TASK_ID ------------------ 1784924903020-9

You can also store the task ID in a SQL client variable and use the variable in other statements.

SQL> VAR task_id VARCHAR2(80); SQL> EXEC :task_id := rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade(); PL/SQL procedure successfully completed.

The precheck runs in the background. It's finished when the last line of the log is The task finished successfully. or The task failed.

Viewing the precheck results

To read the log file, run the Amazon RDS procedure rdsadmin.rds_file_util.read_text_file. Include the task ID in the file name. The following example shows a precheck in which no check found a problem.

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2026-08-28 18:30:20.461 UTC [INFO ] Starting minor version upgrade precheck... 2026-08-28 18:30:20.461 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included. 2026-08-28 18:30:20.470 UTC [INFO ] CHECK: FreeStorageSpace - PASSED 2026-08-28 18:30:20.515 UTC [INFO ] CHECK: SystemTablespace - PASSED 2026-08-28 18:30:20.523 UTC [INFO ] CHECK: AuditTablespace - PASSED 2026-08-28 18:30:20.541 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas 2026-08-28 18:30:20.612 UTC [INFO ] CHECK: MdsysUser - PASSED 2026-08-28 18:30:20.688 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED 2026-08-28 18:30:20.731 UTC [INFO ] CHECK: WorkspaceManager - PASSED 2026-08-28 18:30:20.790 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED 2026-08-28 18:30:20.846 UTC [INFO ] CHECK: XmlDbSchema - PASSED 2026-08-28 18:30:20.903 UTC [INFO ] CHECK: ApexStatus - PASSED 2026-08-28 18:30:20.955 UTC [INFO ] CHECK: CtxsysSequences - PASSED 2026-08-28 18:30:21.304 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED 2026-08-28 18:30:21.549 UTC [INFO ] CHECK: InvalidTriggers - PASSED 2026-08-28 18:30:21.601 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED 2026-08-28 18:30:21.602 UTC [INFO ] Summary: 13 passed, 1 skipped, 0 warnings, 0 errors, 0 blockers 2026-08-28 18:30:21.602 UTC [INFO ] Result: PASSED 2026-08-28 18:30:21.602 UTC [INFO ] The task finished successfully.

To list the files in the BDUMP directory, run the following query.

SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;

For more information about the procedure rdsadmin.rds_file_util.read_text_file, see Reading files in a DB instance directory.

Interpreting the precheck results

The log has one CHECK: line for each check, followed by a Summary: line and a Result: line. Which checks run depends on your engine version, your database architecture, and your DB instance configuration. Each check reports one of the following results.

PASSED

The check found no problem.

FAILED [BLOCKER]

The check found a problem that you must fix before the DB minor version upgrade. The line describes the problem and what to do.

WARN

The check found something that you should review. A warning doesn't block the upgrade.

SKIPPED

The check doesn't apply to your DB instance. The line gives the reason.

ERROR

The check couldn't finish. Run the precheck again.

Every check runs, even when an earlier check fails, so one run reports every problem that the precheck finds. If any check reports FAILED [BLOCKER] or ERROR, the log shows Result: FAILED. Otherwise, it shows Result: PASSED.

The following example shows a precheck that found one problem.

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2026-08-28 18:57:39.105 UTC [INFO ] Starting minor version upgrade precheck... 2026-08-28 18:57:39.105 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included. 2026-08-28 18:57:39.112 UTC [INFO ] CHECK: FreeStorageSpace - PASSED 2026-08-28 18:57:39.125 UTC [INFO ] CHECK: SystemTablespace - PASSED 2026-08-28 18:57:39.133 UTC [INFO ] CHECK: AuditTablespace - PASSED 2026-08-28 18:57:39.150 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas 2026-08-28 18:57:39.221 UTC [INFO ] CHECK: MdsysUser - PASSED 2026-08-28 18:57:39.297 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED 2026-08-28 18:57:39.340 UTC [INFO ] CHECK: WorkspaceManager - PASSED 2026-08-28 18:57:39.399 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED 2026-08-28 18:57:39.455 UTC [INFO ] CHECK: XmlDbSchema - PASSED 2026-08-28 18:57:39.512 UTC [INFO ] CHECK: ApexStatus - PASSED 2026-08-28 18:57:39.564 UTC [INFO ] CHECK: CtxsysSequences - PASSED 2026-08-28 18:57:39.913 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED 2026-08-28 18:57:40.097 UTC [ERROR] CHECK: InvalidTriggers - FAILED [BLOCKER]: The DB instance has triggers that aren't valid. Fix or disable them. 2026-08-28 18:57:40.151 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED 2026-08-28 18:57:40.152 UTC [INFO ] Summary: 12 passed, 1 skipped, 0 warnings, 0 errors, 1 blocker 2026-08-28 18:57:40.152 UTC [INFO ] RDS can't upgrade the DB instance. Resolve the blockers listed above, and then try again. 2026-08-28 18:57:40.152 UTC [INFO ] Result: FAILED 2026-08-28 18:57:40.152 UTC [INFO ] The task failed.

Fix each problem that the log reports, and then run the precheck again to confirm that your DB instance passes.

What the precheck checks

The following table lists each check and the condition that makes it fail. When a check fails, its line in the log describes the problem and how to fix it.

Check Fails when
FreeStorageSpace The DB instance has less than 768 MB of free storage.
SystemTablespace The SYSTEM or SYSAUX tablespace has less than 300 MB of free space, or isn't auto-extensible. For a CDB, the precheck checks each container.
AuditTablespace The audit tablespace has less than 300 MB of free space, or isn't auto-extensible.
RedoApplyLag A read replica's redo apply lag is more than 5 minutes. Skipped if the DB instance has no read replicas.
MdsysUser The MDSYS user isn't Oracle-maintained.
ConflictingSynonyms Synonyms use names that the new Oracle version reserves.
WorkspaceManager Workspace Manager (WMSYS) objects exist.
SchemaVersionRegistry One or more SCHEMA_VERSION_REGISTRY views aren't valid.
XmlDbSchema One or more XML DB schema objects aren't valid.
ApexStatus The APEX component isn't in a VALID state.
CtxsysSequences The CTXSYS schema doesn't have the 3 Oracle Text sequences (DR_ID_SEQ, MESG_ID_SEQ, THS_SEQ). Skipped for a CDB.
InvalidSystemObjects Oracle-maintained objects aren't valid.
InvalidTriggers Triggers aren't valid.
PendingDistributedTransactions Distributed transactions are unresolved.

When to run the precheck

Some conditions change over time, such as free storage and read replica lag. Run the precheck shortly before you upgrade. If your DB instance uses automatic minor version upgrades, run the precheck after you receive the pending maintenance notification and before your maintenance window.

If you make a change that affects a checked condition, run the precheck again. For example, run it again after you add storage, change a tablespace, drop or recompile objects, or resolve distributed transactions. Changes that don't affect these conditions don't change the result. For example, taking a backup or changing the DB instance class doesn't change the result.

Note

The precheck runs the checks for your current engine version. It doesn't include checks that depend on the version that you upgrade to.