Exadata Cloud Service: データベース・ホーム移動方式でパッチ適用してみてみた

Exadata Cloud Service の Database を別の Database Homeに移動する方法でデータベースにパッチを適用できます。
この方法では、必要な停止時間が短縮され、データベースを古いデータベース・ホームに戻すことで、前のバージョンに簡単にロールバックできます。
ということで、予め Release Update(RU)パッチ適用がされたDatabase Homeを用意し、そこにDatabaseを移動してみてみます。

# ■ 事前準備
次のドキュメントを参考に、パッチを適用するためのベスト プラクティスを確認します。
データベースをバックアップ、事前チェック操作を実行して、VMクラスタ、Exadata DBシステムまたはデータベース・ホームがそのパッチの要件を満たしていること等

　・参考: 
　　　- [Best Practices for Patching Exadata Cloud Infrastructure Components](https://docs.oracle.com/en/engineered-systems/exadata-cloud-service/ecscm/ecs-patch-update.html#GUID-1FA73DEB-AD6B-469F-A807-C391755911C8)
　　　- [How to Apply Database Quarterly Patch on Exadata Cloud Service and Exadata Cloud at Customer Gen 2(Doc ID 2701789.1)](https://support.oracle.com/knowledge/Oracle%20Cloud/2701789_1.html)
　　　- [Data Guardスタンバイ・ファースト・パッチ適用 (Doc ID 2213502.1)](https://support.oracle.com/knowledge/Oracle%20Cloud/2213502_1.html)


# ■ パッチ用 Database Software Image 作成
Release Update(RU)パッチ適用がされた 最新の Database Software Image を作成します。
また、作成されるDatabase Software Imageに適用されるパッチセットは、次の情報から確認できます。
　　　- [Exadata Cloud Service Software Versions (Doc ID 2333222.1)](https://support.oracle.com/knowledge/Oracle%20Database%20Products/2333222_1.html)

1) OCI コンソール
メニューから、「ベア・メタル、VM および Exadata 」 をクリック
![00_OCIコンソール東京.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a531d8a2-604e-0125-fd8d-0e05adb965a5.png)


2) データベース・ソフトウェア・イメージ画面
 - リソースから、[データベース・ソフトウェア・イメージ]をクリック
 - [データベース・ソフトウェア・イメージの作成]をクリック
![51_19.12イメージ作成01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/5543cff1-34b9-e9d1-ff7a-97bddc96c8eb.jpeg)



3) データベース・ソフトウェア・イメージの作成画面
以下情報を入力して、[データベース・ソフトウェア・イメージの作成]をクリックして作成

	・表示名: イメージの表示名を入力
	・コンパートメント: を選択
	・シェイプ・ファミリ: Exadata Cloud Serviceインスタンスを選択
	・データベース・バージョン: バージョンを選択
	・パッチ・セット更新、プロアクティブ・バンドル・パッチまたはリリース更新: Standby Databaseと同じバージョンを選択
		Oracle Databaseのパッチ適用モデルの詳細は、リリース更新の概要およびFAQ (ドキュメントID 2285040.1)を参照してください。

![51_19.12イメージ作成02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/e6038be0-af93-b46c-cfa2-6cfb00368d64.jpeg)


4) データベース・ソフトウェア・イメージの作成完了
パッチ情報: 作成された Database Imageのパッチ情報を確認
![51_19.12イメージ作成04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/e19541de-db5e-c4c4-e045-8f65822a0d27.jpeg)



# ■ パッチ用 Database Home作成
Release Update(RU)パッチ適用がされた 最新の Database Software Image を使用してDatabase Homeを作成します。

1) Exadata VM クラスタ 画面
「リソース」で、「データベース・ホーム」をクリック
「データベース・ホームの作成」をクリック
![53_DB_Home19.12作成01_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/0f6edd5d-2048-b78d-04cb-de6982f8e4e9.jpeg)



2) データベース・ホームの作成画面
以下情報を入力して、[作成]をクリックして作成

	・データベース・ホームの表示名: データベース・ホームの表示名
	・データベース・イメージ: [データベース・イメージの変更]をクリック

![53_DB_Home19.12作成02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/5bc6138e-42cd-345a-62b5-28eb0d609f83.jpeg)

データベース・ソフトウェア・イメージの選択画面

	・イメージタイプ: カスタム・データベース・ソフトウェア・イメージを選択
	・Oracle Databaseバージョン: 対象のバージョンを設定

![53_DB_Home19.12作成03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/aa672332-e81d-a07a-20ad-982c2d753010.jpeg)


3) データベース・ホームの作成完了
・データベース・ソフトウェア・バージョン項目で、作成された Database Homeのパッチ情報を確認
・[作業リクエスト]をクリックし、ステータスがSucceededになったことを確認

![53_DB_Home19.12作成05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/7b87b708-2182-488f-4444-3da917c868d8.jpeg)


# ■ 前提条件チェックの実行
前提条件チェックでは、tmp のスペース、ターゲット ホームが有効であることなどを確認します。実際のメンテナンス ウィンドウの前に実行して、計画されたメンテナンスの前に修正する必要があるものを特定します。

クラウド コンソールのデータベース画面からアクセスできるデータベース ホーム画面に移動します。[利用可能な最新のパッチ] の横にある [表示] をクリックします。次に、[データベース ホーム] の下で [カスタム データベース ソフトウェア イメージ] タブを選択し、ターゲット イメージの横にあるメニューをクリックして [事前チェック] を選択します。
![dbHomePatch-precheck.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/4c93635c-c86a-4f50-54cb-20e116052962.jpeg)






