Thursday, July 30, 2026

ORA-19809: Limit Exceeded for Recovery Files

 

Error

ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim xx bytes disk space from xx limit

What does this error mean?

This error means the Fast Recovery Area (FRA) has become full.

Oracle stores the following files in the FRA:

  • Archive Logs
  • Flashback Logs
  • RMAN Backups
  • Control File Autobackups
  • Incremental Backups

When the FRA reaches its configured size (DB_RECOVERY_FILE_DEST_SIZE), Oracle cannot create new archive logs. As a result:

  • Database transactions may stop
  • Log switches fail
  • RMAN backups fail
  • Data Guard redo transport may stop

This is one of the most common production issues for Oracle DBAs.


Symptoms

You may see errors like:

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 104857600 bytes disk space

ORA-16038: log cannot be archived

ORA-00257: Archiver error. Connect AS SYSDBA only until resolved.

Users may report:

  • Application is hanging
  • Database is not responding
  • New transactions are failing

Step 1: Check FRA Usage

-- Size, usage, Reclaimable space used

SELECT

ROUND((A.SPACE_LIMIT / 1024 / 1024 / 1024), 2) AS FLASH_IN_GB,

ROUND((A.SPACE_USED / 1024 / 1024 / 1024), 2) AS FLASH_USED_IN_GB,

ROUND((A.SPACE_RECLAIMABLE / 1024 / 1024 / 1024), 2) AS FLASH_RECLAIMABLE_GB,

SUM(B.PERCENT_SPACE_USED) AS PERCENT_OF_SPACE_USED

FROM

V$RECOVERY_FILE_DEST A,

V$FLASH_RECOVERY_AREA_USAGE B

GROUP BY

SPACE_LIMIT,

SPACE_USED ,

SPACE_RECLAIMABLE ;

Example:

FLASH_IN_GB FLASH_USED_IN_GB FLASH_RECLAIMABLE_GB PERCENT_OF_SPACE_USED

----------- ---------------- -------------------- ---------------------

       1024           351.01               339.91                 34.28

 



Step 2: Check Archive Destination

ARCHIVE LOG LIST;

or

show parameter db_recovery_file_dest SQL> SQL> SQL> NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string +RECO_FLEXSAND01 db_recovery_file_dest_size big integer 2T


Step 3: Check FRA File Usage

-- FRA Occupants
SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;
SQL> SQL> SQL>
FILE_TYPE               PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES     CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
CONTROL FILE                             0                         0               1          0
REDO LOG                                 0                         0               0          0
ARCHIVED LOG                            .5                         0              64          0
BACKUP PIECE                           .02                       .02               7          0
IMAGE COPY                               0                         0               0          0
FLASHBACK LOG                        16.62                     16.58            1734          0
FOREIGN ARCHIVED LOG                     0                         0               0          0
AUXILIARY DATAFILE COPY                  0                         0               0          0
 
8 rows selected.



Solution 1: Increase FRA Size (Recommended)

If storage is available:

Check current value:

SHOW PARAMETER db_recovery_file_dest_size;
Increase FRA:
alter system set db_recovery_file_dest='+RECO_FLEXSAND01' scope=both sid='*';
alter system set db_recovery_file_dest_size=1536G scope=both sid='*';
Verify:
SHOW PARAMETER db_recovery_file_dest_size;

SQL> show parameter db_reco
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      +RECO_FLEXSAND01
db_recovery_file_dest_size           big integer 1536G
SQL>

Solution 2: Delete Old Archive Logs Using RMAN

Open RMAN:

rman target /

Delete expired archives:

DELETE EXPIRED ARCHIVELOG ALL;

Delete archives older than 7 days:

DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-7';

Delete archives already backed up once:

DELETE ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK;

Solution 3: Crosscheck RMAN Repository

Sometimes RMAN thinks files exist when they have already been deleted.

CROSSCHECK ARCHIVELOG ALL;

DELETE EXPIRED ARCHIVELOG ALL;

Solution 4: Remove Obsolete Backups

DELETE OBSOLETE;

This removes backups that are no longer required based on the RMAN retention policy.


Solution 5: Disable Flashback (If Not Required)

Check status:

SELECT FLASHBACK_ON FROM V$DATABASE;

