X

A blog about Oracle Technology Network Japan

  • July 28, 2020

第21回 バージョンとパッチ適用 (DBCS/ExaCS) | もしもみなみんがDBをクラウドで動かしてみたら

Eriko Minamino
Solution Engineer

もしもみなみんがDBをクラウドで動かしてみたら 連載Indexページ

※本記事は2020/08/25時点のものになります

みなさん、こんにちは。今回は、Database Cloud Service (DBCS) と Exadata Cloud Service (ExaCS) 上のバージョンやパッチについて、考え方やパッチ適用方法を解説していきたいと思います。

目次
  1. DBCSとExaCSのS/Wバージョンの考え方
  2. H/Wモデルの考え方
  3. パッチ適用方法
     DBSCの場合
     ExaCSの場合
  4. まとめ
    よくある質問

 

1. DBCSとExaCSのS/Wバージョンの考え方

Oracle Cloud 上でOracle Databaseを利用する上での選択肢として検討にあがるのは、主にPaaSサービスもしくはIaaS(Compute)上で利用するパターンになると思います。PaaSサービスの種類は第9回でご紹介しましたが、PaaSサービスの中にもFull-Managed型のAutonomous DatabaseとUser-Managed型のDBCS/ExaCSがあります。Aunomous Databaseの場合は、Full-Managedとしてソフトウェア・バージョンの管理も含むOracle Databaseの管理はオラクルが責任を持つため、バージョンやパッチレベルなどは基本的に最新のものを使う形になります。一方でDBCSやExaCSの場合は、OS以上はユーザー管理のためOracle DatabaseやGrid Infrastructureなどのバージョンやパッチレベルを、提供されている選択肢の中からお客様で選択して簡単に構築することができます。OS以上の中に含まれるデフォルトでインストール済のS/Wは、OS、Grid Infrastructure(GI)、Database(DB)、そしてPaaSサービスの管理のためのクラウド・ツールがあります。

DBCSやExaCSの場合、データベースを作成時に選択可能なバージョンはサポート提供中の各バージョンの最新リリースから選択が可能です。これは、Oracle Databaseのライフタイム・サポートに準拠している形となっており、Premier or Extended Supportの期間のものが対象になります。具体的には、現時点(2020/07)で利用可能なバージョンは、19/18/12.2.0.1/12.1.0.2/11.2.0.4の5種類となります。それぞれのパッチレベル(RU/BP/PSU)は、クラウド上でリリースされていてる最新と最新から2つ前までの、計3種類が提供されているので少し古いイメージでも作成可能です。これは、セキュリティ・ポリシーに準拠して、サービスとしてのイメージの提供は古くても最新から2つ前までとなっています。

また、Premier or Extended Supportの最終日がクラウド上でのサポートの最終日となります。この日を過ぎるとどうなるのかが一番気になると思いますが、OS以上はユーザー管理となるため、その日を過ぎたら勝手に削除されるということはありません。ただ、新規で作成が不可能となりクラウドの機能(コンソールやCLIなど)としてのサポートが終了することになるので、サポート終了日までにアップグレードをご検討いただくことが推奨です。

参考 
・MOS Doc ID 742060.1: Release Schedule of Current Database Releases
・MOS Doc ID 2333222.1: Exadata Cloud Service Software Versions
Oracle Lifetime Support Policy

 

2. H/Wモデルの考え方

インフラはオラクルが管理するため、普段あまり気にする必要のないH/Wについてですが、DBCSやExaCSなどはDBシステム(インスタンス)を作成する際に選択する"シェイプ"でH/Wの世代が決まっています。例えば、DBCSの場合はシェイプ名のVM.Standard2.2、ExaCSの場合はExadata.Quarter3.100の、それぞれの2セクション目(青字)の部分がH/Wモデルになります。(タイミングによっては、H/WモデルのEOLを意識する必要が出てくる可能性がありえますが、また別の回で解説したいと思います)

参考
・Doc ID 2649066.1: OCI - Oracle Database Exadata Cloud Service (ExaCS) Support Dates

 

3. パッチ適用方法

DBCSやExaCSはOS以上がユーザー管理となるため、OS以上のOS、Grid Infrastructure、Database、そしてPaaSサービスの管理のためのクラウド・ツールに対するパッチ適用は、ユーザー側でパッチ適用の計画と適用実施が可能です。ここでは、それぞれのパッチ適用方法についてご紹介します。

まずは、DatabaseとGrid Infrastructureについて。それぞれ、RU/BP/PSUのパッチがコンソールやAPI/CLIなどから適用可能です。ここで適用可能なパッチイメージは、定期的にリリースされて自動で使えるようになるので、ユーザー側でイメージのダウンロードなどは不要です。なお、DBCS/ExaCSでは、DBシステムのバージョンと表示されるものがGrid Infrastructureのバージョンを指します

