[Oracle Cloud] Oracle DB Data Guard 構成のパッチ適用

# はじめに

Oracle Cloud Infrastructure (以下OCI) では、Oracle DB のマネージドデータベースが提供されています。
OCI で Data Guard 構成を組んだときの、パッチ適用の方法を確認します。

OCIで実施する、パッチ適用には2種類のものがあります

- DB System patch
- Database patch

パッチを適用する際には、DB System patch を先に実施し、Database path を後に実施する流れになります。



Data Guard 構成の場合は、全体を通して以下のステップとなります

- 事前確認実施
- Data Guard の Standby Role で、`DB System patch` を適用
- Data Guard の Standby Role で、`Database patch` を適用
- Data Guard のスイッチオーバーを実施して、Primary と Standby Role を入れ替え (アクセス断が発生)
- Data Guard の 新Standby Role で、`DB System patch` を適用
- Data Guard の 新Standby Role で、`Database patch` を適用
- 必要な場合は、スイッチオーバーを実施して、元の Primary と Standby に戻す



# 事前確認リスト

- 本番環境で実施する前に、検証環境でパッチ適用が正常に終了するか検証すること
- パッチ適用にあたって、システムの断時間を計測すること
- シングルの Oracle DB の場合で、断時間を短くしたい場合は Data Guard 構成と、TAF を構成すること
- DB インスタンスの `/u01` ディレクトリで、15GB 以上に空き領域があること
- Oracle Clusterware が稼働していること
- DBシステムのすべてのノードが稼動していること



# 事前確認

## ディレクトリの容量確認

Data Guard 構成を組んでいる 2台のインスタンスで、`df -hT` コマンドを実行します。

1台目

```
[oracle@sugihostname01 ~]$ df -hT 
Filesystem           Type   Size  Used Avail Use% Mounted on 
/dev/mapper/VolGroupSys-LogVolRoot
                     ext4    35G  5.2G   28G  16% /
tmpfs                tmpfs   15G  1.4G   14G  10% /dev/shm
/dev/sda2            ext4   1.4G   46M  1.3G   4% /boot
/dev/sda1            vfat   486M  276K  485M   1% /boot/efi
/dev/sdh             ext4   197G   25G  162G  14% /u01 <================== /u01 に Mount されているファイルシステムの、Avail が 162G となっている
/dev/asm/commonstore-137
                     acfs   5.0G  385M  4.7G   8% /opt/oracle/dcs/commonstore
```



2台目

```
[oracle@sugihostname02 ~]$ df -hT 
Filesystem           Type   Size  Used Avail Use% Mounted on 
/dev/mapper/VolGroupSys-LogVolRoot
                     ext4    35G  5.1G   28G  16% /
tmpfs                tmpfs   15G  1.4G   14G  10% /dev/shm
/dev/sda2            ext4   1.4G   46M  1.3G   4% /boot
/dev/sda1            vfat   486M  276K  485M   1% /boot/efi
/dev/sdb             ext4   197G   25G  163G  14% /u01 <================== /u01 に Mount されているファイルシステムの、Avail が 162G となっている
/dev/asm/commonstore-379
                     acfs   5.0G  319M  4.7G   7% /opt/oracle/dcs/commonstore
```



## Oracle Clusterware の稼働確認

Oracle Clusterware が稼働 していること

1台目

```
[oracle@sugihostname01 ~]$ /u01/app/18.0.0.0/grid/bin/crsctl check cluster 
CRS-4537: Cluster Ready Services is online 
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
```



2台目

```
[oracle@sugihostname02 ~]$ /u01/app/18.0.0.0/grid/bin/crsctl check cluster  
CRS-4537: Cluster Ready Services is online 
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
```





# Secondary Role でパッチ適用

## Db System patch

pre check

![1567327535000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/82944ede-e8fd-6a68-3f15-55d0344d807e.png)



OK

![1567327546563.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/334e954f-3f14-4088-417f-6be412043757.png)



Checking

![1567327566151.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/2bb75c4d-82c1-081b-5f71-6b5e23ad255b.png)



Patch History が Succeeded となっていること

![1567328062849.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/d4617a02-496d-3540-4b03-29633ebcf4b4.png)



Apply

![1567328085655.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/922b9ad9-ebac-5ad8-e9b3-b23064dd53fb.png)



OK

![1567328096140.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/61341b0c-bb1e-adfc-f394-88b40ba39b6e.png)



適用完了

![1567329922413.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/e6855e24-179d-377e-cfe3-533c021a8421.png)



## Database patch

Pre-check

![1567329959047.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/b96eea79-8126-533a-080a-a237cd70f8b9.png)



OK

![1567327546563.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/a4bdd8fa-1c2e-a8af-edc3-b1dfebb8d47d.png)





Patch History に Checking が表示される

![1567329986971.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/c10c3186-226b-655b-5a72-e72116487a54.png)



Available 

![1567330323992.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/7363e2c5-c404-d631-de56-d95eac2560a1.png)



Apply

![1567330335856.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/00d26f62-9ab3-84e4-57a7-0001fd22616e.png)



OK

![1567328096140.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/8971305e-6928-ba1b-2b90-64c4e8b7f8af.png)



Apply完了

![1567331678501.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/79b056f5-9d62-e6bd-6228-63312533d70f.png)



# スイッチオーバー

スイッチオーバーを実施。アクセス断が発生 (Client 側でTAFを構成していれば、更新量に依存して、数分~数十分のアクセス断が発生)

無負荷の環境では、1分ちょっと断時間だった。

![1567331719938.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/09fc705e-062c-ca93-3158-c44f2eb88004.png)



Password入力

![1567331743167.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/7a8b13fc-cb67-a7ff-3ca2-d41052cb431c.png)



Available になることを確認



# スイッチオーバー後の Secondary Role でパッチ適用

## Db System patch

Pre-check

![1567332035191.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/14cfad30-a1b0-93bd-9c14-48520c187004.png)



OK

![1567327546563.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/d729e5fc-2a9b-203f-f0fc-97dde4bc15df.png)



checking

![1567332068132.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/e533fbd8-1e88-8f90-4bf8-ed4750ffbc69.png)



Succeeded

![1567332492559.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/086d8886-884a-01ac-6c74-754e16248730.png)



Apply

![1567332511741.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/0996c84b-52d3-82f9-a061-7da26487431a.png)



OK

![1567332529819.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/7fb74769-e1ea-031d-bf44-6a2e14c4f585.png)







## Database patch

Pre-check

![1567335992302.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/5b950542-9447-0aff-397c-e5f3754e7180.png)



OK

![1567336009031.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/6ab19b29-2b8b-4fff-39e0-e3d441303c47.png)



Precheck

![1567336030473.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/b1f7794c-10b9-0d74-88c7-0092c2e8b6fc.png)



Available

![1567336401669.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/13a72fdb-9f97-562b-9a58-cf78c97dbd32.png)



Apply

![1567336420950.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/28b92de4-26e9-7a10-70d3-18d0c8defe82.png)



OK

![1567336431585.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/92ff4ad4-7363-50ce-607a-8015c9e021cc.png)



Available

![1567337397314.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/7139acd1-9428-dd93-b3ce-5937c9690e26.png)



# 参考URL

## Oracle Document

https://docs.cloud.oracle.com/iaas/Content/Database/Tasks/patchingDB.htm