Disable:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE FLASHBACK OFF;
ALTER DATABASE OPEN;

Note: Disable Flashback only if your recovery strategy allows it.


Solution 6: Move FRA to a Larger Disk

alter system set db_recovery_file_dest='+FRA' scope=both sid='*';

Verify the Issue is Resolved

Check FRA usage again:

SELECT
SPACE_LIMIT/1024/1024 AS FRA_SIZE_MB,
SPACE_USED/1024/1024 AS USED_MB
FROM V$RECOVERY_FILE_DEST;

Force an archive log:

ALTER SYSTEM SWITCH LOGFILE;

If the command succeeds without errors, the issue is resolved.


Preventive Actions:

  • Monitor FRA usage in OEM or a monitoring tool.
  • Configure alerts when FRA usage exceeds 80%.
  • Schedule regular RMAN backup and archive log cleanup jobs.
  • Periodically review backup retention policies.
  • Ensure sufficient FRA capacity based on archive log generation.

Oracle Database: Convert Between ARCHIVELOG and NOARCHIVELOG Mode

 Step-by-Step Guide 


Purpose

This document explains how to convert an Oracle database:

  • From NOARCHIVELOG to ARCHIVELOG
  • From ARCHIVELOG to NOARCHIVELOG

The steps are written in simple language so beginners and production DBAs can easily understand the process.


What is ARCHIVELOG Mode?

When the database runs in ARCHIVELOG mode, Oracle saves a copy of every completed redo log before it is reused.

These archive logs are required for:

  • Database backup and recovery
  • Point-in-Time Recovery (PITR)
  • RMAN Online Backup
  • Oracle Data Guard
  • Flashback Database

Without archive logs, recovery options are very limited.


Step 1: Check the Current Database Mode

Connect to the database.

sqlplus / as sysdba

Run:

archive log list;
SELECT log_mode FROM v$database;



Scenario 1: Convert NOARCHIVELOG to ARCHIVELOG

Step 1: Configure Archive Log Location

Choose a location where archive logs will be stored.

Example:

ALTER SYSTEM SET log_archive_dest_1='LOCATION=/u01/app/oracle/archive'
SCOPE=SPFILE;

You can verify:

SHOW PARAMETER log_archive_dest;

Step 2: Shutdown the Database

SHUTDOWN IMMEDIATE;

For RAC
srvctl stop database -d <DBNAME>

Step 3: Start Database in Mount Mode

STARTUP MOUNT;
For RAC
srvctl start database -d <DBNAME> -o mount

Step 4: Enable ARCHIVELOG Mode

sqlplus / as sysdba
select name, open_mode from v$database;
ALTER
DATABASE ARCH0IVELOG;

Step 5: Open the Database

ALTER DATABASE OPEN;

For RAC
srvctl stop database -d <DBNAME>
srvctl start database -d <DBNAME>

Step 6: Verify ARCHIVELOG Mode

ARCHIVE LOG LIST;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/archive
SELECT log_mode FROM v$database;
ARCHIVELOG

Step 7: Test Archive Log Generation

Force a log switch.

ALTER SYSTEM SWITCH LOGFILE;

Check generated archive logs.

ARCHIVE LOG LIST;

Or at the OS level:

ls -ltr /u01/app/oracle/archive

You should see a new archive log file.


Scenario 2: Convert ARCHIVELOG to NOARCHIVELOG


Step 1: Shutdown Database

SHUTDOWN IMMEDIATE;

For RAC
srvctl status database -d <DBNAME>
srvctl stop database -d <DBNAME>

Step 2: Start Database in Mount Mode

STARTUP MOUNT;

For RAC
srvctl start database -d <DBNAME> -o mount

Step 3: Disable ARCHIVELOG

ALTER DATABASE NOARCHIVELOG;

Step 4: Open the Database

ALTER DATABASE OPEN;

For RAC
srvctl stop database -d <DBNAME>
srvctl start database -d <DBNAME>

Step 5: Verify Database Mode

ARCHIVE LOG LIST;
SELECT log_mode FROM v$database;

Estimate Archive Log Space Requirement

Use the following query to estimate daily archive log generation:

