1. Introduction
Upgrading Oracle databases is essential to ensure
improved performance, security, and access to new features. Oracle Database 19c
is a Long-Term Release (LTR) that provides enhanced stability, better optimizer
performance, and extended support compared to Oracle 12c (12.2.0.1).
This document outlines the complete process of
upgrading an Oracle 12c database to 19c using the Database Upgrade Assistant
(DBUA). DBUA provides a guided, automated, and reliable approach to upgrade
databases while minimizing manual effort and reducing risk.
The upgrade process includes pre-upgrade checks,
environment validation, execution of upgrade using DBUA, and post-upgrade
verification to ensure database integrity and performance.
2. Objective / Scope
Objective
- Upgrade
Oracle Database from 12.2.0.1 to 19c
- Ensure
minimal downtime and data integrity
- Validate
database readiness before upgrade
- Perform
upgrade using DBUA (GUI-based approach)
- Execute
post-upgrade validation and optimization steps
Scope
- Source
Database: Oracle 12c (12.2.0.1)
- Target
Database: Oracle 19c
- Architecture:
Multitenant (CDB with PDB)
- Upgrade
Method: DBUA (Database Upgrade Assistant)
- Includes:
- Pre-upgrade
checks and fixups
- Backup
and recovery preparation
- DBUA
upgrade execution
- Post-upgrade
validation and cleanup
3. Environment Details
|
Parameter |
Details |
|
Hostname |
srv5.cloudmap.in |
|
Database Name |
NEXUS |
|
Source Version |
12.2.0.1 |
|
Target Version |
19c |
|
Architecture |
CDB (Single Instance) |
|
PDB Name |
APP_PDB |
|
Source Oracle Home |
/u01/app/oracle/product/12.2.0.1/db_1 |
|
Target Oracle Home |
/u01/app/oracle/product/19.0.0/dbhome_1 |
|
Operating System |
Linux x86 64-bit |
|
Upgrade Method |
DBUA |
4. Prerequisites
Before starting the upgrade, ensure the following:
- Full
database backup is available
- Backup
of configuration files:
- tnsnames.ora
- listener.ora
- sqlnet.ora
- spfile
/ pfile
- password
file
- Database
is in ARCHIVELOG mode
- Sufficient
space in Fast Recovery Area (FRA)
- Run
Pre-Upgrade Information Tool (preupgrade.jar)
- Execute:
- preupgrade_fixups.sql
- Ensure:
- No
critical errors in preupgrade logs
- Required
tablespace sizes are sufficient
- Remove
unnecessary objects:
- Purge
recycle bin
- Gather
statistics:
- Dictionary
statistics
- Fixed
object statistics
5. Implementation
(Upgrade Steps)
5.1 Oracle
19c Software Availability
- Verified that Oracle
19c Oracle Home is installed.
/u01/app/oracle/product/19.0.0/dbhome_1
- Oracle 19c Oracle
Home is already installed and properly configured on my server. Hence, the
upgrade process will proceed using the existing 19c software without any
additional installation.
- If not available,
download and install Oracle 19c software before proceeding.
5.2 Source Database Validation
Verify oratab
Check PDBs
Check Compatibility
Database Version
Component Status
5.3 Backup Activities
Ensure complete backup
before upgrade:
5.3.1 Database Backup
- Confirm
RMAN/full database backup is available. -- I have it.
5.3.2 Network
Configuration Backup
5.3.3 Parameter &
Password Files Backup
5.4 Run Pre-Upgrade Tool
5.5 Review Pre-Upgrade
Report
Observations
- No
mandatory actions.
- Recommended:
- Gather
fixed object stats
- Verify
tablespace sizing
- Timezone
upgrade required post-upgrade
5.6
Tablespace Verification
** Tablespace Auto extend
ON and max size also set, hence no action taken.
✔ No action required.
5.7 Initialization
Parameters Check
- No
changes required based on preupgrade report.
5.8 Optimize Database
Before Upgrade
5.9 Execute Pre-Upgrade
Fixups
Oracle
strongly recommends that you run the Pre-Upgrade Information Tool before
starting the upgrade with DBUA. Although DBUA runs the Pre-Upgrade Information
Tool as part of the pre-requisite checks, it is good practice to run the tool
ahead of time in order to analyze the database and take actions that can
decrease downtime for upgrading.
✔ Fixups executed successfully.
5.10 Archive Log &
FRA Verification
✔ Sufficient space available.
5.11 Create Guaranteed
Restore Point
*** NO need to enable
Flashback Database from 11.2.0.1 onwards
*** Database MUST be in
Archive Log mode
*** MUST NOT change the
compatible parameter to higher version
✔ Restore point created successfully.
5.12 Set Environment for
DBUA
Enable GUI
5.13 Run DBUA (Database
Upgrade Assistant)
- Launch
DBUA:
Select the source database (12c) for upgrade or
migration.
Choose database Nexus, provide SYSDBA credentials, and click Next.
Validate that all required PDBs are selected for
upgrade and proceed by clicking Next.
DBUA automatically runs prerequisite checks.
Ensure all checks pass successfully and click Next.
Enable required upgrade options & Click Next
to continue.
Select FRA (Fast Recovery Area) and confirm the
previously created Guaranteed Restore Point for safe rollback if
required.
DBUA updates the listener configuration:
- Adds
selected listener to target Oracle Home
- Removes
entry from source listener.ora
- Reloads
listener configuration in both source and target environments. Click Next.
Uncheck Enterprise Manager Database Express if
not required and proceed by clicking Next.
Review the upgrade summary and analyze all
configurations. Verify details before proceeding.
Click Finish to begin the upgrade process.
Monitor upgrade execution status.
After completion, verify:
- Source
and target database details
- Upgrade
success status
- Total
completion time
5.14 Post-Upgrade
Verification
5.14.1 Verify oratab
5.14.2 Verify Database
Version
5.14.3 Verify Timezone
Version
5.14.4 Check Invalid
Objects
5.14.5 Verify Component
Status
5.15 Execute Post-Upgrade
Fixups
5.16 Drop Restore Point
5.18 Update COMPATIBLE
Parameter
Warning:
If the value of COMPATIBLE parameter is changed to 19.0.0 then if for some
reasons database needs to be downgraded to 12.2.0.1 the DBA would not have any
option other than export/import to downgrade the database. But if this
parameter is left unchanged for sometime to see how the database performs after
upgrade then it is very easy and fast to downgrade the database if for some
reason it is required to be downgraded.
If
you change COMPATIBLE you can directly drop your restore points as they are
useless. You can’t use Flashback Database to restore point back across a
compatibility change of your database.
ALTER SYSTEM SET
compatible='19.0.0' SCOPE=SPFILE;
- Restart
database after change.
6.
Risks and Mitigation
⚠ Risks
- Upgrade
failure due to unresolved pre-check issues
- Insufficient
disk space or FRA size
- Performance
degradation after upgrade
- Invalid
objects or component failures
- Data
inconsistency in case of interruption
✅
Mitigation
- Always
perform upgrade in UAT/Test environment first
- Take
complete backup before upgrade
- Use
Guaranteed Restore Point for fallback
- Resolve
all preupgrade warnings and fixups
- Monitor
logs during DBUA execution
- Perform
thorough post-upgrade validation
7. Key
Observations
- Upgrade from
12.2.0.1 to 19c completed successfully using DBUA with minimal downtime
- Pre-upgrade tool
identified no critical issues; only recommended actions were present
- Fixup scripts
(preupgrade_fixups.sql) resolved required pre-upgrade conditions
- Database remained in
ARCHIVELOG mode, enabling safe upgrade and recovery options
- Flashback Guaranteed
Restore Point provided a reliable rollback mechanism
- DBUA automatically
handled:
- Listener
configuration updates
- Environment
switching between Oracle Homes
- Component upgrades
across CDB and PDB
- Post-upgrade tasks
ensured database stability and optimization
8. Benefits
·
Improved
database performance and optimizer enhancements in 19c
·
Long-term
support release (19c) ensures stability and fewer frequent upgrades
·
Enhanced
security features and compliance capabilities
·
Better
resource management in multitenant architecture (CDB/PDB)
·
Reduced
manual effort due to automated DBUA upgrade process
·
Minimal
impact on applications (no major structural changes required)
·
Built-in
pre-checks reduce upgrade risks
10.
Conclusion
The upgrade from Oracle 12c (12.2.0.1) to
Oracle 19c using DBUA was successfully completed following a structured and
validated approach. Pre-upgrade checks ensured readiness, while DBUA simplified
the upgrade execution with minimal manual intervention.
Post-upgrade validation confirmed database
integrity, component status, and performance stability. The database is now
running on Oracle 19c, benefiting from improved performance, enhanced security,
and long-term support
11. Future
Enhancements
Enable AutoUpgrade utility for
future upgrades (automation)
Implement performance tuning using
AWR/ASH reports
Upgrade Timezone version to latest
(if pending)
Enable Unified Auditing for better
monitoring
Integrate with:
- Data
Guard
- RMAN
catalog upgrades
Automate:
- Health
checks
- Post-upgrade
validation scripts
Evaluate 19c new features:
- Real-Time
Statistics
- Automatic
Indexing
- SQL
Plan Management improvements