やったこと
Oracle Cloud (BaseDB)が、19cだったので、23aiにバージョンアップ。
オンプレ環境ではかなり大変な作業が、数クリックで完了!
前提
2025/2時点になります。
どのバージョンにバージョンアップできるかは時期によって異なると思います。
ただし、おおまかな実行方法はそんなに変わらないでしょう。
バージョンアップ手順
19c環境で作ったBaseDBのバージョンを確認してみます。
バージョンは2か所に表示されています。
上部の「DBシステム・バージョン」は Grid Infrastructureのバージョンです。
おもにストレージ管理などに使用されています。
データベースは下部の「データベースのバージョン」のところに表示されています。
今回19cを選択して作成したBaseDBでは、Grid Infrastructureは19c(19.23)になっていました。
以前BaseDB12cを作成したときに、Grid Infrastructureが19cのこともあったので
いずれ23aiがデフォルトになることもあるかもしれません。
バージョンアップやパッチ適用は、DBシステムの方の「表示」リンクから進みます。
バージョンアップ・パッチ適用が可能な場合、この画面にパッチがリストされます。
DBシステムは、19.23から19.26または23.7.0.25.01にバージョンアップできそうです。
データベースは、19.23から19.26または23.5.0.24.07にバージョンアップできそうです。
19cの中でパッチ適用を行うか、23aiにバージョンアップするか、選択できる形ですね。
今回、データベースを19cから23aiにバージョンアップしたいため、
「データベース」欄にある「23.7.0.25.01」の横の点をクリックして、メニューを表示します。
「事前チェック」で事前確認を進めます。
すると、DBシステム(Grid Infrastructure)のバージョンが19cのため、DBを23aiにできないというメッセージが表示されます。
DBを23aiにするためには、まずDBシステムをバージョンアップする必要がありそうです。
前の画面に戻り、DBシステム(Grid Infrastructure)のバージョンアップを進めていきます。
「Grid Infrastructureの更新」欄にある「Oracle DBシステム 23.7.0.25.01」の横の点をクリックして、メニューを表示します。
「事前チェック」で事前確認を進めます。
確認のダイアログがでるため、そのまま「事前チェックの実行」をおします。
画面の「状態」は「事前チェック中」となり、チェックが終わると「使用可能」に戻り、「最後に成功した事前チェック」に日時が入ります。
DBシステムの事前チェックは1分もかからず完了しました。
画面左上の「更新履歴」画面をみると、実行時間などの詳しい情報が確認できます。
「更新」画面に戻り、事前チェックが完了したものの「適用」を行っていきます。
確認ダイアログではDBシステム名を入力し、「DBシステムのアップグレード」をおしていきます。
画面の「状態」が「アップグレード中」となり、アップグレードが進んでいきます。
終わるまで少し待機しましょう。OCPUが4つの環境では20分ほどかかりました。
結果の確認は「更新履歴」画面が分かりやすいと思います。
「状態」が「成功」になっていますね。実行時間の確認もできます。
これでDBシステムが23aiになりましたので、続いてDBも23aiにしていきます。
「データベース」の事前チェックを行っていきます。
23aiの中で一番新しい 23.7.0.25.01 にしてみましょう。
ピリオドで区切られた下二桁はリリースされた年と月です。
この場合は25年1月のバージョンになります。
「事前チェック」をおして、進めていきましょう。
データベースのTOP画面では「アップグレード中」と表示されていますが実際は事前チェックをしているだけです。安心してください。
DBシステムの時と同じように「更新履歴」から事前チェックの進捗を確認してみます。
「状態」が「成功」になっていたら終了です。
実行時間も確認できます。この例では6分ほどかかっています。
DBシステムのところの「表示」リンクで「更新履歴」をみると結果が確認できます。
更新履歴画面は左上のリンクからとべます。
事前チェックが成功したようです。
「更新」をおして、前の画面に戻ります。
事前チェックが完了したものを「アップグレード」していきましょう。
確認ダイアログでは、一時的にデータベースが停止するという警告が表示されます。
アップグレード時ではデータベースが停止されるため、注意してください。
停止しても問題なければ「アップグレード」を進めていきます。
「更新履歴」画面では進捗が確認できます。
アップグレードが終了するまで待機しましょう。
今回の環境では、1時間10分かかりました。けっこう時間がかかります。
「更新」画面に戻ると、アップグレード可能なリストがなくなりました。
最新バージョンになったことがわかりますね。
その後の確認
BaseDBにTeraTermで接続して、SQL*Plus等確認してみました。
もとのもの(19c)はそのままで、別のディレクトリに23aiをいれるアウトプレースアップグレードのようです。
SSHで接続していくつか確認していきましょう。
SQL*Plusを使用すると、23aiになっていることがわかります。接続先もしっかり23aiですね。
[oracle@dbu ~]$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Sun Feb 23 07:58:49 2025
Version 23.7.0.25.01
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Standard Edition 2 Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.7.0.25.01
SQL>
インストールディレクトリを確認すると、両方のバージョンがあります。
アウトプレースアップグレードで、23aiがインストールされたことが分かります。
★インストールディレクトリを確認
[oracle@dbu product]$ cd
/u01/app/oracle/product
[oracle@dbu product]$ ls
19.0.0.0 23.0.0.0
環境変数ORACLE_HOMEは新しい方に変わっています。
[oracle@dbu dbs]$ cd $ORACLE_HOME
/u01/app/oracle/product/23.0.0.0/dbhome_2
アウトプレースアップグレードということで、tnsnames.oraなど関連ファイルがどうなるのか気になりました。
新しいディレクトリにインストールされたため、ファイルは引き継がれないかと思いましたが、tnsnames.oraはコピーされているようです。
ファイルの最初に19cの時のコメントが残っていますが、ファイルは23aiのディレクトリにコピーされたものです。
[oracle@dbu dbhome_2]$ cd /u01/app/oracle/product/23.0.0.0/dbhome_2/network/admin/
[oracle@dbu admin]$ ls -la
total 24
drwxr-xr-x 3 oracle oinstall 4096 Feb 23 00:59 .
drwxr-xr-x 11 oracle oinstall 4096 Jan 16 15:57 ..
drwxr-xr-x 2 oracle oinstall 4096 Jan 16 15:56 samples
-rw-r--r-- 1 oracle oinstall 1866 May 19 2021 shrept.lst
-rw-r--r-- 1 oracle oinstall 670 Feb 22 14:33 sqlnet.ora
-rw-r----- 1 oracle oinstall 670 Feb 22 22:28 tnsnames.ora
[oracle@dbu admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.0.0.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DBU_PW6_NRT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DBU******.oraclevcn.com)
)
)
LISTENER_DBU =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbu)(PORT = 1521))
DBU_PW6_NRT2 = ★19c環境にこれを追記してあったが、23ai環境にも定義された
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DBU******.oraclevcn.com)
)
)
これでバージョンアップは終了です。
かなり簡単に行えました。
オンプレと比べてクラウド環境での簡単さはすごいですね。