この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
しばたです。
少し前のはなしですが、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ともに同一です。
サポート期限の詳細については以下のドキュメントをご覧ください。
- Release Schedule of Current Database Releases (Doc ID 742060.1)
- 日本語版(Doc ID 2413744.1)は古い情報なので英語版を参照してください
- Lifetime Support Policy - Oracle Technology Products (PDF)
本日時点ではざっくり以下の通りとなっています。
バージョン | リリース種別 | サポート期限 (データベース本体) |
延長サポート期限 (データベース本体) |
---|---|---|---|
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 Editionoracle-se2-cdb-21
: Standard Edition 2
のcdb
付きの2種類のみです。
今回はStandard Edition 2を試すので下図の様な感じでoracle-se2-cdb-21
のパラメーターグループを作成します。
3. オプショングループの作成
次にオプショングループを作成します。
パラメーターグループと同様に選択可能なエンジンはcdb
付きの
oracle-ee-cdb
: Enterprise Editionoracle-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
最後に
以上となります。
延長サポートの無いバージョンなので本番環境で利用する機会は少ないかもしれませんが次の長期リリースに向けた検証に使うと良さそうですね。