SELECT A.*,
ROUND(A.Count# * B.AVG# / 1024 / 1024 / 1024) AS Daily_Avg_GB
FROM
(
    SELECT
        TO_CHAR(first_time,'YYYY-MM-DD') DAY,
        COUNT(*) Count#,
        MIN(recid) Min#,
        MAX(recid) Max#
    FROM v$log_history
    GROUP BY TO_CHAR(first_time,'YYYY-MM-DD')
) A,
(
    SELECT
        AVG(bytes) AVG#
    FROM v$log
) B
ORDER BY DAY;



This helps estimate how much storage is needed for archive logs each day.

Saturday, July 25, 2026

Oracle Grid Infrastructure Rolling Upgrade from 19c to Oracle AI Database 23.26




Document Information

ItemDetails
Upgrade TypeRolling Grid Infrastructure Upgrade
Source VersionOracle Grid Infrastructure 19c (19.31 RU)
Target VersionOracle AI Database Grid Infrastructure 23.26
PlatformOracle Linux 8
Cluster TypeTwo-Node Oracle RAC
DowntimeDatabase downtime required; Cluster services upgraded in rolling mode
Upgrade MethodOut-of-Place Upgrade

1. Purpose

This document describes the procedure for upgrading Oracle Grid Infrastructure from Oracle Database 19c to Oracle AI Database Grid Infrastructure 23.26 using an out-of-place rolling upgrade.

The objective is to introduce the new Grid Infrastructure software while preserving the existing Oracle Home until the upgrade is fully validated. This approach minimizes operational risk and provides a rollback option if required.


2. Environment Details

ComponentValue
Current GI Home/u01/app/19.3.0/grid
New GI Home/u01/app/26.0.0/grid
Grid Base/u01/app/26aigrid
ASM StorageOracle ASM
Cluster Nodesricsand03t, ricsand04t
Oracle Linux8.x
Grid Ownergrid
Inventory Owneroinstall

3. Pre-Upgrade Activities

Before starting the upgrade, perform the following validations.

Verify Cluster Version

crsctl query crs activeversion -all
crsctl query crs softwareversion -all

Expected Output

Oracle Clusterware active version : 19.0.0.0.0
Oracle Clusterware software version : 19.0.0.0.0

This confirms that every node in the cluster is running the same Grid Infrastructure version before beginning the upgrade.


4. Verify ASM Compatibility

Login as the Grid user.

sqlplus / as sysasm

Check the ASM compatibility attributes.

SELECT
    name,
    compatibility,
    database_compatibility
FROM v$asm_diskgroup;

Example

DATA
OCR
RECO

If the compatible.rdbms attribute is lower than 19.0.0.0.0, update it before continuing.

ALTER DISKGROUP DATA
SET ATTRIBUTE 'compatible.rdbms'='19.0.0.0.0';

Repeat the command for all ASM disk groups.

This step ensures the disk groups meet the minimum compatibility requirements for the upgrade.


5. Create New Grid Infrastructure Home

Create a new Oracle Home instead of upgrading the existing one.

On both cluster nodes:

mkdir -p /u01/app/26aigrid
mkdir -p /u01/app/26.0.0/grid

chown grid:oinstall /u01/app/26aigrid
chown root:oinstall /u01/app/26.0.0
chown grid:oinstall /u01/app/26.0.0/grid

Keeping the new software in a separate Oracle Home provides an easy rollback path if the upgrade cannot be completed successfully.


6. Copy and Extract Oracle Grid Software

Copy the installation archive into the new Grid Home.

cp LINUX.X64_2326100_grid_home.zip /u01/app/26.0.0/grid

Change ownership.

chown grid:oinstall LINUX.X64_2326100_grid_home.zip

Login as the Grid user.

su - grid

Extract the software.

cd /u01/app/26.0.0/grid

unzip LINUX.X64_2326100_grid_home.zip

At this stage, the new Grid Infrastructure home is ready for validation.


7. Run Cluster Verification Utility (CVU)

Before upgrading, Oracle strongly recommends validating the environment using CVU.

Execute:

/u01/app/26.0.0/grid/runcluvfy.sh \
stage -pre crsinst \
-upgrade \
-rolling \
-src_crshome /u01/app/19.3.0/grid \
-dest_crshome /u01/app/26.0.0/grid \
-dest_version 23.26.1.0.0 \
-fixup \
-verbose

The utility verifies:

  • Operating system compatibility

  • Network configuration

  • ASM configuration

  • OCR and Voting Disk health

  • User equivalence

  • Required packages

  • Kernel parameters

  • Disk permissions

  • Time synchronization

  • Cluster integrity

The validation should complete with:

Pre-check for cluster services setup was successful.

Any reported failures should be resolved before continuing with the upgrade.


8. Perform a Dry Run

Run the installer in validation mode.

export DISPLAY=<display_server>

./gridSetup.sh -dryRunForUpgrade

The dry run simulates the upgrade without modifying the existing cluster configuration.

This step confirms that all prerequisites have been satisfied before the actual upgrade begins.


9. Stop All RAC Databases

Stop every database managed by Clusterware.

srvctl stop database -d cjordt1

srvctl stop database -d ctjswing

Verify that no databases remain online before proceeding.


10. Start the Grid Infrastructure Upgrade

Launch the installer.

/u01/app/26.0.0/grid/gridSetup.sh

Select:

  • Upgrade Oracle Grid Infrastructure

  • Rolling Upgrade

  • Existing Cluster

  • New Oracle Home

The installer performs prerequisite checks before copying the new binaries.

When prompted, execute the generated root scripts on each node in the order specified by the installer.


11. Root Script Execution

Execute as root.

/u01/app/26.0.0/grid/root.sh

The installer upgrades one node at a time while keeping cluster services available on the remaining node.

Monitor the progress until both nodes complete successfully.


12. Post-Upgrade Validation

Verify the active Clusterware version.

crsctl query crs activeversion

Verify the software version.

crsctl query crs softwareversion

Check Cluster Resources.

crsctl stat res -t

Verify ASM.

srvctl status asm -detail

Display ASM Disk Groups.

asmcmd lsdg

Verify SCAN Listener.

srvctl status scan

Validate OCR.

ocrcheck

Verify Voting Disk.

crsctl query css votedisk

All resources should report ONLINE, and OCR and Voting Disks should be healthy.


13. Post-Upgrade Health Check

After the upgrade:

  • Confirm Clusterware is running on all nodes.

  • Verify ASM instances are mounted.

  • Ensure OCR and Voting Disks are healthy.

  • Start all RAC databases.

  • Validate SCAN listeners and VIPs.

  • Confirm application connectivity.

  • Review Grid Infrastructure alert logs for unexpected errors.

  • Monitor cluster stability for several hours after the upgrade.


14. Rollback Strategy

Because this is an out-of-place upgrade, the original 19c Grid Home remains intact until the upgrade is finalized.

If a critical issue is encountered before completing the upgrade, Oracle supports rolling back to the previous Grid Infrastructure home by following the documented rollback procedure. Rollback should only be performed after reviewing the installer logs and Oracle Support recommendations.


15. Best Practices

  • Perform a full OCR backup before the upgrade.

  • Verify recent RMAN backups for all databases.

  • Run CVU until all mandatory checks pass.

  • Keep the existing Grid Home unchanged until validation is complete.

  • Upgrade during a planned maintenance window with application teams on standby.

  • Validate CRS, ASM, OCR, Voting Disk, and SCAN services before releasing the environment to users.

  • Archive installer logs and upgrade reports for audit and future reference.


Sunday, July 19, 2026

Oracle Database 19c Release Update (RU) Patching

Patch: 39036936 (Oracle Grid Infrastructure 19.31 RU)

Document Information

ItemValue
DocumentOracle 19c RU Patching SOP
Oracle Version19c
Patch Number39036936
Patch TypeRelease Update (RU)
EnvironmentProduction
DowntimePlanned Maintenance
Prepared ByOracle DBA Team

Purpose

This document describes the standard operating procedure for applying Oracle Database 19c Release Update (RU) in a production environment, including pre-checks, patch installation, validation, rollback considerations, and post-patch verification.


Patch Details

ItemValue
Oracle Version19c
RU Version19.31
Patch Number39036936
Patch TypeRelease Update
Installation ToolOPatch / OPatchAuto
Datapatch RequiredYes
DowntimeRequired

Prerequisites

  • Oracle Support credentials

  • Patch downloaded from My Oracle Support

  • Latest OPatch utility installed

  • Root access (for GI patching)

  • Sufficient free space in Oracle Home

  • RMAN backup completed

  • Guaranteed Restore Point (recommended)

  • Maintenance window approved


Pre-Patching Checklist

  • Verify Oracle Home.

  • Verify Grid Home.

  • Check database status.

  • Check listener status.

  • Check Clusterware status.

  • Verify ASM disk groups.

  • Confirm RMAN backup success.

  • Review alert logs.

  • Validate Data Guard synchronization (if applicable).

Example commands:

crsctl stat res -t

srvctl status database -d PRODDBNAMEDB

srvctl status service -d DBNAME srvctl status listener asmcmd lsdg

Verify OPatch Version

$ORACLE_HOME/OPatch/opatch version

OPatch Version: 12.2.0.1.43

 

OPatch succeeded.


 $ORACLE_HOME/OPatch/opatch lspatches

35643107;Database Release Update : 19.21.0.0.231017 (35643107)

29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)

 

