ORACLE DATABASE 12C TO 19C UPGRADE Complete Guide

 

1. Introduction

Oracle Database 19c is Oracle’s long-term support (LTS) release, designed to provide enhanced stability, security, performance, and extended support for enterprise workloads. Upgrading existing databases from Oracle 12c to Oracle 19c is a critical step for organizations aiming to maintain vendor support, leverage modern database capabilities, and ensure long-term operational reliability.

 

In modern enterprise environments—where database stability, compatibility, and minimal downtime are business-critical—performing a controlled and validated upgrade from Oracle 12c to Oracle 19c ensures:

• Continued vendor support with a long-term supported release
• Improved database performance and optimizer enhancements
• Enhanced security features and patching capabilities
• Compatibility with modern applications and infrastructure
• Improved manageability and reliability of database operations
• Reduced operational risk through standardized upgrade procedures

 

This document provides a complete end-to-end implementation guide for upgrading an Oracle Database from version 12c to 19c in a production environment. The upgrade process includes database preparation, backup and recovery, software compatibility alignment, dictionary upgrade, and post-upgrade validation to ensure data integrity and system stability.

 

 

2. Objective

The primary objectives of this upgrade are:

  • Upgrade Oracle Database from 12c to 19c
  • Migrate the database to a new server
  • Ensure data integrity and consistency
  • Minimize downtime and risk
  • Align the database with Oracle-supported long-term releases

3. Scope

This document covers:

  • Single-instance database upgrade
  • Cross-server migration
  • RMAN-based backup and restore
  • Manual upgrade using catupgrd.sql

This document does not cover:

  • Oracle RAC upgrade
  • Multitenant (CDB/PDB) conversion
  • AutoUpgrade or DBUA-based upgrades

4. Prerequisites

Before starting the upgrade, ensure the following prerequisites are met:

  • Source database running on Oracle 12c (12.2.0.1)
  • Target server installed with Oracle Database 19c software
  • Sufficient disk space for datafiles, archivelogs, and backups
  • Valid Oracle user permissions (sysdba)
  • RMAN backup success verification
  • Network connectivity between source and target servers
  • Database in ARCHIVELOG mode

5. Environment Details

Source Environment (12c)

  • Server Name: srv5
  • Database Name: PROD
  • Oracle Version: 12.2.0.1
  • Database Type: Single Instance
  • OS User: oracle

 

Target Environment (19c)

  • Server Name: srv6
  • Database Name: PROD
  • Oracle Version: 19.3.0.0.0
  • Oracle Home: /u01/app/oracle/product/19.0.0/dbhome_1
  • OS User: oracle

6. Upgrade Methodology

The upgrade is performed using the following approach:

1.    Generate PFILE from source SPFILE

2.    Modify initialization parameters for 19c

3.    Take RMAN full backup of source database

4.    Transfer backup to target server

5.    Restore controlfile and database on target

6.    Perform recovery

7.    Start database in UPGRADE mode

8.    Run Oracle upgrade scripts

9.    Perform post-upgrade validation

 

7. Implementation Steps

7.1 Validate Source Database (Oracle 12c) – srv5

This step confirms the health, readiness, and compatibility of the source database before initiating the upgrade. Performing these checks ensures the database is in a stable state and that all required components are valid.

 

 

 

 

7.2 Take Full RMAN Backup of Source Database (12c) – srv5

A complete RMAN backup is taken to ensure a consistent copy of the database is available for restore on the target 19c server. This backup includes datafiles, archivelogs, and the control file.

 


7.3 Transfer RMAN Backup to Target Server (srv6) and Prepare Directory Structure

After completing the full RMAN backup on the source server (srv5), the backup pieces must be securely transferred to the target 19c server (srv6). This step ensures that all required backup files—datafiles, archivelogs, and control file—are available for the restore and upgrade process.

 On Source (srv5)

 

 

 

On Target (srv6)

  

 

7.4 Create PFILE from SPFILE and Prepare Initialization Parameters for 19c (Target Server)

Before restoring the database on the 19c server, the initialization parameters must be aligned with the new environment. Since the SPFILE from the 12c system cannot be used directly on the 19c home, a PFILE is generated, reviewed, and transferred to the target server for modification.

7.5 Modify PFILE for 19c, Start Instance, and Restore Control File (srv6)

After transferring the PFILE from the 12c environment, the parameters must be updated to match the 19c server’s directory structure and compatibility requirements. Once updated, the instance is started in NOMOUNT mode to allow the control file restore.

 

 

7.6 Restore and Recover the Database Using RMAN (srv6)

With the control file restored, the next step is to mount the database, catalog the backup pieces, restore all datafiles, and perform media recovery using the archived logs.

 

7.7 Perform the Database Upgrade to Oracle 19c

With the database fully restored and recovered on the 19c server, the next step is to perform the actual upgrade of the data dictionary and internal database components. Oracle provides the catupgrd.sql script, executed through the catctl.pl utility, to automate and parallelize the upgrade process.

The upgrade process executed all phases from 0 to 107, covering catalog updates, CATPROC rebuilds, component upgrades, and post‑upgrade tasks. These phases ensure that every internal database structure is migrated from the 12c format to the 19c data dictionary model.

 

 

 

 

 

 

 

7.8 Post‑Upgrade Validation of Oracle 19c Database (srv6)

After completing the upgrade using catupgrd.sql, it is essential to verify that the database has opened successfully in normal mode, all components are upgraded, and the physical and logical structures remain intact. This step confirms the stability and readiness of the upgraded 19c environment.

 

 

 

  

 

  


8. Post-Upgrade Tasks

After the database has been successfully upgraded to Oracle 19c and validated, several post‑upgrade tasks must be executed to ensure the environment is fully optimized, stable, and ready for production use. These tasks finalize the upgrade by recompiling invalid objects, refreshing dictionary statistics, and confirming the database version

  • Recompile invalid objects:

                   @?/rdbms/admin/utlrp.sql

  • Gather dictionary statistics:

                    EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;

  • Validate database version:

                    SELECT version FROM v$instance;


9. Validation Checklist

  • Database opens successfully
  • All components show status as UPGRADED
  • No invalid system objects
  • Application connectivity tested
  • Backup jobs validated

10. Risks and Mitigation

Risk

Mitigation

Upgrade failure

Full RMAN backup available

Missing archivelogs

RESETLOGS and upgrade mode

Incompatible parameters

Pre-upgrade validation

Downtime

Planned maintenance window


11. Conclusion

This implementation successfully completes the upgrade of the Oracle Database from version 12c to 19c, delivering a stable, secure, and long-term supported database platform suitable for enterprise environments.

By following a structured and validated upgrade approach, the database transition was performed while ensuring data integrity, system consistency, and operational continuity. The upgraded environment benefits from Oracle 19c’s long-term support model, enhanced performance optimizations, improved security features, and increased overall reliability.

This upgrade aligns with enterprise best practices for:

• Long-term database support and lifecycle management
• Improved stability and performance
• Enhanced security and patching compliance
• Reduced operational risk
• Future-ready application compatibility

The successful completion of this upgrade ensures the database environment is fully prepared to support mission-critical workloads, meet organizational compliance requirements, and adapt to evolving business and technology demands.