なお、Grid Infrastructure(Oracle Clusterware)は自分と同じもしくは下位のバージョン・パッチレベルのDatabaseの管理が可能です。そのため、もしDatabaseにパッチ適用することで、Grid Infrastructureよりも上位になる場合、先にGrid Infrastructure側にパッチ適用をしましょう。

 

DBCSの場合

DBシステム(Grid Infrastructure)

『DBシステムの詳細』ページで、「DBシステム・バージョン」というのが、Grid Infrastructureのバージョンを指します。今回の環境は、19.5.0.0 の状態です。

opatchコマンドでも確認してみます。

[grid@emee ~]$ /u01/app/19.0.0.0/grid/OPatch/opatch lspatches
30269395;ACFS Interim patch for 30269395
30125133;Database Release Update : 19.5.0.0.191015 (30125133)
30122149;OCW RELEASE UPDATE 19.5.0.0.0 (30122149)
29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)

OPatch succeeded.

そのまま下の方にスクロールして、リソースの『パッチ』を選択すると、適用可能なパッチリストが表示されます。

今回は19.8.0.0を適用してみます。適用したいパッチの右の…をクリックして、『事前チェック』をしてみましょう。この環境に適用できるかどうか(コンフリクトなど)をチェックが走ります。Opatchのprereqなどが実行されるイメージです。確認画面で『OK』をクリックします。

事前チェックで問題がなければ、『適用』をしてみましょう。確認画面で『OK』をクリックします。

Real Application Clustersで2ノード構成になっている場合は、ローリングで一台ずつ適用されます。適用が完了すると、DBシステムのステータスが「使用可能」になります。バージョンが、19.8.0.0になってますね。

念のため、Opatchコマンドでも確認してみましょう。

[grid@emee ~]$ /u01/app/19.0.0.0/grid/OPatch/opatch lspatches
31335188;TOMCAT RELEASE UPDATE 19.0.0.0.0 (31335188)
31305087;OCW RELEASE UPDATE 19.8.0.0.0 (31305087)
31304218;ACFS RELEASE UPDATE 19.8.0.0.0 (31304218)
31281355;Database Release Update : 19.8.0.0.200714 (31281355)

OPatch succeeded.

 

Database

「データベース詳細」のページで、『データベース・バージョン』を確認します。今回の環境は、19.5.0.0になります。パッチのセクションに、このデータベースに対して適用可能なパッチリストが表示されます。

opatchコマンドでも確認してみます。

[oracle@emee ~]$ /u01/app/oracle/product/19.0.0.0/dbhome_1/OPatch/opatch lspatches
30423135;REINSTATE IS FAILING POST APPLYING 19C OCT19 PATCHES
30128191;OJVM RELEASE UPDATE: 19.5.0.0.191015 (30128191)
30125133;Database Release Update : 19.5.0.0.191015 (30125133)
30122149;OCW RELEASE UPDATE 19.5.0.0.0 (30122149)

OPatch succeeded.

 

今回は19.8.0.0を適用してみます。適用したいパッチの右の…をクリックして、『事前チェック』をしてみましょう。この環境に適用できるかどうか(コンフリクトなど)をチェックが走ります。Opatchのprereqなどが実行されるイメージです。

事前チェックで問題がなければ、『適用』をクリックして確認画面で『OK』をクリックします。

Real Application Clustersで2ノード構成になっている場合は、ローリングで一台ずつ適用されます。適用が完了すると、DBシステムのステータスが「使用可能」になります。バージョンが、19.8.0.0になってますね。また、適用したパッチは、「パッチ履歴」のリストに表示されます。

念のため、Opatchコマンドでも確認してみましょう。

[oracle@emee ~]$ /u01/app/oracle/product/19.0.0.0/dbhome_1/OPatch/opatch lspatches
31301460;JDK BUNDLE PATCH 19.0.0.0.200714
30432118;MERGE REQUEST ON TOP OF 19.0.0.0.0 FOR BUGS 28852325 29997937
31305087;OCW RELEASE UPDATE 19.8.0.0.0 (31305087)
31281355;Database Release Update : 19.8.0.0.200714 (31281355)
30128191;OJVM RELEASE UPDATE: 19.5.0.0.191015 (30128191)

OPatch succeeded.

 

クラウド・ツール

DBCSのOS上/コンピュート内のクラウド・ツール=CLIも定期的にアップデートをしておくことが推奨です。クラウド・サービスの新機能やそれに伴う既存機能の改善を反映することができます。Real Application Clustersの2ノード環境では、各ノードで実行して下さい。

