As we often tell you, our Upgrade Development team is working hard to ensure an agile release cycle for AutoUpgrade. And the New version of AutoUpgrade (21.2) is available for download.

Photo by Aziz Acharki on Unsplash
How to download?
As usual, you can (and should) always download the most recent version of AutoUpgrade from this MOS Note: 2485457.1. Usually the tool gets refreshed every 6-8 weeks. And the version you will download is guaranteed newer than the one you could get on disk.
The fact the tool has a 21c versioning does not affect 19c upgrades. There is not a different AutoUpgrade for each version but instead one for all supported databases upgrades.
java -jar autoupgrade.jar -version build.hash 680914c build.version 21.2.210721 build.date 2021/07/21 11:14:54 build.max_target_version 21 build.supported_target_versions 12.2,18,19,21 build.type production 25 bug fixes since v21.1.3 release Tag: v21.2 Description: This is the release for 21.2 MOS
This time we release the 21.2 version.
What’s new?
At the end of MOS Note: 2485457.1 you always find the changelog file which lists all fixed bugs and the new features.
From the changelog you can see this list:
Change in behavior
- AUPG-2216 – AutoUpgrade should fail when TimeZone upgrade fails
An error is encountered in a TimeZome upgrade process during postfixups. The DBA resumes the AutoUpgrade, but AutoUpgrade does not resume at the TimeZone upgrade failure.
. - AUPG-2372 – Update AutoUpgade versioning format to YY.version.YYMMDD format
AutoUgrade version scheme has changed to the following format.
First two digits represent the year.
The next two digits represent the version withing the year.
The last 6 digits arethe year month and day that the AutoUpgrade binary was compiled.For Example:
21.2.210721 Indicates second release in year 2021.
21.3.211020 Indicates third release in year 2021.Once a new year begins the process starts over again.
22.1.220131 Indicates first release in year 2022
22.2.220420 Indicates second release in year 2022
. - AUPG-2380 – Compiler warnings occur when plsql_warnings=’ENABLE:SEVERE’ is set
During upgrade, AutoUpgrade will set PLSQL_WARNINGS to the following:
ALTER SYSTEM SET PLSQL_WARNINGS=’DISABLE:ALL’
After upgrade, the original setting will remain untouched.
Enhancements
- BUG-31724000 – Fast deploy allows prechecks/prefixups to run prior to deployment
This feature enables DBA’s to run the prechecks and prefixups while the database is still online and then run deploy to complete the upgrade. Once the fixups have been run on the source database, DBA can then skip the prechecks and prefixup stages and proceed directly to the phases that follow forExample
Database can be online:
java -jar autoupgrade.jar -mode fixups -config yourconfigUpgrade time:
java -jar autoupgrade.jar -mode upgrade -config yourconfigThe -mode upgrade command proceeds directly to the phases that follow the prechecks and prefixups stages during deploy. The main goal of this feature is to reduce database downtime by running the fixups when your database is online and open for business and then skipping the fixups when your database is offline.
.
What’s fixed?
This is the list of fixes included in the 21.2 version of AutoUpgrade:
- AUPG-2218 – NullPointerException when restoring after a failed upgrade on Windows
- AUPG-2251 – Missing parallelism text for invalid_objects_exist message
- AUPG-2254 – old_time_zone check incorrectly detecting a resume operation
- AUPG-2264 – AutoUpgrade version not reported on the console when launched
- AUPG-2275 – NO_KEYSTORE_FILES check fails when keystore files are in ASM
- AUPG-2277 – Create plugin Pdb with standbys=none option avoiding recovery crash
- AUPG-2279 – Incorrect tablespace size being reported by pre check
- AUPG-2288 – Pdb creation fails in target CDB due to existing pdb dbid/guid collision
- AUPG-2291 – Abort Job should only set status to aborted after job completes
- AUPG-2295 – AutoUpgrade exit closes streams but existing jobs attempts to use them
- AUPG-2298 – Refractor code for better manageability
- AUPG-2358 – After restoration previous successful upgrades were skipped
- Fixed application root clones not getting upgraded
- AUPG-2363 – Do not open PDB$SEED in Read/Write for a physical standby database
- AUPG-2384 – Autoupgrade fails starting instances on RAC One node
- AUPG-2391 – Fast deploy does not execute correctly after restoration
- AUPG-2401 – job_table_integrity fails with ORA-06502 string buffer too small
- AUPG-2409 – Autoupgrade starts on a different node after restoration for RAC One
- BUG-31412902 – Grand total upgrade time is incorrect after upgrade is resumed
- BUG-32987735 – AutoUpgrade -zip options looks in wrong path to zip up a file
- BUG-33085703 – Fast deploy status command shows deploy instead of upgrade mode
Further Links and Information
- AutoUpgrade Documentation
- AutoUpgrade on the Upgrade Blog
- AutoUpgrade step-by-step
- MOS Note: 2485457.1 – AutoUpgrade Tool
Kudos to the Upgrade Development Team!
–Mike
Hi Mike,
version 21.2.210721 blocks upgrading a 18.14 EE RAC using TDE to 19.11:
CheckName: NO_KEYSTORE_FILES FixUp Available: NO Severity: ERROR Stage: PRECHECKS
The 18.14 is already using the WALLET_ROOT and TDE_CONFIGURATION database initialization parameters and there is nothing about the encryption wallet in the sqlnet.ora anymore (this is the recommended setup starting with 18c). Autoupgrade is even detecting the correct wallet location (inside ASM-DG) but ends up in ERROR.
Is there a way to proceed?
Thanks and regards, Olaf
Hi Olaf,
can you open an SR and upload your logs please.
And in order to progress, can you try this please:
https://mikedietrichde.com/2020/07/22/how-to-skip-a-fixup-in-autoupgrade/
Cheers,
Mike
Hi Mike,
While using the autoupgade my database is huge size and dictionary stats will take 2 hours normally with the available resources ,But i will run the dictionary stats before the Downtime ,but if autograde while doing Deploy mode also it will do the dictionary stats gather, Which will consume my DT , how to skip the dictionary stats gather in deploy mode ?
Hi Balaji,
AutoUpgrade will only refresh dictionary stats when they are older than 7 days before upgrade.
It will refresh the stats again after upgrade UNLESS you skip this part:
https://mikedietrichde.com/2020/07/22/how-to-skip-a-fixup-in-autoupgrade/
Cheers,
Mike
Hi Mike,
Wondering if autoupgrade supports the process of upgrading an 11.2.0.4 database using WE8MSWIN1252 character set into a PDB of the same character set plugged into a CDB using AL32UTF8, or if it is best that the CDB be created with the same character set as the PDB?
Our goal is to migrate all of our 11g databases into single-tenant 19c databases (on Exadata).
Thanks,
Doug
Hi Doug,
it does – as long as the CDB has been created with AL32UTF8. And this is the recommendations since this allows you to plugin PDBs of various character sets. AutoUpgrade can do this of course – and it is fully supported and recommended on Exadata.
https://mikedietrichde.com/2021/06/16/upgrade-to-oracle-19c-on-exadata-with-autoupgrade/
Cheers,
Mike
Thanks Mike. Good to know that my efforts are on track.
Doug
Hi Mike,
When running the autoupgrade.jar tool both the autoupgrade_err.log and autoupgrade.log files grow to 12G in size each. They are filled with the following errors. While the error says can ignore, the 12GB X 2 size consumption on disk is concerning. Have you seen this is there anyway to fix this issue?
2021-09-15 13:33:37.813 WARNING Problem reading command from stdin, this can be ignored – Core.lambda$new$0
java.io.IOException: Bad file descriptor
at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
at sun.nio.ch.FileDispatcherImpl.read(FileDispatcherImpl.java:46)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:159)
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65)
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:109)
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at oracle.upgrade.autoupgrade.console.Core.lambda$new$0(Core.java:178)
at java.lang.Thread.run(Thread.java:748)
Hi Brian,
did you open an SR? If yes, can you share the SR number with me please?
Cheers,
Mike
Hi Mike,
I performed some more tests to create an SR and I’m pretty sure I identified the problem.
I was running the autoupgrade.jar -mode deploy in Linux “nohup” mode, but I was not adding the -noconsole option to the java command. Once I added -noconsole it appears to have fixed the problem. Hopefully this helps someone else.
Re: AUPG-2380 – just noticed the plsql_warnings parameter is NOT reverted after upgrade…
Created SR.
Hi Mike,
Many thanks!!
After a week of struggling on AIX, this version 21.2.210721 solves my issue, I ran into with version 19.9.1.
It kept throwing me this error
The source database, HISCDBT, must not use the CDB architecture when the target_cdb parameter is defined for entry upg1
during analyze phase, and I could not find out why.
Luckily version 21.2 does the analyze correctly
Cheers
Frank-Jan
Hi Frank-Jan,
sorry, I’m slow in replying to comments right now.
And yes, this would have been my proposal – the version you used didn’t have support for unplug/plug/upgrade yet.
Cheers,
Mike