
目次
はじめに
こんにちは。Oracle Cloud Infrastructure検証チームです。
2025年1月度のサービス・アップデートにより、Oracle Base Database Service (BaseDB) において、Oracle DatabaseおよびGrid Infrastructureのバージョンを23aiにアップグレード (メジャーバージョンアップ) できるようになりました。
そこで、今回はBaseDBで、19cから23aiへのアップグレードを検証してみました。
なお、本記事は2部構成となっており、こちらは前編としてアップグレードの概要説明~Grid Infrastructureアップグレードについて記載しています。
23aiに関する過去記事はこちら

Oracle Database 23aiへのアップグレードについて
前提条件
Oracle Database 23aiへのアップグレードでは、下記のソフトウェア・バージョン要件があります。
- Oracle Database 23aiに直接アップグレード可能なバージョンは、19cまたは21cのみ。
それ以前のバージョンであれば、一度19cにアップグレードしておく必要があります。(※1) - Oracle Database 23aiを利用するには、Grid Infrastructure 23aiが必要となります。
- OSはOracle Linux 8を使用していること。
また、上記は23ai特有の要件ですが、DBシステムのOracle Databaseアップグレードとして下記も前提条件となります。
- データベースがARCHIVELOGモードであること。
- データベースのフラッシュバック機能が有効であること。
※1 オンプレミス環境(11g)からOracle Cloud Infrastructure(19c)への移行検証記事も是非ご覧くださいませ。