[root@emee bin]# /opt/oracle/dcs/bin/cliadm update-dbcli

 

参考) Oracle Cloud Infrastructure ドキュメント CLI Update Command

 

OS

OSのアップデートに関しては、コンソールやAPI/CLIなどのクラウドの機能としては提供しているわけではなく、yumコマンドを使います。実際の手順は、下記ドキュメントに従って実施してください。

参考) Oracle Cloud Infrastructure ドキュメント OS Updates

 

ExaCSの場合

DBシステム(Grid Infrastructure)

『DBシステムの詳細』ページで、「DBシステム・バージョン」というのが、Grid Infrastructureのバージョンを指します。今回の環境は、19.7.0.0 の状態です。

opatchコマンドでも確認してみます。

[grid@emexa1-fzexn1 ~]$ /u01/app/19.0.0.0/grid/OPatch/opatch lspatches
30898856;TOMCAT RELEASE UPDATE 19.0.0.0.0 (30898856)
30894985;OCW RELEASE UPDATE 19.7.0.0.0 (30894985)
30869304;ACFS RELEASE UPDATE 19.7.0.0.0 (30869304)
30869156;Database Release Update : 19.7.0.0.200414 (30869156)

OPatch succeeded.

 

 

 

 

「使用可能な最新パッチ」の横にある『表示』をクリックします。

「データベース・システム」のセクションに、適用可能なパッチリストが表示されます。今回は19.8.0.0を適用してみます。適用したいパッチの右の…をクリックして、『事前チェック』をしてみましょう。この環境に適用できるかどうか(コンフリクトなど)をチェックが走ります。Opatchのprereqなどが実行されるイメージです。

事前チェックで問題がなければ、『適用』をクリックして確認画面で『OK』をクリックします。

ExaCSはReal Application Clusters構成になっているので、ローリングで一台ずつ適用されます。適用が完了すると、DBシステムのステータスが「使用可能」になります。バージョンが、19.8.0.0になってますね。

念のため、Opatchコマンドでも確認してみましょう。

[grid@emexa1-fzexn1 ~]$ /u01/app/19.0.0.0/grid/OPatch/opatch lspatches
31335188;TOMCAT RELEASE UPDATE 19.0.0.0.0 (31335188)
31305087;OCW RELEASE UPDATE 19.8.0.0.0 (31305087)
31304218;ACFS RELEASE UPDATE 19.8.0.0.0 (31304218)
31281355;Database Release Update : 19.8.0.0.200714 (31281355)

OPatch succeeded.

 

参考) Oracle Cloud Infrastructure ドキュメント Patching an Exadata DB System

CLIで実行したい場合はこちら Patching an Exadata DB System Manually

Database

ExaCSの場合、1つの環境上に複数バージョンの複数のデータベースが作成可能です。また、複数データベースで1つのデータベース・ホーム(ORACLE_HOME)を共有可能です。データベースのパッチは、"データベース・ホーム"に適用されるので、コンソール上の表示としてもデータベースごとではなくデータベース・ホームに対して作業をしていきます。今回は、対象のデータベース「EMDB」が属するデータベース・ホーム「dbhome202007」に適用していきます。バージョンは19.7.0.0になります。

opatchコマンドでも確認してみます。

[oracle@emexa1-fzexn1 ~]$ opatch lspatches
30432118;MERGE REQUEST ON TOP OF 19.0.0.0.0 FOR BUGS 28852325 29997937
29997959;DSTV34 UPDATE - TZDATA2019B - NEED OJVM FIX
30805684;OJVM RELEASE UPDATE: 19.7.0.0.200414 (30805684)
30894985;OCW RELEASE UPDATE 19.7.0.0.0 (30894985)
30869156;Database Release Update : 19.7.0.0.200414 (30869156)

OPatch succeeded.

 

「データベース・ソフトウェア・バージョン」の「使用可能な最新パッチ」の横の『表示』をクリックします。

Grid Infrastructureと同じ「パッチ」ページへ遷移しました。

「データベース・システム」のセクションに、適用可能なパッチリストが表示されます。適用したいパッチの右の…をクリックして、『事前チェック』をしてみましょう。この環境に適用できるかどうか(コンフリクトなど)をチェックが走ります。Opatchのprereqなどが実行されるイメージです。

事前チェックで問題がなければ、『適用』をクリックして確認画面で『OK』をクリックします。

ExaCSはReal Application Clusters構成になっているので、ローリングで一台ずつ適用されます。適用が完了すると、DBシステムのステータスが「使用可能」になります。バージョンが、19.8.0.0になってますね。

