AutoUpgradeとかいう特級呪物

あくまでも個人の感想。

本当に使える?AutoUpgrade の新機能を実践検証してみた – Speaker Deck

Oracleは「とにかくラクで簡単」などと豪語しているが、これは誇大広告であり現実はそう甘くない。

本当に使える?AutoUpgrade の新機能を実践検証してみた – Speaker Deck より引用

AutoUpgrade構成ファイルのアップグレード・パラメータ

上記マニュアルにあるどのパラメータがどのような時に必須になるのか、どのように指定するのかといった情報を選別する時点で難解を極める上に、YouTube動画やそのPDF資料の通りに実行したとしてもまともに動作しなかった。

例えば、19cの非CDBをリリースされたばかりの26ai(いずれもRAC環境)にアップグレードするため、以下のようなパラメータを指定してソースDB側で分析処理を実行したとする。二つの環境はそれそれ別のサーバ上で動作しており、資料とほぼ同様の状況を想定。

global.autoupg_log_dir=/home/oracle/AutoUpgradeLog
global.keystore=/u01/app/oracle/cfgtoollogs/keystore
upg1.source_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/26.0.0/dbhome_1
upg1.sid=orcl1
upg1.target_cdb=orcl1
upg1.target_pdb_name.orcl1=orclpdb1
upg1.source_dblink.orcl1=to_source 1800
upg1.target_version=26
upg1.target_pdb_copy_option.orcl1=file_name_convert=none

すると、以下のようなエラーが吐かれる。

2026-03-08 15:29:58.731 INFO orcl1の分析で、162チェックは8スレッドを使用して実行されます
2026-03-08 15:30:01.780 ERROR 予期しないIOException [orcl1] [/* [D5FA29]  */select 'open' from sys.dual;]
java.io.IOException: Cannot run program "/u01/app/oracle/product/26.0.0/dbhome_1/bin/sqlplus" (in directory "/home/oracle/AutoUpgradeLog/orcl1"): error=2, そのようなファイルやディレクトリはありません

ソース側には26aiは入っていないのだからそのパスを見てもsqlplusなどあるはずがない。実行するパスの選定で問題が生じていることはわかるが、対処のしようもない。

「エラーが起こっても調査が楽」「Oracle Supportに送るログの作成コマンドまでツールが教えてくれる」

というのを誇らしげに書いているのがいっそ滑稽ですらある。要するにエラーが起こることを前提としたツールであり、サポートの手助けがなければまともに動かない代物。それのどこが「とにかくラクで簡単」なんだ?と。

せめて動画内で「クセのあるツールなので利用方法について参考になるようにまとめてみました」とでも言ってくれればまだ信用できたものを。

このツールを使って移行をしようとしたら間違いなく泥沼にはまるので、特級呪物であることを覚悟して利用するべき。

コメント