Oracle Restart Database Upgrade 12c to 19c using Autoupgrade.

Today we are going to see a step by step, how to upgrade an Oracle restart Database 12c to 19c.
 
1.  Software downloads
 JDK 8: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Oracle 19.3 Database and Grid Infrastructure:  https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c
Database Release Update 19.11: Patch 32545013
Grid Infrastructure Release Update 19.11 : Patch 32545008
Autoupgrade https://support.oracle.com/epmos/faces/DocumentDisplay?id=2485457.1
OPatch : Patch 6880880
 
2. Prerequisites Grid Infrastructure
 
According to the Oracle Document 2539751.1, you must apply the patch to fix the bug 21255373 in the 12.1.0.2 Grid home directory. Check if this patche applied in your environment:

 

opatch lsinventory |grep 21255373
 
If you have not installed it, the 12.1.0.2.190416 GI PSU patch 29176115 contains the fix for this bug.
 
3. Upgrade Grid Infrastructure to 19.11
Create a directory on Oracle Grid Infrastructure
mkdir -p /u01/app/grid/product/19.3.0/grid
 
Copy the 19c grid software to the folder and unzip it:
cd /u01/app/grid/product/19.3.0/grid

unzip -q /tmp/binaries/LINUX.X64_193000_db_home.zip

 

3.1   Pre-requisites checks
 
According to Oracle document 1457357.1, the user that owns Grid needs to run the Orachk tool.
Make sure to download the latest version of Orachk from AHF , then run the following commands:
cd /u01/app/grid/product/19.3.0/grid/suptools/orachk

export GRID_HOME= /u01/app/grid/product/19.3.0/grid

export RAT_PROMPT_WAIT_TIMEOUT=15

export RAT_ORACLE_HOME=/u01/app/grid/12.1.0

export RAT_DB=12.1.0.2.0

cd /u01/app/grid/product/19.3.0/grid/suptools/orachk

./orachk -u -o pre -profile clusterware,as


This process generates an HTML report as shown in the following image:
Make sure to review the report for all failed, critical, and warning checks and resolve them before you move to the next step.
3.3 Install GI RU 19.11
You need to apply the patch 32545008 in the 19c home directory of the Grid infrastructure.
cd /u01/app/grid/product/19.3.0/grid

 

./gridSetup.sh -silent -applyRU /tmp/binaries/p32545008_19000.zip
 
Finally, it asks to run rootupgrade.sh. Do not run the script yet because you need to run it at the end of the Upgrade.

 

3.4  Validate Grid Infrastructure
Log in as the Grid OS owner user and run the cluster verification utility with the following commands:
cd /u01/app/grid/product/19.3.0/grid/

 

./runcluvfy.sh stage -pre hacfg -fixup -verbose

Verifying node application existence ...PASSED
Verifying check incorrectly sized ASM disks ...PASSED
Verifying ASM disk group free space ...PASSED
Verifying network configuration consistency checks ...PASSED
Verifying file system mount options for path GI_HOME ...PASSED
Verifying /boot mount ...PASSED
Verifying OLR Integrity ...PASSED
Verifying Verify that the ASM instance was configured using an existing ASM parameter file. ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...INFORMATION (PRVG-11250)
Verifying Network interface bonding status of private interconnect network interfaces ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying file system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM filter driver configuration ...PASSED
Verifying Systemd login manager IPC parameter ...PASSED
Verifying Kernel retpoline support ...PASSED
3.5  Upgrade Oracle Grid Infrastructure
Before starting the Upgrade, run the following command to bring down the all database running and ensure that the grid services are running on the server. Make sure cluster upgrade status is normal:
unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID

 

cd /u01/app/grid/product/19.3.0/grid

./gridsetup.sh -silent -ignorePrerequisites -responseFile /u01/app/grid/product/19.3.0/grid/install/response/duts_upgrade.rsp

 

 
Finally, it asks to run rootupgrade.sh. Do run the script to finish the Upgrade.
 
At this point, the process upgrades Grid to 19c, and all the cluster services are running.
crsctl query has softwareversion

 

4. Upgrade Oracle Database 12c to 19.11

 

4.1  Install Oracle 19.3

 

Create a directory on Oracle Database

 

mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1

 

Copy the 19c Oracle Database software to the folder and unzip it:

 

cd /u01/app/oracle/product/19.3.0/dbhom_1    

 

unzip -q /tmp/binaries/LINUX_X64_193000_db_home.zip
 
4.2  Apply Oracle Database RU – 19.11

 

You need to apply the patch 31281355 in the 19c home directory.  

 

cd /u01/app/oracle/product/19.3.0/dbhome_1

 

./runInstaller -silent -applyRU /tmp/binaries/p32545013_19000.zip -responseFile /u01/app/oracle/product/19.3.0/oracle/install/response/duts_upgrade.rsp

 

Finally, it asks to run rootupgrade.sh. Do run the script to finish the Upgrade.

 

4.3  Upgrade from 12c to 19c using Autoupgrade

 

For the Upgrade we’ll use the autoupgrade utility.
Create a directory on Oracle Database

 

mkdir -p /u01/app/oracle/autoupgrade

 

Copy the autoupgrade.jar to the folder:

 

cd /u01/app/oracle/autoupgrade

 

cp /tmp/binaries/autoupgrade.jar .
Create a sample file to use in autoupgrade:

 

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -create_sample_file config

 

mv sample_file.cfg 12c_19c.cfg

vi 12c_19c.cfg

#Global configurations
#Autoupgrade's global directory, non-job logs generated,
#temp files created and other autoupgrade files will be
#send here
global.autoupg_log_dir=/u01/app/oracle/autoupgrade  
#
# Database number 1
#
upg1.dbname=DUTS
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/12.1.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.3.0/dbhome_1
upg1.sid=DUTS
Run autoupgrade in analyze mode:

 

cd /u01/app/oracle/autoupgrade

 

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -12c_19c.cfg -mode analyze
Note the log files which have been created for each database – as we have only run autoupgrade with the Analyze option, the only directory which is created is prechecks directory.

 

For each database which has been analyzed, we can review the HTML file which lists the pre-check warnings and recommendations.
 
Run autoupgrade in fixups mode:

 

cd /u01/app/oracle/autoupgrade

 

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -12c_19c.cfg -mode fixups

 

Run autoupgrade in deploy mode:

 

cd /u01/app/oracle/autoupgrade

 

$ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar autoupgrade.jar -12c_19c.cfg -mode deploy
After completing the migration review the HTML file that lists the items that have been updated update.

 

Change the compatible of Database
alter system set compatible =’19.0.0.0’scope=spfile;
 
Check if the restore point is removed by autoupgrade tool.

 

I hope this helps you!!!

 

Stay tuned, following on twitter @aontalba and on Linkedin

 

André Ontalba

 

Disclaimer: “The postings on this site are my own and don’t necessarily represent my actual employer positions, strategies or opinions. The information here was edited to be useful for general purposes. Specific data and identifications were removed to allow reach generic audience and be useful.”