[アップデート] RDS for Oracle で Oracle Database 21c が利用可能になりました

2022.03.15

しばたです。

少し前のはなしですが、RDS for OracleでOracle Databaseの最新バージョンである21cがサポート開始されました。
AWSからのアナウンスはこちらになります。

注意事項

いきなりですがRDS for Oracle 21cを利用するにあたり注意事項がいくつかあるので先に解説しておきます。

1. Oracle 21cは革新リリース (Innovation Release)

現在のOracle Databaseには延長サポートが提供される長期リリース(Long term Release)とそうでない革新リリース(Innovation Release)の2種類のリリースサイクルが存在しており、Oracle 21cは革新リリース(Innovation Release)です。

本日時点で最新の長期リリースはOracle 19cであり、延長サポートを含めるとOracle 19cの方がサポート期限が長いのでご注意ください。 ちなみに通常のサポート(Premier support)期限はOracle 19c、21cともに同一です。

サポート期限の詳細については以下のドキュメントをご覧ください。

本日時点ではざっくり以下の通りとなっています。

バージョン リリース種別 サポート期限
(データベース本体)
延長サポート期限
(データベース本体)
21c Innovation 2024年4月 - (提供無し)
19c Long term 2024年4月 2027年4月
18c - 2021年6月 - (提供無し)

2. Oracle 21cはMultitenant構成のみのサポート

以前の記事で触れましたが、Oracle 21cからOracle Multitenant構成によるコンテナデータベースのみがサポート対象となります。

このためRDS for Oracleでもコンテナデータベースのみ作成可能です。

また、上記記事で触れた様にユーザーが独自にプラガブル・データベース(PDB)を作成することはできません。
RDSとしてはあくまでも1テナント1DBインスタンスとなります。

3. RDS for Oracleで選択可能なエディション

RDS for Oracleで利用可能なOracle 21cのエディションは以下の通りです。

  • Enterprise Edition : BYOLのみ
  • Standard Edition 2 : BYOL、および、License Included

これまで通りEnterprise EditionはBYOLのみの提供となります。

試してみた

ここからは実際に試していきたいと思います。

今回は私の検証用AWSアカウントの東京リージョンで試しています。
VPCなど事前に必要なリソースは構築済みの状態からはじめていきます。

1. サブネットグループの作成

サブネットグループの作成手順は他のRDSと変わらないのでここでは説明を割愛します。
環境に応じてよしなに作成しておいてください。

2. パラメーターグループの作成

まずはパラメーターグループから作成します。

先ほど説明した通りOracle 21cではコンテナデータベース構成のみのサポートのため、利用可能なパラメーターグループファミリーは

  • oracle-ee-cdb-21 : Enterprise Edition
  • oracle-se2-cdb-21 : Standard Edition 2

cdb付きの2種類のみです。
今回はStandard Edition 2を試すので下図の様な感じでoracle-se2-cdb-21のパラメーターグループを作成します。

3. オプショングループの作成

次にオプショングループを作成します。

パラメーターグループと同様に選択可能なエンジンはcdb付きの

  • oracle-ee-cdb : Enterprise Edition
  • oracle-se2-cdb : Standard Edition 2

となり、メジャーエンジンバージョンを21にします。

4. DBインスタンスの作成

ここからDBインスタンスを作成します。
マネジメントコンソールからデータベースの作成を開始します。

今回は標準作成を選びます。

データベースエンジンを「Oracle」にして種別を「Amazon RDS」にします。
そして必ず「マルチテナントアーキテクチャを使用」にチェックを付けてください。
(チェックしないとOracle 21cは選択対象に挙がりません)

あとはよしなにエディションとバージョンを選びます。
今回は「Standard Edition 2」の「Oracle 21.0.0.0.ru-2022-01.rur-2022-01.r1」を選択しました。

あとは通常のRDSと同様に各種設定を環境に応じて行います。

先ほど作成したパラメーターグループとオプショングループを指定してやります。

これでDBインスタンスを作成し、しばらく待つと下図の様に利用可能になります。
以前紹介した様にコンテナデータベース構成なのでエンジン名に(CDB)が付きます。

5. 接続確認

あとは通常のデータベース同様にクライアントから接続して利用してください。

今回は接続用EC2を別途用意しSQLclを使って動作確認してみました。

# SQLclで接続 : SIDにPDB名を指定する
C:\ sql "RDSに対する接続文字列"
Last Successful login time: 火 3月  08 2022 02:51:00 +00:00

接続先:
Oracle Database 21c Standard Edition 2 Release 21.0.0.0.0 - Production
Version 21.5.0.0.0

SQL>

V$DATABASEビューからコンテナデータベース構成であることがわかり、また、PDB環境にいるのでV$CONTAINERSビューからは自身の情報のみが参照可能です。

# CDB = YES とコンテナデータベース構成であることがわかる
SQL> SELECT NAME, CREATED, PLATFORM_NAME, CDB
  2    FROM V$DATABASE
  3* /

     NAME     CREATED       PLATFORM_NAME    CDB
_________ ___________ ___________________ ______
RDSCDB    22-02-16    Linux x86 64-bit    YES

# V$CONTAINERSビューでは自身の情報のみ参照可能
SQL> SELECT NAME, CON_ID, DBID, CON_UID, GUID
  2    FROM V$CONTAINERS
  3   ORDER BY CON_ID
  4* /

   NAME    CON_ID          DBID       CON_UID                                GUID
_______ _________ _____________ _____________ ___________________________________
ORCL            3    3293816252    3293816252 D9AC538CD7651581E0530100007FE906

最後に

以上となります。

延長サポートの無いバージョンなので本番環境で利用する機会は少ないかもしれませんが次の長期リリースに向けた検証に使うと良さそうですね。