OPatch succeeded.

 $ORACLE_HOME/OPatch/opatch lsinventory

 


Stop Database Services


RAC:

srvctl stop instance -d DBNAME -i INSTANCENAME


Conflict Check

As the Grid home user:

$ORACLE_HOME/OPatch/opatch prereq CheckMinimumOPatchVersion-phBaseDir /u01/patch/39036936/39034528
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/39036936/39034528
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/39036936/39039430
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/39036936/39055473
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/39036936/39107855
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/39036936/39107825


For Oracle home, as home user:
$ORACLE_HOME/OPatch/opatch prereq CheckMinimumOPatchVersion-phBaseDir /u01/patch/39036936/39034528
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/39036936/39034528
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/39036936/39039430


Expected:

Prereq check passed.


Analyze Patch


cd /u01/app/19.3.0/grid/OPatch

/u01/app/19.3.0/grid/OPatch/opatchauto apply /u01/patches/39036936 -analyze

 

OPatchauto session is initiated at Tue Jul 14 13:44:08 2026

 

System initialization log file is /u01/app/19.3.0/grid/cfgtoollogs/opatchautodb/systemconfig2026-07-14_01-44-12PM.log.

 

Session log file is /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/opatchauto2026-07-14_01-44-31PM.log

The id for this session is E8Y5

 

