In a recent blog post, Connor McDonald was calling out LinkedIn clickbait.
Someone made incorrect claims about Oracle Database on LinkedIn to draw attention. According to sources (himself), Connor tried to resist the urge to jump in but failed. We all know that Resistance is futile.
Connor wrote a good blog post showing that the attention-seeking author of the LinkedIn post is wrong!
Upgrades Are Risky and Complex
One of the false claims was that:
Upgrades are risky and complex. Want to upgrade? Prepare for a long, nerve-wracking process where something will break.
Connor replied:
Upgrades are now editing a 10 line configuration file and running autoupgrade. One line command and you’re good to go.
Here’s the config file Connor used:
global.autoupg_log_dir=/default/current/location
upg1.dbname=employee
upg1.start_time=NOW
upg1.source_home=/u01/app/oracle/product/11.2.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.1.0/dbhome_1
upg1.sid=emp
upg1.log_dir=/scratch/auto
upg1.upgrade_node=node1
upg1.target_version=19.1
But you can make it even simpler.
autoupg_log_dirdefaults to$ORACLE_BASE/cfgtoollogs/autoupgrade.dbnameis not used anymore.start_time=nowis the default.log_diris not needed when you useglobal.autoupg_log_dir.upgrade_nodeis rarely needed. Only when you have one config file that is used on multiple hosts.target_versionis only needed when the target Oracle home doesn’t exist yet.
You could do the same with this simplified config file:
upg1.source_home=/u01/app/oracle/product/11.2.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.1.0/dbhome_1
upg1.sid=emp
You don’t like config files? OK – use environment variables instead. Here’s how to upgrade completely without a config file:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export TARGET_ORACLE_HOME=/u01/app/oracle/product/19.1.0/dbhome_1
export ORACLE_SID=emp
java -jar autoupgrade.jar -config_values -mode deploy
Upgrades Are Simple, Fast, and Safe
I might be a little biased, but I think upgrades are:
Simple
- Since we introduced AutoUpgrade in 2019, upgrades have become even easier.
- Keep it simple or customize it to your exact needs – you decide.
- Use the preupgrade analysis and run hundreds of tests on your database. If it passes the test, you’re good to go.
- Still worried? Use the dictionary check to ease your mind.
Fast
- The parallel upgrade introduced in Oracle Database 12.1 uses more threads to upgrade your database.
- You can perform unplug-plug upgrades to minimize downtime.
- Or do rolling upgrades to minimize it even further.
- Or use Oracle GoldenGate to upgrade with no downtime.
Safe
- If something happens, you have Flashback Database to revert the changes in just minutes.
- You can use our performance stability prescription to find execution plan changes. Nail them down with SQL Plan Management.
- The tools from our Real Application Testing pack are part of our cloud offerings. Spin up a database in OCI and use the tools there – even for your on-prem systems.
- There’s a huge community that is there to help you.
Was Connor Wrong?
No, Connor was not wrong. Connor was right!
He just needed a tiny correction. Connor made it look like AutoUpgrade is easy, when it is in fact very easy.
Sorry for the clickbait!
Happy upgrading!
Fully agree – autoupgrade is VERY EASY and even in a multi step upgrade from 12.1.0.1 to 19c (“catupgrd” to 12.1.0.2 and autoupgrade to 19c) it compiled my invalid objects remaining after the first upgrade and presented me a healthy 19c DB.
LikeLike
That’s good to hear. Thanks for sharing!
LikeLike
If you have all this time on your hands because this is so simple, can you fix your secure files LOB issue where it doesn’t clean up after itself, and allocates twice the necessary storage.
LikeLike
Hi,
I’m sorry but SecureFile architecture is outside of my domain, so I don’t know the specifics. We’re always looking for ways to improve Oracle Database and maybe one day the implementation match your expectations. Until then, if you have an open SR, I’ll be happy to take a look and see if there’s something I can add.
Thanks,
Daniel
LikeLike