注意事項
- アップグレード実行前に事前チェックを実施し、問題なくアップグレード可能かどうか確認しましょう。[Oracle推奨]
- アップグレードより前に、データベースのバックアップを作成し、新規DBシステムで新バージョンをテストしておきましょう。[Oracle推奨]
- Oracle Database・Grid Infrastructureのアップグレード中は、ダウンタイムが発生します。(RAC構成も含む)
- 自動バックアップ中は、アップグレード操作を実行できません。
- アップグレードに失敗した場合、Enterprise Edition以上であればロールバックが可能です。
ロールバックを実行すると、データベースはアップグレード前の状態にリセットされ、アップグレード中およびアップグレード後に加えられたデータベースへの変更はすべて失われます。 - アップグレード後は、アップグレード前に作成した自動バックアップを使用して、データベースを以前の状態に戻すことができなくなります。
バックアップなしで運用するリスクを回避するため、アップグレード完了後には一度、自動バックアップまたは手動でのバックアップ作成をおすすめします。 - dbcliユーティリティを使用してアップグレードを実行することは、基本的にはできません。
- Data Guard構成の場合、先にスタンバイ環境からアップグレードする必要があります。
検証
検証環境作成・構成確認
まずは検証用BaseDBを用意し、設定値を確認します。
今回の構成は下記の通りです。
DBシステム
- ストレージ管理ソフトウェア:Oracle Grid Infrastructure
- Oracle Databaseソフトウェア・バージョン:Enterprise Edition
アップグレード失敗時に備えて、ロールバック可能なEEを選択しています。 - DBシステム・バージョン:19.26.0.0.0
Grid Infrastructureバージョンを指します。
データベースを19cで作成したところ、GIも19cとなっていました。
データベース
その他
- OS:Oracle Linux 8.8
[root@test-basedb ~]# cat /etc/oracle-release Oracle Linux Server release 8.8
- ユーザー環境変数 (.bashrc)
- grid
[grid@test-basedb ~]$ cat .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific environment if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]] then PATH="$HOME/.local/bin:$HOME/bin:$PATH" fi export PATH # Uncomment the following line if you don't like systemctl's auto-paging feature: # export SYSTEMD_PAGER= # User specific aliases and functions ORACLE_HOME=/u01/app/19.0.0.0/grid; export ORACLE_HOME PATH=$PATH:/u01/app/19.0.0.0/grid/bin; export PATH LD_LIBRARY_PATH=/u01/app/19.0.0.0/grid/lib; export LD_LIBRARY_PATH ORACLE_SID=+ASM1; export ORACLE_SID ## WARNING!! Modifying this file can cause failures in API/CLI provided by Cloud Tooling!!
- oracle
[oracle@test-basedb ~]$ cat .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific environment if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]] then PATH="$HOME/.local/bin:$HOME/bin:$PATH" fi export PATH # Uncomment the following line if you don't like systemctl's auto-paging feature: # export SYSTEMD_PAGER= # User specific aliases and functions ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1; export ORACLE_HOME PATH=$PATH:/u01/app/oracle/product/19.0.0.0/dbhome_1/bin; export PATH LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0.0/dbhome_1/lib; export LD_LIBRARY_PATH ORACLE_UNQNAME=CDB_TEST;export ORACLE_UNQNAME ORACLE_SID=CDB; export ORACLE_SID ## WARNING!! Modifying this file can cause failures in API/CLI provided by Cloud Tooling!!
- grid
- SQL*Plusバージョン:19.26.0.0.0
[oracle@test-basedb ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Tue Mar 25 10:44:19 2025 Version 19.26.0.0.0 Copyright (c) 1982, 2024, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.26.0.0.0 SQL>
Grid Infrastructureアップグレード
Oracle Database 23aiへのアップグレードにはGrid Infrastructure 23aiが必要なため、GIバージョンをアップグレードします。
事前チェック
まずは事前チェックを実施します。
[DBシステムの詳細] ページのバージョン情報「アップグレード使用可能」にバージョン23ai (23.x.x.x.x) が表示されていることを確認し、 [表示] リンクを押下します。
使用可能なOS・Grid Infrastructure・Oracle Databaseのパッチおよびアップグレードが表示されています。
「Grid Infrastructureの更新」のリスト内に、使用可能なバージョン23aiのGIアップグレードがあることを確認し、右部のミートボールメニューを開いて [事前チェックの実行] を押下します。
今回は、検証時点で最新の23.7.0.25.01を選択しています。
選択したGIアップグレードの状態が「事前チェック中」に変化しました。
DBシステムの状態が「アップグレード中」となっていますが、実際には事前チェック処理を実行しているだけなので問題ありません。
データベースおよびノードの状態も「更新中」に変化します。
2分ほどで事前チェックが完了しました。
先ほどの [更新] ページを確認すると、状態が「使用可能」に戻り、事前チェックの終了時刻が表示されています。
GIアップグレード
問題なくアップグレード可能なことが確認できたため、Grid Infrastructureのアップグレードを実行します。
[更新] ページから、事前チェックを実施したGIアップグレードのミートボールメニューを開いて [適用] を押下します。
DBシステム名を入力し、 [DBシステムのアップグレード] を押下します。
選択したGIアップグレードの状態が「アップグレード中」に変化しました。
再びDBシステムの状態が「アップグレード中」となっています。
データベースおよびノードの状態も「更新中」に変化します。
35分ほどでGIアップグレードが完了しました。
[更新] ページを確認すると、「Grid Infrastructureの更新」のリストから、アップグレード後のバージョン以前のアイテムがなくなっています。
以上で、Grid Infrastructure 23aiへのアップグレードは完了です。
GIアップグレード後確認
[DBシステムの詳細] ページの「DBシステム・バージョン」(Grid Infrastructureバージョン) が23.7.0.25.01に変化しました。また、gridユーザーの.bashrcに、23aiの環境変数が追加されています。
[grid@test-basedb ~]$ cat .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific environment if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]] then PATH="$HOME/.local/bin:$HOME/bin:$PATH" fi export PATH # Uncomment the following line if you don't like systemctl's auto-paging feature: # export SYSTEMD_PAGER= # User specific aliases and functions ORACLE_HOME=/u01/app/19.0.0.0/grid; export ORACLE_HOME PATH=$PATH:/u01/app/19.0.0.0/grid/bin; export PATH LD_LIBRARY_PATH=/u01/app/19.0.0.0/grid/lib; export LD_LIBRARY_PATH ORACLE_SID=+ASM1; export ORACLE_SID ## WARNING!! Modifying this file can cause failures in API/CLI provided by Cloud Tooling!! ORACLE_HOME=/u01/app/23.0.0.0/grid; export ORACLE_HOME PATH=$PATH:/u01/app/23.0.0.0/grid/bin; export PATH LD_LIBRARY_PATH=/u01/app/23.0.0.0/grid/lib; export LD_LIBRARY_PATH
envコマンドで表示される環境変数は23aiのものに置き換わっていました。
[grid@test-basedb ~]$ env | grep ORA ORACLE_SID=+ASM1 ORACLE_HOME=/u01/app/23.0.0.0/grid [grid@test-basedb ~]$ env | grep PATH LD_LIBRARY_PATH=/u01/app/23.0.0.0/grid/lib PATH=/home/grid/.local/bin:/home/grid/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/u01/app/19.0.0.0/grid/bin:/u01/app/23.0.0.0/grid/bin
後編へ
長くなってしまったため、記事を2分割しております。
続きとなるOracle Databaseアップグレードについては、後編をご覧ください。
BaseDBを19cから23aiにアップグレードしてみました (2/2) Oracle Databaseアップグレード

投稿者プロフィール

-
DBひとりでできるもんを盛り上げるべく、技術チームが立ち上がり早8年。ひとりでできるもんと言いつつ、技術者が読んでプッとなるような、極めてピンポイントでマニアックな技術ネタを執筆しています!
最新技術情報や資格情報をチェックしたいアナタ!毎日遊びに来てください。きっとお役に立てます。
Oracle Cloud2025年4月22日[Oracle Cloud]BaseDBを19cから23aiにアップグレードしてみました (2/2) Oracle Databaseアップグレード
Oracle Cloud2025年4月22日[Oracle Cloud]BaseDBを19cから23aiにアップグレードしてみました (1/2) Grid Infrastructureアップグレード
23ai2025年4月17日【Oracle 23ai 新機能】エラー詳細の表示機能を紹介
Oracle Cloud2025年4月15日[Oracle Cloud] Windows Server 2022 の日本向け設定