Executing OPatch prereq operations to verify patch applicability on home /u01/app/19.3.0/grid

Patch applicability verified successfully on home /u01/app/19.3.0/grid

 

 

Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19.3.0/dbhome_1

Patch applicability verified successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Executing patch validation checks on home /u01/app/19.3.0/grid

Patch validation checks successfully completed on home /u01/app/19.3.0/grid

 

 

Executing patch validation checks on home /u01/app/oracle/product/19.3.0/dbhome_1

Patch validation checks successfully completed on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Verifying SQL patch applicability on home /u01/app/oracle/product/19.3.0/dbhome_1

SQL patch applicability verified successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

OPatchAuto successful.

 

--------------------------------Summary--------------------------------

 

Analysis for applying patches has completed successfully:

 

Host:oldv44t

CRS Home:/u01/app/19.3.0/grid

Version:19.0.0.0.0

 

 

==Following patches were SUCCESSFULLY analyzed to be applied:

 

Patch: /u01/patches/39036936/39039430

Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-14_13-44-46PM_1.log

 

Patch: /u01/patches/39036936/39055473

Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-14_13-44-46PM_1.log

 

Patch: /u01/patches/39036936/39107825

Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-14_13-44-46PM_1.log

 

Patch: /u01/patches/39036936/39107855

Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-14_13-44-46PM_1.log

 

Patch: /u01/patches/39036936/39034528

Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-14_13-44-46PM_1.log

 

 

Host:oldv44t

RAC Home:/u01/app/oracle/product/19.3.0/dbhome_1

Version:19.0.0.0.0

 

 

==Following patches were SKIPPED:

 

Patch: /u01/patches/39036936/39055473

Reason: This patch is not applicable to this specified target type - "rac_database"

 

Patch: /u01/patches/39036936/39107825

Reason: This patch is not applicable to this specified target type - "rac_database"

 

Patch: /u01/patches/39036936/39107855

