Oracle 19c AutoUpgrade Utility

The AutoUpgrade utility introduced with Oracle 19c identifies issues before upgrades, performs pre- and postupgrade actions, deploys upgrades, performs postupgrade actions, and starts the upgraded Oracle Database.

In this article we’ll see how this new autoupgrade utility almost completely automates the database upgrade process including pre & post upgrade tasks.

The autoupgrade.jar file is available in the Oracle 19c database software in the $ORACLE_HOME/rdbms/admin directory. The recommendation however is to use the autoupgrade.jar file which can be downloaded from My Oracle Support Document 2485457.1.

oracle> pwd
/apps/oracle/server/19.3.0.0/dbhome_1/rdbms/admin
oracle> ls -ltr autoupgrade.jar
-rw-r--r-- 1 oracle oinstall 3360892 Feb  9  2019 autoupgrade.jar
oracle> $ORACLE_HOME/jdk/bin/java -jar autoupgrade.jar -version
build.version 20190207
build.date 2019/02/07 12:35:56
build.label RDBMS_PT.AUTOUPGRADE_LINUX.X64_190205.1800

Below is the diagram to show workflow of an Autoupgrade process:

Below is the diagram to show various Stages in an Autoupgrade process:

SETUP: The initial stage that the AutoUpgrade utility job manager creates as part of the preparation for starting a job.
GRP: The guaranteed restore point (GRP), which AutoUpgrade creates before starting the upgrade process. This option is only available for Oracle Database Enterprise Edition releases. It is not available for Oracle Database Standard Edition. Even though AutoUpgrade creates a GRP by default, Oracle highly recommends that you perform a backup before starting your upgrade.
PREUPGRADE: The stage in which AutoUpgrade performs checks of your system, based on your current system configuration to determine its readiness for upgrade, such as checking to determine if you have sufficient available disk space.
PRECHECKS: The stage in which AutoUpgrade analyzes your source Oracle home to determine if the database meets the requirements for upgrade.
PREFIXUPS: The stage in which AutoUpgrade performs preupgrade fixups before starting the upgrade. For example, this is the stage in which AutoUpgrade gathers dictionary statistics on the source Oracle home.
DRAIN: The stage during which AutoUpgrade shuts down the database.
DBUPGRADE: The stage in which AutoUpgrade performs the upgrade, and compiles any invalid objects that are found after the upgrade completes.
POSTCHECKS: The stage in which AutoUpgrade performs checks on the target Oracle home (the upgraded Oracle Database) before starting postupgrade fixups.
POSTFIXUPS: The stage in which AutoUpgrade performs processing of postupgrade fixups, such as upgrading the time zone.
POSTUPGRADE: The stage in which AutoUpgrade copies or merges the source Oracle home configuration files (tnsnames.orasqlnet.ora, and other files) to the target Oracle home.

There are four AutoUpgrade modes in which autoupgrade.jar can be called:

  1. Analyze Mode: Setup, Prechecks.
  2. Fixups Mode: Setup, Prechecks, and Prefixups.
  3. Deploy Mode: Setup, Preupgrade, Prechecks, guaranteed restore point (GRP), Prefixups, Drain, DB (database) Upgrade, Postchecks, and Postupgrade. You can run your own scripts before the upgrade (Preupgrade stage) or after the upgrade (Postupgrade stage), or both before and after the upgrade.
  4. Upgrade Mode: Setup, DB (database) Upgrade, Postchecks, and Postfixups.

So as you can see from the workflow and stages, this new autoupgrade utility automates most of the tasks involved in upgrading a database.

In the next post we’ll cover the actual upgrade of Oracle DBs (11gR2, 12cR1, 12cR2, 18cR3) to 19c including both non-CDB and CDB source databases with target database as CDB, covering upgrade as well as conversion from non-cdb to pdb.

2 thoughts on “Oracle 19c AutoUpgrade Utility

  1. Pingback: Upgrade 11gR2 (Non-CDB) to 19c (PDB) using AutoUpgrade | Oracle Database Internal Mechanism

  2. Pingback: Upgrade 12cR2 (Non-CDB) to 19c (PDB) using AutoUpgrade | Oracle Database Internal Mechanism

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.