Oracle Gridを12cから19cへアップグレードする完全ガイド
本記事では、Linux OS上で稼働する2ノード構成のOracle Grid Real Application Clusters(RAC)を、バージョン12c(12.1.0.2)から19c(19.7.0)へアップグレードするための手順を、ステップバイステップで詳しく解説します。
はじめに
現在入手可能なOracle Grid RACの最新バージョンは19cです。Oracleは、より高い安定性とセキュリティを実現するために、Gridインフラストラクチャの19cへのアップグレードを強く推奨しています。19cでは、ドライラン(事前検証)アップグレードなど、数多くの新機能が導入されました。本記事では、この新機能の概要と、Gridアップグレードの具体的な手順について説明します。
Gridアップグレードの手順
- アップグレード前チェックリストの確認
- 19c Gridソフトウェアのダウンロード
- Orachkによる準備状況評価の実行
- 必須の19cパッチ適用
- クラスタ検証ユーティリティ(CVU)の実行
- ドライランアップグレードの実施
- Gridアップグレードの実行
- Gridアップグレード結果の検証
1. アップグレード前チェックリストの確認
Oracleドキュメント「2539751.1」によると、前提条件として12cのGridホームディレクトリにパッチ28553832を適用しておく必要があります。以下のコマンドで適用状況を確認できます。
[grid@norlathrac01 OPatch]$ ./opatch lsinventory |grep -i 28553832
28553832, 20883009, 21678268
2. 19c Gridソフトウェアのダウンロード
19c Gridソフトウェアは、以下の公式ページからダウンロードできます。
https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
まず、RAC(Real Application Clusters)の両ノードにディレクトリを作成します。
mkdir -p /u01/app/grid/product/19.3.0/grid
次に、19c GridソフトウェアをRACの1番目のノードにコピーし、解凍します。
cd /u01/app/grid/product/19.3.0/grid
unzip -q <19c Gridソフトウェアの場所>
3. Orachkによる準備状況評価の実行
Oracleドキュメント「1457357.1」に記載されている通り、Gridを所有するOSユーザーがOrachkツールを実行する必要があります。
同ドキュメントから最新版のOrachkをダウンロードしたうえで、以下のコマンドを実行してください。
cd /u01/app/grid/product/19.3.0/grid/suptools/orachk
export GRID_HOME= /u01/app/grid/product/19.3.0/grid
export RAT_PROMPT_WAIT_TIMEOUT=15
export RAT_ORACLE_HOME=/u01/app/grid/12.1.0
export RAT_DB=12.1.0.2.0
cd /u01/app/grid/product/19.3.0/grid/suptools/orachk
./orachk -u -o pre -profile clusterware,asm
この処理により、下図のようなHTML形式のレポートが生成されます。
レポート内の失敗(Failed)、クリティカル(Critical)、警告(Warning)と判定されたすべての項目を確認し、次のステップに進む前に必ず解決しておきましょう。
4. 必須の19cパッチ適用
Oracleドキュメントの推奨に従い、19cホームディレクトリに必須パッチ30899722を適用します。
[grid@norlathrac01 grid]$ pwd
/u01/app/grid/product/19.3.0/grid
[grid@norlathrac01 grid]$ ./gridSetup.sh -silent -applyRU
続いて、ノード[norlathrac01]上でrootユーザーとして以下のコマンドを実行します。
/u01/app/grid/product/19.3.0/grid/root.sh
Successfully Setup Software.
最後にroot.shの実行を求められますが、この時点では実行しないでください。このスクリプトはアップグレードの最後に実行することになります。
パッチ適用後、以下のコマンドを実行し、ACFSドライバがサポート対象として表示されることを確認します。
[grid@norlathrac01 bin]$ pwd
/u01/app/grid/product/19.3.0/grid/usm/install/Oracle/EL7UEK/x86_64/4.1.12-112.16.4/4.1.12-112.16.4-x86_64/bin
[grid@norlathrac01 bin]$ ./acfsdriverstate -orahome /u01/app/grid/product/19.3.0/grid supported
ACFS-9200: Supported
5. クラスタ検証ユーティリティ(CVU)の実行
GridのOS所有者ユーザーとしてログインし、以下のコマンドを実行します。
[grid@norlathrac01 ~]$ cd /u01/app/grid/product/19.3.0/grid/
[grid@norlathrac01 grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/grid/12.1.0 -dest_crshome /u01/app/grid/product/19.3.0/grid -dest_version 19.0.0.0.0 -fixup -verbose
この操作では、以下のすべてのチェック項目がPASSED(合格)になる必要があります。
Verifying node application existence ...PASSED
Verifying check incorrectly sized ASM disks ...PASSED
Verifying ASM disk group free space ...PASSED
Verifying network configuration consistency checks ...PASSED
Verifying file system mount options for path GI_HOME ...PASSED
Verifying /boot mount ...PASSED
Verifying OLR Integrity ...PASSED
Verifying Verify that the ASM instance was configured using an existing ASM parameter file. ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...INFORMATION (PRVG-11250)
Verifying Network interface bonding status of private interconnect network interfaces ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying file system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM filter driver configuration ...PASSED
verifying Systemd login manager IPC parameter ...PASSED
Verifying Kernel retpoline support ...PASSED
6. ドライランアップグレードの実施
前述の通り、ドライランアップグレードは19c Gridで新たに導入された機能です。実際のアップグレード前にドライランを実行することで、システムに一切変更を加えることなく、本番アップグレードと同等のすべてのステップを検証できます。以下のコマンドを実行してください。
unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID
cd /u01/app/grid/product/19.3.0/grid
gridsetup.sh -dryRunForUpgrade
最後に、rootupgrade.shの実行を求められます。このスクリプトはローカルノードでのみ実行します。
7. Gridアップグレードの実行
前のステップでドライランアップグレードが成功していれば、いよいよ本番のアップグレードに進めます。
本番アップグレードを開始する前に、以下のコマンドを実行してクラスタサーバー上の残存サービスの稼働状況を確認し、クラスタのアップグレードステータスがNORMALであることを確認しておきましょう。
[grid@norlathrac01 bin]$ ./crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [12.1.0.2.0]. The cluster upgrade
state is [NORMAL]. The cluster active patch level is [2653232555].
cd /u01/app/grid/product/19.3.0/grid
unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID
./gridSetup.sh
rootupgrade.shは、まずローカルノードで実行し、その後にリモートノードで実行します。
この時点でGridは19cへアップグレードされ、すべてのクラスタサービスが稼働状態になります。
8. Gridアップグレード結果の検証
Gridのアップグレード完了後、以下のコマンドを実行して、アップグレード後のGridバージョンを確認します。
[grid@norlathrac01 bin]$ crsctl query crs activeversion
Oracle clusterware active version on the cluster is [19.0.0.0.0]
[grid@norlathrac01 bin]$
[grid@norlathrac01 bin]$ ./crsctl query crs softwareversion
Oracle Clusterware version on node [norlathrac03] is [19.0.0.0.0]
さらに、両方のクラスタノードですべてのCRSサービスが正常に稼働していることを確認します。
[grid@norlathrac01 bin]$ crsctl check crs
CRS-4638: Oracle high availability services is online
CRS-4537: Cluster ready services is online
CRS-4529: Cluster synchronization services is online
CRS-4533: Event manager is online
まとめ
Oracle 19c Gridは現時点で入手可能な最新バージョンのGridであり、従来よりも高い安定性とセキュリティを提供します。ドライランアップグレードなどの新機能により、以前のバージョンと比べて、Gridアップグレードをよりスムーズかつ正確に実施できるようになりました。
データサービスに関する詳細については、ぜひお問い合わせください。
ご意見やご質問がある場合は、フィードバックタブからお気軽にお寄せください。また、私たちとの対話も歓迎します。
-
Windows 10を32ビットから64ビットに無料でアップグレードする完全ガイド
この記事では、Windows 10を32ビットから64ビットへ無料でアップグレードする方法を、初心者の方にもわかるように詳しく解説します。手順は非常にシンプルで、アップグレード後にはシステムがよりスムーズに快適に動作するようになります。 さらに嬉しいことに、Windows 10の64ビット版へのアップグレードには一切費用がかかりません。以下でその具体的な手順をご紹介します。 アップグレード前に行うべき確認事項 実際にアップグレードを実行する前に、システムがアップグレードに対応しているかどうかを確認するためのいくつかの準備ステップが必要です。ここをしっかり押さえておくことで、トラブルを未然に防
-
Windows 10 へのアップグレード (Windows 7 から) - 驚くほどスムーズ
少しティーザーから始めましょう。今後数週間で、Windows 10 に関する記事がたくさん出てきます。それらは主に、前述のオペレーティング システムを搭載した新しいデバイスのインストール、Windows 7 から Windows 10 への古いデバイスのアップグレード、およびそれに続く必須のインストール後の微調整と変更を中心に展開します。タイトルが微妙に示唆しているように、真ん中のオプションから始めましょう. Windows 7 の期限が迫っているため (現在は過ぎ去っています)、古い Windows 7 デスクトップの 1 つをこの実験のために犠牲にすることにしました。つまり、大したことで