Oracle Database 21c Express Editionの紹介(Windows編)

# はじめに
21c XE Linux版の解説については[こちら](https://qiita.com/nakaie/items/5c7f5ccd0a70ca66b189)をご覧ください。
18c XE Linux版の解説については[こちら](https://qiita.com/nakaie/items/2e383d4916530dce6a4f)をご覧ください。


# Oracle Database Express Edition (XE)とは
Oracle Database Express Editionは、利用可能リソースや機能に制限を設けた形で無償で提供される、Oracle Databaseのエディションのひとつです。11gで初のXEが提供されてから、18c版を経て、21c版の提供が開始されました。

18c版XEが出た頃と違い、21c版XE出荷時点ではOracle CloudのAlways Free環境にて、全体的にXEよりも緩い機能制限で無償でOracle Autonomous Database Cloud Serviceをご利用いただけます。クラウドの利用が可能な場合はこちらのご利用がおすすめですが、オンプレミス環境やIaaS環境上で無償でOracle Databaseを利用したい場合は現在でもXEが有用です。

なお、本記事の情報は基本的にマニュアルや製品情報ページの抜粋です。個別に動作確認した部分などをしばらく追記、変更していきます。


# XE 21cの基本仕様
- 従来と同様、無償です。特段の利用場面の制限もなく、極論本番環境としてご利用いただいても構いません。ただし、従来と同様、サポートサービスとパッチは提供されません。
- 利用ライセンスの詳細については、[ライセンスのマニュアル(英語)](https://docs.oracle.com/en/database/oracle/oracle-database/21/dblic/index.html)をご確認ください。
- 18cに続き、Enterprise Editionがベースとなっています。ただし、Enterprise Editionのすべての機能が利用できるわけではありません(次項を参照)。
- 稼働リソースの制限は以下のとおりです。18cと同様です。リソース制限を上回るH/Wリソースの環境へのインストールは可能ですが、下記の範囲でしか稼働しません。
    - 2スレッドまでのCPU
    - 2GBまでのRAM
    - 12GBまでのユーザーデータ


# 利用可能なデータベース・オプション、機能
他のエディションと同様、[ライセンスのマニュアル(英語)](https://docs.oracle.com/en/database/oracle/oracle-database/21/dblic/Licensing-Information.html#GUID-0F9EB85D-4610-4EDF-89C2-4916A0E7AC87)に、機能ごとに利用可否がわかる形で記載されるようになりました。18c時代に比べて、できること/できないことがよりわかりやすくなっています。ただし、2021/12/8時点では英語版のマニュアルにのみ記載されています。以下は一部のみの紹介です。利用可能となっている機能も、細かい部分で非対応の機能があるのでご注意ください。

- Multitenantに関して、18cで作成可能なPDBは3つまででしたが、21cではEneterprise Editionと同じ252個に拡大されました。　しかし、XEにはDBサイズの制限があるので、現実的に252個の作成は難しいと思われます。
- RAC(Real Application Clusters)やDataGuard, Shardingのような、複数ノードを連携させる機能は利用できません。なお、GoldenGateも利用不可です。
- Enterprise Managerのオプションパックは利用できません。RAT(Real Application Testing)も利用不可です。EM Expressは利用可能ですが、最初はローカルからのアクセスに制限されています(解除可能)。
- Database In-memoryは基本機能が利用可能です。2GBのメモリでインメモリDB? という話はありますが。。。
- セキュリティ関係の機能はTDE(Transparent Data Encryption)をはじめ、大半の機能が利用可能です。
- パラレル処理関連機能は利用できません。
- Spatial and Graphは利用可能です。地理データベースとしてもグラフデータベースとしても利用可能です。
- パーティション機能は利用可能です。
- 圧縮関連の機能は大半の機能が利用可能です。
- Advanced Analyticsは利用可能です。機械学習やデータマイニング、R言語からのアクセスが可能です。
- Advanced Queuing(AQ)や、AQの後継となる21c新機能のTransactional Event Queues(TEQ)はご利用いただけます。これらの機能をうまく使って、マイクロサービスの基盤にXEという選択肢はありかもしれません。
- Enterprise Managerのオプション機能は利用できません。
- APEX(Oracle Application Express)やORDS(Oracle REST Data Services)は同梱されていませんが、別途ダウンロードして利用することが可能です。
- Oracle SQL Developerから利用が可能です。
- .Net Stored Procedureなど、Windows版のOracle Database特有の機能はご利用いただけます。
- データベースのキャラクタセットはAL32UTF8です(DB作成前に変更可能)。Oracle Clientでのキャラクタセット変換は利用できるので、SJISや日本語EUCなどUFT-8以外の文字コードをアプリケーションで利用したい場合でも、デフォルト設定のままでXEの利用は可能です。
- その他目についた利用不可な機能：Resource Manager, SPM(SQL Plan Management), STS(SQL Tuning Set), etc.



# インストール要件
インストール可能バージョンは以下になります。Windows 10のHome Editionには対応していません。

- Windows 10 x64 - Pro, Pro for Workstations, Enterprise, and Education editions
- Windows Server 2012 R2 x64 - Standard, Datacenter, Essentials, and Foundation editions
- Windows Server 2016 x64 - Standard, Datacenter, and Essentials editions
- Windows Server 2019 x64 - Standard, Datacenter, and Essentials editions

その他ソフトウェアの稼働要件は以下のとおりです。

- 他のエディション(SE2/EEなど)との共存は不可
- 1OS環境にインストールできるXEはひとつのみ。再インストールの際も、インストール済みのXEのアンインストールが必要
- 2GB以上のRAM
- インストール先の領域として8GB以上のディスク容量
- 2GB以上の一時ディスク領域


# インストール手順
###1. インストールユーザーでログイン
インストールする際のユーザーがAdministratorsグループに所属している必要があります。


###2.XEのダウンロード
 [ダウンロードサイト](https://www.oracle.com/database/technologies/xe-downloads.html)より、製品をダウンロードします。

###3. ダウンロードしたファイルを一時領域に展開

###4. 展開先のsetup.exeを実行
インストール準備が面が立ち上がります。おとなしく待ちます。
![screenshot_20211213_074442.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/047009a6-be26-eb84-35e7-e3f8fb5ce299.png)

初期画面です。「次へ」をクリックします。
![screenshot_20211213_074553.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/3a7d25bd-85f7-60b1-c432-bed5eb821b7e.png)

使用許諾画面です。「使用許諾条項を受け入れます」を選択して「次へ」をクリックします。
![screenshot_20211213_082115.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/ff56a666-08bc-91bb-40b8-7be04437d995.png)

インストール先フォルダを指定します。デフォルトは「c:\app\ユーザー名\product\21c」です。必要な場合はフォルダを変更した上で「次へ」をクリックします。
![screenshot_20211213_082732.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/437b1280-d75f-3694-4f52-abd93d2c3274.png)

管理者パスワードを入力して「次へ」をクリックします。
![screenshot_20211213_083230.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/c8e7b190-6ac4-55bf-71e9-e872b5287ed8.png)

確認画面です。問題がなければ「インストール」をクリックするとインストールが実施されます。
![screenshot_20211213_084035.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/95d1dddc-293a-cb17-7580-fad47f97b6c4.png)

インストール完了画面です。「完了」をクリックしてインストール画面を終了させます。
![screenshot_20211213_085706.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/372b7104-f0ba-e0a9-9537-06bda019dabb.png)


# DBの起動、停止
インストール後はインスタンスは起動されています。また、OS起動時にXEのインスタンスも起動します。他のエディションのOracle Databaseと同じく、サービスのコントロールも可能です。SQL*Plusからのstartup, shutdownも可能です。


# 参考リンク

1.XEの製品情報(英語)
https://www.oracle.com/database/technologies/appdev/xe.html

2.XE発表のブログ(英語)
- Windows版：[Oracle Database 21c and Express Edition (XE) Now Available on Windows](https://blogs.oracle.com/database/post/oracle-database-21c-for-windows)
- Linux版：[Oracle Database 21c XE now generally available](https://blogs.oracle.com/database/post/oracle-database-21c-xe-generally-available)

3.XEのサポート・コミュニティ(掲示板、英語)
https://community.oracle.com/community/groundbreakers/database/developer-tools/oracle_database_express_edition_xe

4.マニュアル(英語)
- [Installation Guide for Windows](https://docs.oracle.com/en/database/oracle/oracle-database/21/xeinw/index.html)
- [Installation Guide for Linux](https://docs.oracle.com/en/database/oracle/oracle-database/21/xeinl/index.html)

5.ライセンス情報(英語)
https://docs.oracle.com/en/database/oracle/oracle-database/21/dblic/index.html

6.Oracle Database 21cのマニュアル(サイト閲覧、日本語)
https://docs.oracle.com/cd/F39414_01/books.html

7.Oracle Database 21cのマニュアル(ダウンロード、約1.2GB、日本語)
https://docs.oracle.com/cds/F39414_01.zip

# 更新履歴
2021/12/13 公開