Don’t use AI to build your AutoUpgrade config file, please!

Let me do a quick Friday rant. Many of you can easily ignore this. But regardless of whether you are a colleague, a friend, a customer, a partner or just exploring AutoUpgrade because it is the coolest small tiny little tool Oracle has to offer, don’t use AI to build your AutoUpgrade config file, please!

AI models are great … somehow …

No worries, I use AI tools as well, especially when I need to create some complex PL/SQL scripts. There is nothing wrong with it – unless you stay in control. I guess, we all have found columns in our AI generated scripts which aren’t (yet) in an Oracle database’s dictionary. This is a common issue I found. But luckily this can be fixed quickly manually since especially ChatGPT and others got really stubborn recently.

Anyhow, I showed a nice example on how creative LLMs are when it comes to AutoUpgrade parameters 2 years ago at the German Oracle User Group conference. Surprisingly, nothing has changed since then.

What does this mean?

Well, we all in the team receive at least twice per week AutoUpgrade config files which contain parameters sounding great – but they don’t exist (yet). This is quite frustrating for multiple reasons:

    • You will be frustrated since AU will ignore often unknown parameters, and then won’t do what you expect it to do
    • We are frustrated because we have to spend time telling you which parameters are a complete and creative hallucination

There is a tool out there which does it right: The AutoUpgrade Composer. It always supports the newest parameters, the newest methods, it is super-up-to-date – and it doesn’t cost anything. Plus, you’ll be generating your config file faster than with any LLM.

Well, and it is correct then.

 

Some examples …

This is what you will get from AI

That’s just a random example from this week. We see this almost every day. Using AI does not mean that you should trust it. If you give up control, that’s not good (I try to phrase it politely).

global.autoupg_log_dir=/u01/app/oracle/autoupgrade/logs
global.parallelism=6
upg1.max_pdbs_parallel=4
upg1.manage_resources=yes 
upg1.dbname=CDB19
upg1.start_time=NOW
upg1.target_home=/u01/app/oracle/product/26ai/dbhome_1
upg1.sid=CDB19
upg1.log_dir=/u01/app/oracle/autoupgrade/CDB19
upg1.upgrade_node=localhost
upg1.timezone_upg=YES
upg1.restoration=YES

I spot immediately these parameters:

global.parallelism=6
upg1.max_pdbs_parallel=4
upg1.manage_resources=yes

None of these exists. You can read on Daniel’s blog how to tweak parallelism if you need to.

 

Use the AutoUpgrade Composer

Marcus Vinicius is a great guy. He did present with us at Oracle AI World 2025. And we work closely together with him to make sure he can implement the newest parameters as quickly as possible.

The tool is amazing, I use it by myself all the time (unless I find the files on Rodrigo’s, Alex’ or Daniel’s blog right away and can borrow them).

Therefore, please use the AutoUpgrade Composer. And not whatever AI. Once we are confident that LLMs can do it right for all use cases, we will tell you 🙂

And of course, you should then use the ground-breaking new release of AutoUpgrade 26.2 from February 2026 (or newer, depending on when you are reading this).

End of Friday rant!
Thanks for reading 🙂

 

One more thing … or two … or three

Of course, we have super-cool colleagues as well, and I need to promote three cool tools of another Markus here. Markus Doeringer works in Mihai Tudor‘s Black Belts team in Austria, and Markus shares three additional amazing tools with you:

 

And the story continues …

Daniel and I had a quick chat today about which LLM to use. And Kris Rice has started building up something which looks really promising (oracle-db-skills).

Anyhow, when I crafted this blog post about AutoUpgrade and the missing MOVE ability, I used a random LLM as well. My findings were:

  1. Overall structural approach is good
  2. Wrong order of sequences, e.g. you need to shutdown the database first, then start it read-only, then create the manifest file – not the other way round
  3. Wrong parameter option, e.g. DB_CREATE_FILE_DEST must be set differently
  4. Wrong command option, e.g. when you want to move to OMF, you need to use FILE_NAME_CONVERT=NONE – the LLM used a conversion
  5. Wrong AutoUpgrade parameters – don’t get me started again

Overall, there were so many syntactical and procedural errors that I just can imagine how badly one would have failed following the advice.

My resume: Oracle DBAs run the world – and they will be needed for a long, long time.

Further Links and Information

–Mike