# ■ Database Home移動によるパッチ適用
Release Update(RU)パッチ適用がされた Database Homeへ既存Databaseを移動します。

1) データベース詳細画面
VMクラスタまたはDBシステムの詳細ページにあるデータベースのリストで、移動するデータベースの名前をクリックして「データベース詳細」ページを表示
「別のホームに移動」をクリック

![61_Home移動(19.11->19.12)01_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/35bf1a3c-d7f8-0f46-df5c-cf355e5577c6.jpeg)




2) データベースを別のホームに移動画面
以下情報を入力して、[ターゲット・データベース・ホーム]を選択して、[データベースの移動]をクリック

	ターゲット・データベース・ホーム: 移動するデータベース・ホームを選択

![61_Home移動(19.11->19.12)02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/65d97185-06d8-395b-0b9b-ed4277e4e694.jpeg)

データベースは現在のホームで停止された後、宛先ホームで再起動されます。
データベースが移動されている間、データベース・ホームのステータスは「データベースの移動中」と表示されます。
操作が完了すると、データベース・ホームは現在のホームに更新されます。
操作が失敗した場合、データベースのステータスは「失敗」と表示され、「データベース・ホーム」フィールドに失敗の理由に関する情報が表示されます。


3) データベース移動の確認
[データベースの移動]をクリックしてデータベースを移動
![61_Home移動(19.11->19.12)03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/038c40da-dae1-a4bd-9929-303f913feb1b.jpeg)


4) データベース移動中
リソースから[作業リクエスト]をクリック
ステータスが Succeeded になるまで、しばらく待ちます。
![61_Home移動(19.11->19.12)04_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/0ae70f55-59c0-58dc-6ab5-1ae76814b3f2.jpeg)


5) データベース移動完了
・[作業リクエスト]をクリックし、ステータスが Succeeded になったことを確認
・データベース・バージョン: データベース・バージョンを確認し、データベース・ホームが移動されパッチ・バージョンが適用されていることを確認
![61_Home移動(19.11->19.12)05_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/83745239-8af2-0cf1-b501-f20e99cbd9e6.jpeg)


# ■ パッチ適用確認
## ● Oracle Homeパッチ適用確認
全Nodeで opatchコマンドを実行して確認

	[oracle@exacs-tokyo-1 OPatch]$ $ORACLE_HOME/OPatch/opatch lspatches
		32139531;ADD PST MAJORITY CHECK WHILE CALLING ASMDEACTIVATIONOUTCOME FROM CELLCLI
		29780459;INCREASE _LM_RES_HASH_BUCKET AND BACK OUT CHANGES FROM THE BUG 29416368 FIX
		32327208;DSTV36 UPDATE - TZDATA2020E - NEED OJVM FIX
		32327201;RDBMS - DSTV36 UPDATE - TZDATA2020E
		31335037;RDBMS - DSTV35 UPDATE - TZDATA2020A
		30432118;MERGE REQUEST ON TOP OF 19.0.0.0.0 FOR BUGS 28852325 29997937
		31732095;UPDATE PERL IN 19C DATABASE ORACLE HOME TO V5.32
		32918394;JDK BUNDLE PATCH 19.0.0.0.210720
		32876380;OJVM RELEASE UPDATE: 19.12.0.0.210720 (32876380)
		32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816)
		32904851;Database Release Update : 19.12.0.0.210720 (32904851)

		OPatch succeeded.

## ● Oracle Database パッチ適用確認
v$version で RUパッチ適用確認

	[oracle@exacs-tokyo-1 ~]$ sqlplus / as sysdba

		SQL*Plus: Release 19.0.0.0.0 - Production on Mon Sep 20 12:15:17 2021
		Version 19.12.0.0.0

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


		Connected to:
		Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
		Version 19.12.0.0.0


	SQL> select BANNER_FULL from v$version;

		BANNER_FULL
		----------------------------------------------------------------------------------------------------
		Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
		Version 19.12.0.0.0




## ■ 参考
・[Exadata Cloud Serviceインスタンスへのパッチ適用](https://docs.oracle.com/ja-jp/iaas/Content/Database/Tasks/examanagingpatching.htm)
・[Oracle Cloud: Exadata Cloud Service X8M を作成してみてみた](https://qiita.com/shirok/items/7dbef5bceeec9035c391)
・[Exadata Cloud Service: クラウド・ツール dbaascli をバージョンアップしてみてみた](https://qiita.com/shirok/items/9c5f4176b86536ff221e)
・[Oracle Cloud: Exadata Cloud Serviceへパッチ適用してみてみた](https://qiita.com/shirok/items/a4a767aff8b912f8e21a)
・[Release Update Introduction and FAQ (Doc ID 2285040.1)](https://support.oracle.com/knowledge/Oracle%20Cloud/2285040_1.html)
・[Exadata Cloud Service および Exadata Cloud 顧客 Gen 2 にデータベースの四半期ごとのパッチを適用する方法 (Doc ID 2701789.1)](https://support.oracle.com/knowledge/Oracle%20Cloud/2701789_1.html)
・[Data Guardスタンバイ・ファースト・パッチ適用 (Doc ID 2213502.1)]([https://support.oracle.com/knowledge/Oracle%20Cloud/2213502_1.html)
・[Exadata Cloud Service Software Versions (Doc ID 2333222.1)](https://support.oracle.com/knowledge/Oracle%20Database%20Products/2333222_1.html)
・[[Data Guard] Data Guard に関する FAQ(KROWN:125680) (Doc ID 1740071.1)]
・[[DataGuard] フィジカル・スタンバイ環境での個別パッチの適用手順(KROWN:140197) (Doc ID 1748475.1)]