Oracle Databaseの機能がどのリリース、どのエディションで利用可能か調査する

####概要
Oracle Databaseには非常に多くの機能があります。（オンプレミス環境で利用されているSWから）複数のエディションとオプションがあり、Oracle Cloud InfrastructureのPaaSのデータベースサービスにも複数の種類があります。リリースも20cまで重ねており、各リリースで新しい機能が追加されてきています。
このことにより、Oracle Databaseの利用を検討するとき次のような不便さがあります。

- 各リリースの新機能にどのようなものがあるかわかりずらい
- 利用したい機能が、どのリリースから利用できるのか、どのエディションとオプションが必要なのかわかりずらい

Oracle Databaseのマニュアル「[データベース・ライセンス情報ユーザー・マニュアル](https://docs.oracle.com/cd/F19136_01/dblic/index.html)」「[データベース新機能ガイド](https://docs.oracle.com/cd/F19136_01/newft/index.html)」などを参照することで解決できるのですが、各リリース毎にこの2つのマニュアルを参照することは、結構面倒です。

Oracleから「[データベース機能アプリケーション](https://apex.oracle.com/database-features/)」というページが提供されており、ここで上記のような不便さを軽減することができます。ここでは、このページ（アプリケーション）がどのようなものか紹介します。この[データベース機能アプリケーション]は英語ですが、Oracle Databaseの各機能に必要なリリースやエディションを調べるのにとても有用です。本記事は、このページ（アプリケーション）の使い方を紹介します。

2020年4月ごろの情報・環境を元に本記事は記載しています。

####各機能がどのリリース、どのエディションで利用可能となっているか確認する
「データベース機能アプリケーション」にアクセスすると次のような画面が表示されます。この画面の左側に操作用の設定項目があり、その設定に応じて右側に表示されている機能のリストが変わります。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/d4c131af-501c-56f4-f3de-6dd61ebf7a75.png)
最初にアクセスした時点では、左の画面上部に[Features]というタブが選択されています。このタブを選択している場合、右側にはOracle Databaseの詳細な機能のリストが表示さます。左上部で[Licensing]を選択した場合、右に表示されるリストの粒度が変わります（オプション名も表示されます）。基本的には[Fetures]の方がより詳細な機能のリストになっています。
右に表示されている機能のリストを選択してクリックすると、次のような画面が表示されます。ここでは[.NET Cloud Development and Deployment]という機能の詳細が確認できます。（この画面は、基本的に同じ構成ですが機能によって少し違う点もあります）
![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/1105601b-790d-b035-61d2-02c637af4130.png)
使いたい機能に関する一通りの情報がここから得られます。便利！その機能の概要、どこが利点か（[Business Benefit])を冒頭で確認できます。
[Release Availability]で、どのリリースで利用できるのか、ということが確認できます。この画面の例であれば12.2以降で利用できることが表示されています。
[Available On]を確認すると[ALL OFFERINGS]とあります。これはすべてのOracle Databaseのディションで利用できる、ということです。
このように該当する機能が利用できるための条件を確認することができます。
この画面で[View Documentation]をクリックすると、この機能のマニュアル上で該当する箇所をブラウザで表示します。次のような感じです。
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/323693e5-add0-2eda-a165-a7f8f9d99467.png)
表示されるのは英語のマニュアルの該当箇所ですが、日本語マニュアルがでているものであれば同じ章番号を探せば該当する機能のマニュアルでの説明箇所にたどり着けます。これはかなり便利です。
別の機能に関しても確認してみましょう。[AUTOTASK_MAX_ACTIVE_PDBS Initialization Parameter]という機能に関してみてみます。リスト表示では下記のようになっています。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/10917ebe-4510-acef-66b3-978c84ec2bb5.png)

この画面で、12.2以降で利用可能であることがわかります。クリックして詳細を確認してみます。

![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/375ab9a6-31ac-066a-bf84-a9cf5c8cc805.png)

この機能はSE2を含むすべてのエディションで利用可能となっています。これは少し特殊な例です。[Notes:]にあるようにOracle Database 19cからすべてのエディションで3つまではマルチテナント機能のPDBを作成できるようになりました。その点を踏まえた記述になっています。上記の画面をスクロールして下部を表示すると、18cまでのことが記載されています。
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/2f24a9e6-8149-656b-1062-302a8f42f2b6.png)

