Summary

This blog provides a visual, easy-to-follow guide for upgrading Oracle Database from 12c to 19c using the Database Upgrade Assistant (DBUA). You’ll learn about pre-upgrade tasks, GUI-based upgrade steps, and post-upgrade validations to ensure a successful migration.

Introduction

Oracle Database 19c is a long-term support version offering improved performance, stability, and security. Upgrading to 19c ensures extended support and compatibility with modern features. This post walks through upgrading your Oracle 12c database to 19c using DBUA, complete with visual placeholders.

Environment Setup

ParameterValue
Hostname<Your HostName>
Database Name<Your DBName>
Current Version12.2.0.1
Oracle Home/u01/app/oracle/product/12.2.0/db_1
Datafile Location/path/to/oradata/CID
Target Version19.4.0.0.0
Target Oracle Home/u01/app/oracle/product/19.0.0/db_1

Oracle 19c Database Upgrade from 12c Step-by-Step

1. Pre-Upgrade Tasks

💡Tip: Always perform a complete RMAN backup before upgrading.

rman target /
backup database plus archivelog;

Backup Configuration Files

These files are critical for network and database connectivity.

Run the following commands:

cd /u01/app/oracle/product/12.2.0/db_1/network/admin/
cp -p listener.ora sqlnet.ora tnsnames.ora /u01/backup/
ls -ltr /u01/backup/*.ora
cd /u01/app/oracle/product/12.2.0/db_1/dbs/
cp -p spfileoracle12c.ora orapworacle12c /u01/backup/

Run the 19c Pre-Install Package

Ensure all OS-level prerequisites are met:

yum install -y oracle-database-preinstall-19c
yum update -y

Enable Xming and X11 forwarding to open the DBUA GUI.

Verify Tablespace Sizes

Check available free space in SYSTEM and SYSAUX tablespaces:

set line 1000
set pages 5000
col tablespace_name for a30
col file_name for a80
select c.tablespace_name,a.file_name,a.total_space,b.free_space, round(b.free_space/a.total_space *100,2) "Free%" from dba_data_files
 a, dba_free_space b where a.file_id=b.file_id(+) order by tablespace_name;

Check for Invalid Objects

SELECT COUNT(*) FROM dba_objects WHERE status='INVALID';

Gather Dictionary Stats

EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;

Create Flashback Restore Point

ALTER SYSTEM SET db_recovery_file_dest_size=10G;
CREATE RESTORE POINT pre_upgrade GUARANTEE FLASHBACK DATABASE;

2. Install Oracle 19c Software

🧱 Step 1: Create Oracle 19c home and set permissions:

mkdir -p /u01/app/oracle/product/19.3/db_home
chown -R oracle:oinstall /u01/app/oracle

🧩 Step 2: Download and unzip the software:

cd /u01/app/oracle/product/19.3/db_home
unzip -qo /tmp/LINUX.X64_193000_db_home.zip

🛠️ Step 3: Run a silent install:

./runInstaller -ignorePrereq -waitforcompletion -silent \
-responseFile ${ORACLE_HOME}/install/response/db_install.rsp \
ORACLE_HOME=/u01/app/oracle/product/19.3/db_home \
ORACLE_BASE=/u01/app/oracle DECLINE_SECURITY_UPDATES=true

3. Upgrade Using Database Upgrade Assistant (DBUA)

Launch DBUA from the 19c home:

cd /u01/app/oracle/product/19.3.0/db_home/bin
./dbua

 Step 1: Select the database and provide SYSDBA credentials.

Oracle 12c to 19c Database Upgrade Manual Select Database

 Step 2: Wait for prerequisite checks and resolve any issues.

Oracle 12c to 19c Database Upgrade Manual Prerequisite Checks

 Step 3: Choose upgrade and recovery options.

Oracle 12c to 19c Database Upgrade Manual Select Upgrade Options
Oracle 12c to 19c Database Upgrade Manual Select Recovery Options

 Step 4: Configure listener and network settings.

Oracle 12c to 19c Database Upgrade Manual Configure Network

 Step 5: Review the summary and start the upgrade.

Oracle 12c to 19c Database Upgrade Manual Review Summary

Step 6: Wait for DBUA to complete the upgrade.

Oracle 12c to 19c Database Upgrade Manual Complete Upgrade Progress

Step 7: Review the results, then click Close.

Oracle 12c to 19c Database Upgrade Manual Review Results

4. Post-Upgrade Tasks

📂 Verify /etc/oratab reflects the new 19c home:

cat /etc/oratab | grep -i prod

Check Database Components

SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM dba_registry;

Drop Restore Point

DROP RESTORE POINT PRE_UPGRADE;

Set COMPATIBLE Parameter

⚠️ Note: Only change this after confirming stability.

ALTER SYSTEM SET COMPATIBLE = '19.0.0' SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

Conclusion

Using DBUA for your Oracle upgrade provides an intuitive graphical interface that automates many manual tasks. After completion, always validate database status, check invalid objects, and run datapatch to apply the latest SQL patches.

Check out our Oracle Database Administration and Support Services.

Contact us for any questions.