念のため、Opatchコマンドでも確認してみましょう。

[oracle@emexa1-fzexn1 ~]$ opatch lspatches
30432118;MERGE REQUEST ON TOP OF 19.0.0.0.0 FOR BUGS 28852325 29997937
29997959;DSTV34 UPDATE - TZDATA2019B - NEED OJVM FIX
31301460;JDK BUNDLE PATCH 19.0.0.0.200714
31219897;OJVM RELEASE UPDATE: 19.8.0.0.200714 (31219897)
31305087;OCW RELEASE UPDATE 19.8.0.0.0 (31305087)
31281355;Database Release Update : 19.8.0.0.200714 (31281355)

OPatch succeeded.

 

参考) Oracle Cloud Infrastructure ドキュメント Patching an Exadata DB System

CLIで実行したい場合はこちら Doc ID 2676835.1: Manual Install of Database Patch Updates on the Exadata Cloud Service in OCI

クラウド・ツール

ExaCSのOS上/コンピュート内のクラウド・ツールは、デフォルトで自動アップデートが毎週実行されるように設定されています。実際にはrpmのパッケージのアップデートが実行されるイメージなので、データベースやGrid Infrastructureなど、システムへの影響はありません。また、このツールが最新になることで、クラウド・サービスの新機能やそれに伴う既存機能の改善が使えるようになるため、自動アップデートは有効のままにしておくことが推奨です。

・クラウド・ツールのバージョンの確認

# rpm -qa|grep -i dbaastools_exa
dbaastools_exa-1.0-1+20.1.1.0.0_200620.0101.x86_64

 

自動アップデートは毎週1回ですが、すぐに新機能を使いたい場合や既知問題の対応など、手動でアップデートしたい場合は下記のコマンドでアップデート可能です。

・適用可能なパッチリスト

#  dbaascli patch tools list
DBAAS CLI version 20.1.1.0.0
Executing command patch tools list

Checking tools on all nodes
Current Patchid on emexa1-fzexn1: 20.1.1.0.0_200620.0101

Available Patches
Patchid : 20.1.1.0.0_200709.1315(LATEST)

Install tools patch using
dbaascli patch tools apply --patchid 20.1.1.0.0_200709.1315    or
dbaascli patch tools apply --patchid LATEST

All Nodes have the same tools version

 

・パッチ適用(最新を適用 ★推奨)

#  dbaascli patch tools apply --patchid LATEST

 

・パッチ適用(IDを指定して適用)

#  dbaascli patch tools apply --patchid <パッチID>

 

参考) Oracle Cloud Infrastructure ドキュメント Updating Tooling on an Exadata DB System

 

OS

OSのアップデートに関しては、コンソールやAPI/CLIなどのクラウドの機能としては提供しているわけではなく、Exadataのpatchmgrを使います。実際の手順は、下記ドキュメントに従って実施してください。

参考) Oracle Cloud Infrastructure ドキュメント OS Updates

 

4. まとめ

DBCS/ExaCSはOS以上はユーザー管理のため、パッチ適用のタイミングや適用するか否かの判断をユーザー側でできるという柔軟度はあります。ただし、ずっとパッチを適用しない(塩漬け)でいいというわけではありません。パッチを古いまま使い続けることはセキュリティ面や既知の不具合などリスクがあること、また、環境の再作成が必要になった場合に古いイメージで新規作成ができないことなどのリスクが考えられます。そのため、ぜひ定期的なパッチ適用を行っていただければ幸いです。

 

よくある質問

Q1) DBCS/ExaCS上のGrid InfrastructureやDatabaseに対する個別パッチは、コンソールから適用できますか

A1) コンソールなどクラウドのツールで適用可能なパッチとして提供されているのは、RU/BP/PSUになります。そのため、個別パッチについては、従来通りSRでお問い合わせの上、手動(Opatch)にて適用してください。

Q2) DBCS/ExaCS上のGrid InfrastructureやDatabaseに対して、パッチ適用をせずにそのまま使い続けた場合、自動で適用されたり削除されたりしますか。

A2) DBCS/ExaCSの場合OS以上はユーザー管理領域となるため、オラクル側で勝手に自動パッチ適用や削除などは行いません。ただし、パッチを古いまま使い続けることはセキュリティ面や既知の不具合などリスクがありますので、定期的なパッチ適用の計画・実施をしていただくことを推奨いたします。

 

更新履歴

2020/08/25 ExaCSのDBシステム(Gird Infrastructure)とDatabaseのCLIでのパッチ適用方法のリンク追加

もしもみなみんがDBをクラウドで動かしてみたら 連載Indexページ

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.