0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[OCI] BaseDB の Oracle DB 12c を 19c にバージョンアップする

Posted at

やったこと

Oracle Cloud (BaseDB)が、12cだったので、19cにバージョンアップ。
オンプレ環境ではかなり大変な作業が、数クリックで完了!

前提

2023/11時点になります。
どのバージョンにできるかは時期によって異なると思います。
ただし、おおまかな実行方法はそんなに変わらないでしょう。

バージョンアップ手順

12c環境で作ったBaseDBを確認します。
バージョンは2か所に表示されています。
上部の「DBシステム・バージョン」は Grid Infrastructureのバージョンです。
おもにストレージ管理などに使用されています。

データベースは下部の「データベースのバージョン」のところに表示されています。

今回12cを選択して作成したBaseDBですが、GridInfrastructureは19cになっていました。

バージョンアップやパッチ適用は、DBシステムの方の「表示」リンクから進みます。
image.png

バージョンアップ・パッチ適用が可能な場合、この画面にパッチがリストされます。
DBシステムは、19.20から19.21にパッチ適用できそうです。
データベースは、12.2.0.1.230718から、12.2.0.1.231017への
パッチ適用か、19.18以降へのメジャーバージョンアップができそうです。

image.png

今回、12.2.0.1.230718から19.20にバージョンアップしたいため、
パッチの横にある点をクリックして、メニューを表示します。
「事前チェック」で事前確認します。

image.png

ダイアログがでるため「事前チェックの実行」をおします。
image.png

画面は「アップグレード中」となりますが、実際にはアップグレードしているわけではなく
事前のチェック処理を行っています。

image.png

DBシステムのところの「表示」リンクで
「更新履歴」をみると結果が確認できます。
更新履歴画面は左上のリンクからとべます。
事前チェックが成功したようです。

image.png

左上のリンクから「更新」を選択し
「アップグレード」を選んで実行します。
image.png

DBシステム(GridInfrastructure)にパッチを適用できることが表示されましたが
今回はDBのみメジャーバージョンするため、そのまま「アップグレード」ボタンをおします。
通常はDBシステムのバージョンアップ・パッチ適用から実施することをおすすめします。
image.png

アップグレード中になりました。
image.png

「更新履歴」タブでも確認できます。
image.png

2時間程度で完了しました。
BaseDBの場合、実行時間はOCPU数で結構かわります。
これは1OCPUの場合です。
image.png

その後の確認

BaseDBにTeraTermで接続して、SQLPlusで確認してみました。
接続先DBはたしかに19cになりましたが、クライアント(SQL
Plus)は12cが使われているようです。
BaseDBのバージョンはもとのもの(12c)はそのままで、別のディレクトリに19cをいれるアウトプレースアップグレードのようです。

[oracle@db12c ~]$ sqlplus / as sysdba

★SQL*Plusは12c
SQL*Plus: Release 12.2.0.1.0 Production on Mon Nov 27 14:10:12 2023

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

★接続先DBは19c
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

SQL> exit

ORACLE_HOMEを確認すると、両方のバージョンがあります。
環境変数(PATH)をみると、12cのパスが先にありました。
これは12cのものは削除した方が良いですね。


[oracle@db12c product]$ ls -la /u01/app/oracle/product/
total 16
drwxr-xr-x 4 root   root     4096 Nov 27 05:36 .
drwxr-xr-x 8 oracle oinstall 4096 Nov 27 06:13 ..
drwxr-xr-x 3 root   root     4096 Nov 27 03:52 12.2.0.1
drwxr-xr-x 4 root   root     4096 Nov 27 06:10 19.0.0.0
[oracle@db12c product]$

★環境変数(PATH)を確認
[oracle@db12c ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/u01/app/oracle/product/12.2.0.1/dbhome_1/bin:/u01/app/oracle/product/19.0.0.0/dbhome_2/bin:/home/oracle/.local/bin:/home/oracle/bin
[oracle@db12c ~]$

★環境変数PATHの設定先(.bashrc)
[oracle@db12c ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
PATH=$PATH:/u01/app/oracle/product/12.2.0.1/dbhome_1/bin; export PATH
## WARNING!! Modifying this file can cause failures in API/CLI provided by Cloud Tooling!!
ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_2; export ORACLE_HOME
PATH=$PATH:/u01/app/oracle/product/19.0.0.0/dbhome_2/bin; export PATH
LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0.0/dbhome_2/lib; export LD_LIBRARY_PATH
ORACLE_UNQNAME=db12c_twf_nrt;export ORACLE_UNQNAME
ORACLE_SID=db12c; export ORACLE_SID
[oracle@db12c ~]$

これでバージョンアップは終了です。
かなり簡単に行えました。

事後対応として、オンプレのアウトプレースと同じような対応( サーバ上のtnsnames.ora 修正など)は別途行いましょう

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?