Reason: This patch is not applicable to this specified target type - "rac_database"

 

 

==Following patches were SUCCESSFULLY analyzed to be applied:

 

Patch: /u01/patches/39036936/39039430

Log: /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-14_13-47-07PM_1.log

 

Patch: /u01/patches/39036936/39034528

Log: /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-14_13-47-07PM_1.log

 

 

 

OPatchauto session completed at Tue Jul 14 13:50:57 2026

Time taken to complete the session 6 minutes, 45 seconds

[root@oldv44t OPatch]#



Apply Patch

/u01/app/19.3.0/grid/OPatch/opatchauto apply /u01/patches/39036936

 

OPatchauto session is initiated at Wed Jul 15 01:10:48 2026

 

System initialization log file is /u01/app/19.3.0/grid/cfgtoollogs/opatchautodb/systemconfig2026-07-15_01-10-52AM.log.

 

Session log file is /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/opatchauto2026-07-15_01-11-11AM.log
The id for this session is 6Y14

 

Executing OPatch prereq operations to verify patch applicability on home /u01/app/19.3.0/grid
Patch applicability verified successfully on home /u01/app/19.3.0/grid

 

 

Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19.3.0/dbhome_1
Patch applicability verified successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Executing patch validation checks on home /u01/app/19.3.0/grid
Patch validation checks successfully completed on home /u01/app/19.3.0/grid

 

 

Executing patch validation checks on home /u01/app/oracle/product/19.3.0/dbhome_1
Patch validation checks successfully completed on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Verifying SQL patch applicability on home /u01/app/oracle/product/19.3.0/dbhome_1
SQL patch applicability verified successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Preparing to bring down database service on home /u01/app/oracle/product/19.3.0/dbhome_1
No step execution required.........

 

 

Performing prepatch operations on CRS - bringing down CRS service on home /u01/app/19.3.0/grid
Prepatch operation log file location: /u01/app/grid/crsdata/oldv44t/crsconfig/crs_prepatch_apply_inplace_oldv44t_2026-07-15_01-17-53AM.log
CRS service brought down successfully on home /u01/app/19.3.0/grid

 

 

Performing prepatch operation on home /u01/app/oracle/product/19.3.0/dbhome_1
Prepatch operation completed successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Start applying binary patch on home /u01/app/oracle/product/19.3.0/dbhome_1
Binary patch applied successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Running rootadd_rdbms.sh on home /u01/app/oracle/product/19.3.0/dbhome_1
Successfully executed rootadd_rdbms.sh on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Performing postpatch operation on home /u01/app/oracle/product/19.3.0/dbhome_1
Postpatch operation completed successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

 

Start applying binary patch on home /u01/app/19.3.0/grid
Binary patch applied successfully on home /u01/app/19.3.0/grid

 

 

Running rootadd_rdbms.sh on home /u01/app/19.3.0/grid
Successfully executed rootadd_rdbms.sh on home /u01/app/19.3.0/grid

 

 

 

Performing postpatch operations on CRS - starting CRS service on home /u01/app/19.3.0/grid
Postpatch operation log file location: /u01/app/grid/crsdata/oldv44t/crsconfig/crs_postpatch_apply_inplace_oldv44t_2026-07-15_01-34-22AM.log
CRS service started successfully on home /u01/app/19.3.0/grid

 

 

Preparing home /u01/app/oracle/product/19.3.0/dbhome_1 after database service restarted
No step execution required.........

 

 

Trying to apply SQL patch on home /u01/app/oracle/product/19.3.0/dbhome_1
SQL patch applied successfully on home /u01/app/oracle/product/19.3.0/dbhome_1

 

OPatchAuto successful.

 

--------------------------------Summary--------------------------------

 

Patching is completed successfully. Please find the summary as follows:

 

Host:oldv44t
RAC Home:/u01/app/oracle/product/19.3.0/dbhome_1
Version:19.0.0.0.0
Summary:

 

==Following patches were SKIPPED:

 

Patch: /u01/patches/39036936/39055473
Reason: This patch is not applicable to this specified target type - "rac_database"

 

Patch: /u01/patches/39036936/39107825
Reason: This patch is not applicable to this specified target type - "rac_database"

 

