It’s out now and available since yesterday: AutoUpgrade 21c. Download the newest AutoUpgrade for 19c and 21c upgrades with many new features and improvements.

Photo by Jordan McGee on Unsplash
Download it!
This is the current version of AutoUpgrade:
build.hash 8ee6880 build.version 21.1.1 build.date 2020/12/14 14:41:34 build.max_target_version 21 build.supported_target_versions 12.2,18,19,21 build.type production 48 bug fixes since v21.0.0 release Tag: v21.1.1 Description: This is the release for 21.1.1 MOS only
As usual, download it please from:
What’s new?
- Non-CDB to PDB Upgrades
- AutoUpgrade can upgrade and convert a non-CDB to a PDB in a new CDB in a single operation, or upgrade and then convert a Non-CDB database to a PDB in a pre-existing CDB
- Support for RAC and SI databases
- Unplug-plug upgrade
- AutoUpgrade can perform an unplug of a pluggable database (PDB) from an earlier release source container database (CDB), plug it into a later release target CDB, and then complete all the steps required to upgrade the PDB to the target CDB release
- Supports RAC upgrades (Only for Linux or Unix-based systems)
- Configuration of the RAC management system in the source and target home is automated
- Supports native file systems, ASM and ACFS
- Oracle Restart
- Pluggable databases are supported in a RAC environment
- Ability to pass catctl_options (via config file)
- This enables the DBA to control the level of parallelism for a specific upgrade.
- Restore capability
- AutoUpgrade restore job option allows the DBA to restore database back to source home if upgrade failed or succeeded
- Clear the recovery for a specific job by adding clear_recovery_data on the command line and use jobs parameter to specific exactly which jobs recovery data must be cleared
- Upgrades on Data Guard environments
- AutoUpgrade can detect Oracle Data Guard configurations, and defer shipping logs to standby databases configured for the primary database. It will also detect and defer shipping logs to standby database if the deployment is configured manually. Upon a successfully upgrade of the primary database, upgrades to the standby database must be performed and monitored by the DBA
- AutoUpgrade performance improvements
- utlrp compilations moved out of upgrade into a post fixup
- Improved resume operations: AutoUpgrade keeps track and skips over PDBs databases that have been upgraded successfully
- Replay support was added for upgrades 21 or higher
- AutoUpgrade supports upgrade on CDBs with proxy pdbs
- AutoUpgrade supports upgrade on CDB’s with application containers
- Added additional JSON status information
- Integrated classic pre-upgrade functionality
- The -preupgrade clause of AutoUpgrade replaces the functions previously performed by the manual Pre-Upgrade Information Tool (preupgrade.jar) in previous releases The -mode clause takes one of three values:
- analyze: Check your system for readiness to upgrade
- fixups: Perform fixups as needed on your source Oracle Database release in preparation for upgrade
- postfixups: Perform fixups on your target Oracle Database release after upgrade is completed
- Reports are identical to what the preupgrade.jar originally produced.
- The -preupgrade clause of AutoUpgrade replaces the functions previously performed by the manual Pre-Upgrade Information Tool (preupgrade.jar) in previous releases The -mode clause takes one of three values:
- Starting Oracle Release 21c, Enterprise Manager, DBUA and ORAchk use AutoUpgrade to perform database upgrade readiness
- Starting Oracle Release 21c, FPP performs database upgrades using AutoUpgrade
- Enhanced management of databases using Transparent Data Encryption (TDE)
New fixes and enhancements
Wow – this list is very long. There are 5 enhancements and 43 fixes included in this version. Great work by the team!
As usual, you find the change.log listing all enhancements and fixes at the bottom of MOS Note: 2485457.1 as well as the previous versions of AutoUpgrade.
Enahancements
- AUPG-1860 Improve upgrade resume speed
- AUPG-1698 Use -zip option without a configuration file
- BUG-31859859 Run approot_to_pdb.sql when plugging in an application root
- BUG-31879931 Add utlrp compilations as a post fixup check
- BUG-31902600 Support Proxy pdbs
Fixes
- AUPG-534 Remove invalid_objects_exist reference to dbms_preup fixup
- AUPG-1234 Null pointer exception during Abort processing
- AUPG-1522 Change error message so that DBA knows to specify target_version
- AUPG-1593 Add Manage status support in RAC
- AUPG-1739 Clearer message when DBA interaction is needed
- AUPG-1823 Unclear where logs are located after running preupgrade
- AUPG-1863 Remove the Fixup for post fixed objects statistics
- AUPG-1874 On certain locales, the ORA errors are prefixed by a dot
- AUPG-1895 Query fails for GRP after service has been dropped on Windows
- AUPG-1905 Fix synonyms for timestamp mismatches and log any other issues
- AUPG-1922 Fix locale problem when checking for FRA size
- AUPG-1923 Incorrectly calculating number of pdbs to run together for Replay
- AUPG-1924 Local undo conversion must be done in UPGRADE mode
- AUPG-1938 Restore unplug is failing due to missing argument
- AUPG-1939 Fix NullPointerException during startup
- AUPG-1949 Default sample config file logging directory to cfgtoollogs
- AUPG-1951 Add logging of the command line option
- AUPG-1953 Better formatting of the preupgrade log file
- AUPG-1957 Fix NullPointerException in NonClusterIntoCluster routine
- AUPG-1958 Clearer message for achive_log_on check
- AUPG-1959 Report generation identical to classic preupgrade
- AUPG-1963 Checks deferred until upgrade are now run during fixup stage
- AUPG-1967 Fix database trgowner_no_admndbtrg check for correct privilege
- AUPG-1968 Always load dbmsjdev.sql in post_jvm_mitigat_patch fixup
- AUPG-1970 XML content for tablespaces check is incorrect
- AUPG-1972 Detect if an applied progress table needs recovery
- AUPG-1973 Updated post_jvm_mitigat_patch action message
- AUPG-1975 Preserve empty SPFILE parameters specified by customer
- BUG_31694835 Restore is not setting back DataGuard original configuration
- BUG-31729152 Add ASM management to the auto-login-wallet check
- BUG-31795652 UTLRP is rerunning during resume after a successful upgrade
- BUG-31817695 java.lang.OutOfMemoryError: GC overhead limit exceeded
- BUG-31869539 Validate file_name_convert option
- BUG-31882635 Open PDBs on the other RAC instances
- BUG-31936292 Support ACFS file systems
- BUG-32067940 Use dbname when plugging into a container
- BUG-32080126 Recompiles during post fixups consuming too much CPU
- BUG-32087481 Wrong entry in ORABASETAB creates a misleading message
- BUG-32144845 JAVAVM_STATUS check runs slow with many pdbs
- BUG-32164706 Clearer message for GRP creation failure
- BUG_32251471 Unplug Plug and Upgrade exception during Timezone fixup
- BUG_32261243 Merge source sqlnet.ora with the wrong target
- BUG_32266220 Auto_login_wallet_required Check Fails for 12.1
What’s supported?
With this version of AutoUpgrade, you can not only upgrade to Oracle Database 19c (regardless of which RU you have) but also to 12.2.0.1 and 18c with at least the January 2019 RU and – of course – to Oracle Database 21c as well.
Further Links and Information
- MOS Note: 2485457.1 – AutoUpgrade Tool
- The AutoUpgrade Utility – Start here
- Oracle 19c Upgrade Guide – Using AutoUpgrade for Oracle Database Upgrades
–Mike
Hi Mike ,
from the changelog i noticed it supports DG setup , does it mean it will upgrade the DG as part of the primary upgrade ?
Hi Sam,
yes, it does a partial automation now – but there are still some extra steps needed.
We did ask the team to add also new features the change log – I will update the blog post and write a bit more about it in the next days.
See here what it automates now:
https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/non-cdb-to-pdb-upgrade-guidelines-examples.html#GUID-7985739B-B33B-4BA6-A9FE-FEFC7721FFE8
and what it doesn’t.
Cheers,
Mike
Hi Mike, thanks for the helpful blog! I am learning a lot about the autoupgrade tool from your posts. I had a question regarding conversion from non-CDB to PDB with a new CDB that was added to the tool in this release. The 19c documentation seems to have been updated to say that it is possible now, but doesn’t give details on how to achieve this. The 21c documentation has not yet been updated with this information (still says you need to pre-create the CDB). Will it just create the target_cdb if it doesn’t exist or are there additional parameters needed to get this working?
Hi Matt,
you need to always create the CDB you plan to migrate into beforehand by yourself.
Once you did this, this is the way how to convince AutoUpgrade to plugin a 19c database into a 19c CDB as a new PDB (without doing an upgrade):
https://mikedietrichde.com/2020/08/04/oracle-autoupgrade-between-two-servers-and-plugin/
Cheers,
Mike
Ah ok, I was confused by this line in the changelog, “AutoUpgrade can upgrade and convert a non-CDB to a PDB in a new CDB in a single operation, or upgrade and then convert a Non-CDB database to a PDB in a pre-existing CDB” I would have assumed that if you create it beforehand it is pre-existing.
Hi Mike,
We have 11.2.0.4 DBs using TDE. Autoupgrade 21.1.1 crashes when running the TDE check.
EXECUTE IMMEDIATE ‘select SYS_CONTEXT(”USERENV”, ”CON_ID”) from sys.dual’ INTO cur_con_id;
ORA-02003: invalid USERENV parameter
Regards,
Doug
Hi Doug,
somebody else reported a similar issue with 11.2.0.4 databases.
Can you please use the previous AU tool (scroll down in the download MOS note, the previous versions are still there) as a temp workaround?
Cheers,
Mike
Hi Doug,
this has been reported as
AUPG-1978 Analyze (TDE_IN_USE) fails in encrypted 11.2.0.4 database: UPG-1316
One of my team mates is actively working on the fix already.
Cheers,
Mike
Hi Mike,
on 2 Node RAC on Linux Exadata upgrading of database from 18.7 to 19.9 failed with step
– INFO Executing SQL [select value from v$parameter2 where name=’dg_broker_start’;] in [test1, container:null] – ExecuteSql$SQLClient.run
– ERROR Failed to get DG_BROKER_START parameter with error AutoUpgException [UPG-1711] – DeferStandby.isBrokerEnabled
No standby and DG_BROKER, just a simple 2 instance RAC.
Regards,
Hans
Hi Hans,
sorry to see this.
Did you open an SR for this issue? Then please share the SR number with me and I can ask the developer to have a look at it.
Cheers,
Mike
Hi Mike,
I downloaded the latest version of autoupgrade and want to upgrade 12.2.0.1.200714 CDB database on a 2-node-RAC to 19c.
The analyze fails with
2021-01-19 08:00:22.364 ERROR Database initilization of [TGCDB04X] failed due to [java.sql.SQLException]
2021-01-19 08:00:22.365 ERROR Errors executing [with segments as (select /*+ MATERIALIZE */ tablespace_name, inuse from( select ds.tablespace_na
me, row_number() over (partition by tablespace_name order by 1) rn, round(nvl(sum(ds.bytes) over (partition by ds.tablespace_name),0)/1024,2) as
…
*
ERROR at line 1:
ORA-12850: Could not allocate slaves on all specified instances: 2 needed, 0 allocated
] [TGARG01X]
I already created SR 3-24939760071 but no solution yet.
Rgards,
Gert
Hi Gert,
we have seen this several times (and it is not an AutoUpgrade issue but hits AU at this point).
In some cases, it happened when the PDB$SEED was open Read/only on another node.
Can you check the following workarounds:
1. OPEN PDB$SEED in RW mode in all the nodes before running preupgrade
2. Change parallel_force_local=TRUE
3. Change parallel_max_servers to 1
And can you share with the Support engineer this SR as the customer struggled with the same issue: 3-24725937771
Cheers,
Mike