####各リリースの新機能のリストを確認する
あるリリースの新機能のリストを確認することもできます。下記の画面にあるように、左上部で[Features]タブを選択した上で、[Version]を選択し[New Features Only]をチェックします。この例ではさらに[Focus Area]で[Performance]を選択します。
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/512bb088-0378-8212-c14e-b72f5bf61e63.png)
これでパフォーマンスに関する20cでの新機能のリストが表示されます。実際にある機能が、どの機能領域にあるかは判断が分かれることもある点は注意ください。

####エディション毎の機能を確認する
Oracle Databaseは複数のエディション、オプションがあります。Oracle Cloud Infrastructureで提供されているPaaSサービス(DBシステム = Database Cloud Service)には複数の種類があります。さらにExadataのみで利用可能な機能もあります。同じコアエンジンですが複数の提供方式があり利用できる機能も異なります。
各機能がどのOracle Databaseで利用可能なのかを確認するには、画面左上で[Licensing]タブを選択します。下記のような画面になります。
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/fd7e50de-89a2-948c-aaeb-eeb512623209.png)
デフォルトで[Enterprise Edition][Exadata][Database Cloud Service Enterprise Edition]が選択されています。これらの3つのOracle Databaseで利用可能な機能が画面左側に表示されます。画面左の上部には[EE][EXA][DBCS EE]とあり、選択している3つのOracle Databaseのどれで利用できて、どれでは利用できないか、というのがわかるようになっています。この画面の例では、[.NET Stored Procedures]という機能がEnterprise Editionでは利用でき、ExadataやクラウドのDatabase Cloud Service Enterprise Edtionでは利用できないことがわかります。少し特殊な例ですが、該当の機能はWindowsでのみ利用できる機能なので、そのようになりますね。
エディションの選択を外すと、すべての種類のOracle Databaseに関して表示されるようになります。
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/fdfb170f-85ee-e332-7220-3227ee721a29.png)

Standard Edition2の機能だけを表示するようにして、画面右を確認してみます。
![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/de55f8c1-9067-44cf-3ce1-40eabbcfb359.png)
画面左上で[Licensing]タブを選択している場合、画面右には機能だけではなくオプションも表示されます。Standard Edition2を選択すると、下記のオプションが表示されます。
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/81e79bde-ad73-9620-fefb-66dbbb3bd1dd.png)
通常Oracle DatabaseのオプションはEnterprise Edtionに追加するものですが、これらのオプション機能はStandard Edtion2でも利用できるようになったものです。それを反映した表示になっています。
ここで[Machine Learning]をクリックして、詳細を表示させます。

![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/380e30d0-8125-04cc-66e0-c45e4dab29f0.png)

以前はMachine Learningは有償のオプションでしたが、現在追加の費用が不要になったことと、それに関するブログの記事へのリンクがあります。さらに[View Releateed Features]をクリックします。

![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/9806420a-b26f-550d-0d6b-c14e0b68537a.png)
このように画面左上で[Features]タブの表示になり、オプションの[Machine Learning]に含まれる機能のリストが表示されます。それぞれの機能が利用できるリリースがわかります。これはかなり便利です。

####特定の機能が含まれるエディションを確認する
ある特定の機能名がわかっているとして、それが利用可能なエディションを知りたいこともあるでしょう。ここでは「Database Replay」という機能名が利用できるエディションを確認してみます。

画面左上で[Licensing]タブを選択し、[Search]に[Database Replay]と入力し、画面左側の下部にある検索のためのボタン(虫眼鏡)をクリックします。すると、下図のように[Oracle Real Apption Testing]というオプションが表示されます。
![17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/cbb1749b-4690-209c-2031-0d3d2114f27e.png)
この画面から、Enterprise Edition(EE)にReal Apptioncation Testingというオプション(Option)が必要であることがわかります。オプション追加の考え方でないOracle Cloud InfrastructureのDBシステムでは、Database Cloud Service Enterprise Edition以上であればいいことがわかります。

画面右側の[Oracle Real Application Testing]をクリックして詳細を確認します。
![18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368742/a9958c89-d9d4-0445-1a4e-6ab0bae9b41a.png)
このようにReal Application Testingのオプションには、Database Replayという機能が含まれていることが確認できます。