Patch: /u01/patches/39036936/39107855
Reason: This patch is not applicable to this specified target type - "rac_database"

 

 

==Following patches were SUCCESSFULLY applied:

 

Patch: /u01/patches/39036936/39034528
Log: /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-15_01-18-58AM_1.log

 

Patch: /u01/patches/39036936/39039430
Log: /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-15_01-18-58AM_1.log

 

 

Host:oldv44t
CRS Home:/u01/app/19.3.0/grid
Version:19.0.0.0.0
Summary:

 

==Following patches were SUCCESSFULLY applied:

 

Patch: /u01/patches/39036936/39034528
Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-15_01-26-13AM_1.log

 

Patch: /u01/patches/39036936/39039430
Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-15_01-26-13AM_1.log

 

Patch: /u01/patches/39036936/39055473
Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-15_01-26-13AM_1.log

 

Patch: /u01/patches/39036936/39107825
Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-15_01-26-13AM_1.log

 

Patch: /u01/patches/39036936/39107855
Log: /u01/app/19.3.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-07-15_01-26-13AM_1.log

 

 

OPatchauto session completed at Wed Jul 15 01:44:07 2026
Time taken to complete the session 33 minutes, 15 seconds

OPatch succeeded.

Repeat this on all nodes

Start Services

crsctl start cluster -all

srvctl start asm

srvctl start listener

srvctl start database -d PRODDB

Execute Datapatch

cd $ORACLE_HOME/OPatch

./datapatch -verbose

Verify:

SQL Patching tool complete.

Post-Patching Validation

Database


ACTION_TIME                      ACTION          NAMESPACE  VERSION                        ID COMMENTS                       BUNDLE_SER

-------------------------------- --------------- ---------- ---------------------- ---------- ------------------------------ ----------

22-DEC-22 09.38.15.371287 AM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.3.0.0.0

                                                                                              to 19.15.0.0.0: Release_Update

                                                                                               - 220331125408

 

21-JAN-23 01.16.07.522015 AM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.15.0.0.0

                                                                                               to 19.17.0.0.0: Release_Updat

                                                                                              e - 220924224051

 

15-DEC-23 09.00.02.923597 PM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.17.0.0.0

                                                                                               to 19.21.0.0.0: Release_Updat

                                                                                              e - 230930151951

 

26-SEP-24 10.39.15.082006 PM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.21.0.0.0

                                                                                               to 19.24.0.0.0: Release_Updat

                                                                                              e - 240627235157

 

10-MAR-25 11.41.58.200462 PM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.24.0.0.0

                                                                                               to 19.26.0.0.0: Release_Updat

                                                                                              e - 250118124854

 

10-JUL-25 12.04.10.912398 AM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.26.0.0.0

                                                                                               to 19.27.0.0.0: Release_Updat

                                                                                              e - 250406131139

 

22-JAN-26 03.02.24.271925 AM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.27.0.0.0

                                                                                               to 19.29.0.0.0: Release_Updat

                                                                                              e - 251002005342

 

21-FEB-26 01.36.42.117186 AM     RU_ROLLBACK     SERVER     19.0.0.0.0                        Patch rolled back from 19.29.0

                                                                                              .0.0 to 19.27.0.0.0: Release_U

                                                                                              pdate - 250406131139

 

15-JUL-26 01.40.49.914347 AM     RU_APPLY        SERVER     19.0.0.0.0                        Patch applied from 19.27.0.0.0

                                                                                               to 19.31.0.0.0: Release_Updat

                                                                                              e - 260514003012

 

                                 BOOTSTRAP       DATAPATCH  19                                RDBMS_19.31.0.0.0DBRU_LINUX.X6

                                                                                              4_260424.2

 

 

10 rows selected.

 

 

  PATCH_ID  PATCH_UID SOURCE_VERSION  STATUS                    ACTION_TIME                      DESCRIPTION

---------- ---------- --------------- ------------------------- -------------------------------- ----------------------------------------------------------------------

  33806152   24713297 19.1.0.0.0      SUCCESS                   22-DEC-22 09.38.43.845617 AM     Database Release Update : 19.15.0.0.220419 (33806152)

  34419443   24972075 19.15.0.0.0     SUCCESS                   21-JAN-23 01.18.07.655757 AM     Database Release Update : 19.17.0.0.221018 (34419443)

  35643107   25405995 19.17.0.0.0     SUCCESS                   15-DEC-23 09.04.12.148086 PM     Database Release Update : 19.21.0.0.231017 (35643107)

  36582781   25751445 19.21.0.0.0     SUCCESS                   26-SEP-24 10.39.15.073972 PM     Database Release Update : 19.24.0.0.240716 (36582781)

  37260974   26040769 19.24.0.0.0     SUCCESS                   10-MAR-25 11.41.58.191910 PM     Database Release Update : 19.26.0.0.250121 (37260974)

  37642901   27123174 19.26.0.0.0     SUCCESS                   10-JUL-25 12.04.10.902827 AM     Database Release Update : 19.27.0.0.250415 (37642901)

  38291812   28130960 19.27.0.0.0     SUCCESS                   22-JAN-26 03.02.24.263485 AM     Database Release Update : 19.29.0.0.251021 (38291812)

  38291812   28130960 19.29.0.0.0     SUCCESS                   21-FEB-26 01.36.42.108378 AM     Database Release Update : 19.29.0.0.251021 (38291812)

  39034528   28740323 19.27.0.0.0     SUCCESS                   15-JUL-26 01.40.49.902641 AM     Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528)

 

9 rows selected.

 

 

COMP_ID              COMP_NAME                                VERSION         STATUS

-------------------- ---------------------------------------- --------------- ---------------

APS                  OLAP Analytic Workspace                  19.0.0.0.0      VALID

CATALOG              Oracle Database Catalog Views            19.0.0.0.0      VALID

CATJAVA              Oracle Database Java Packages            19.0.0.0.0      VALID

CATPROC              Oracle Database Packages and Types       19.0.0.0.0      VALID

CONTEXT              Oracle Text                              19.0.0.0.0      VALID

DV                   Oracle Database Vault                    19.0.0.0.0      VALID

JAVAVM               JServer JAVA Virtual Machine             19.0.0.0.0      VALID

OLS                  Oracle Label Security                    19.0.0.0.0      VALID

ORDIM                Oracle Multimedia                        19.0.0.0.0      VALID

OWM                  Oracle Workspace Manager                 19.0.0.0.0      VALID

RAC                  Oracle Real Application Clusters         19.0.0.0.0      VALID

SDO                  Spatial                                  19.0.0.0.0      VALID

XDB                  Oracle XML Database                      19.0.0.0.0      VALID

XML                  Oracle XDK                               19.0.0.0.0      VALID

XOQ                  Oracle OLAP API                          19.0.0.0.0      VALID

 

15 rows selected.

 

SQL>

Inventory

opatch lsinventory


Cluster

crsctl stat res -t

Listener

lsnrctl status

ASM

asmcmd lsdg

Data Guard Validation

Verify redo transport.

select process,status from v$managed_standby;

select transport_lag,apply_lag
from v$dataguard_stats;

Verify Broker.

dgmgrl

show configuration;

Expected

SUCCESS

OEM Validation

  • Verify all targets are Up.

  • Confirm no agent upload backlog.

  • Check monitoring alerts.

  • Validate metric collection.

  • Confirm no critical incidents after restart.


Health Checks

  • Database open successfully

  • Listener registered services

  • CRS healthy

  • ASM mounted

  • RMAN backup tested

  • Data Guard synchronized

  • OEM monitoring normal

  • Application connectivity verified


Troubleshooting

IssueResolution
OPatch version mismatchUpgrade OPatch
Conflict detectedResolve conflicts before applying
Datapatch failureReview sqlpatch_invocation.log
CRS startup issueReview crsd.log
Listener not registeringRun ALTER SYSTEM REGISTER;
Invalid objectsExecute utlrp.sql
Data Guard lagRestart MRP and verify redo transport

Best Practices

  • Perform a full RMAN backup before patching.

  • Apply Grid Infrastructure patches before Database Home patches.

  • Use opatchauto for RAC environments.

  • Always execute datapatch after applying an RU.

  • Validate application connectivity before handing the environment back to users.

  • Monitor the environment closely for at least 24 hours after patching.

  • Check Oracle's latest release notes and any known issues for the RU before production deployment, as Oracle may publish revisions or temporary holds for specific environments.