Oracle Database 23c Free - Developer Release(23c XE)の紹介

名称変更を含んだ最新バージョンが提供されています。
本記事ではなく以下の記事をご参照ください。
[Oracle Database 23ai Freeの紹介](https://qiita.com/nakaie/items/609a85a34301fc9ed79c)

# Oracle Database 23c Free - Developer Releaseとは
Oracle Database 23c Free - Developer Releaseは、利用可能リソースや機能に制限を設けた形で無償で提供されるOracle Database 23cとなります。11g, 18c, 21cで提供されていたExpress Edition(以下XE)と類似の位置づけですが、過去のバージョンでは正式リリース後にXEが提供されたのに対し、23cでは逆にXE(相当)のエディションから提供が開始されています。
なお、本記事の情報は一部を除き基本的にマニュアルや製品情報ページの抜粋となります。また、本記事執筆時点(2023/4/4)時点ではLinux版のみの提供です。


# 23c Freeの基本仕様
- 従来(過去のXE)と同様、無償です。極論自社業務の本番環境としてご利用いただいても構いませんし、内容を変更せず追加費用も徴収しなければ再配布も可能です。ただし、従来と同様、有償のサポートサービスとパッチは提供されません。
- 利用可能な形態の詳細については、[無償利用規約(英語)](https://www.oracle.com/downloads/licenses/oracle-free-license.html)をご確認ください。特に動作確認や試使用のレベルを超えた利用をご検討される場合はご確認をお願いいたします。
- 21cに続き、Enterprise Editionがベースとなっています。ただし、Enterprise Editionのすべての機能が利用できるわけではありません(次項を参照)。
- 有償サポートは提供されませんが、[サポートフォーラム(英語)](https://forums.oracle.com/ords/apexds/domain/dev-community/category/oracle-database-free)があります。フォーラム内の質問へのオラクル社員からの回答を確認すると、将来的な機能拡張も予定されている模様です。
- 稼働リソースの制限は以下のとおりです。XE18c, 21cと同様です。リソース制限を上回るH/Wリソースの環境へのインストールは可能ですが、下記の範囲でしか稼働しません。
    - 2スレッドまでのCPU
    - 2GBまでのRAM
    - 12GBまでのユーザーデータ(圧縮機能利用時は圧縮結果で計算)


# 利用可能なデータベース・オプション、機能
他のエディションと同様、[ライセンスのマニュアル(英語)](https://docs.oracle.com/en/database/oracle/oracle-database/23/dblic/index.html)に、機能ごとに利用可否がわかる形で記載されています。以下は一部のみの紹介です。利用可能となっている機能も、細かい部分で非対応の機能があるのでご注意ください。

- Multitenantに関して、252個までPDBの作成が可能です。しかし、DBサイズの制限があるので、現実的に252個ものPDBの作成は難しいと思われます。EE/SE2へのPDBクローンも不可です(Datapumpは可)。
- RAC(Real Application Clusters)やDataGuard, Shardingのような、複数ノードを連携させる機能は利用できません。なお、GoldenGateも利用不可です。
- Flashback Database/Tableは利用できますが、Flashback Transaction/Transaction Queryは利用できません。
- Enterprise Managerのオプションパックは利用できません。RAT(Real Application Testing)も利用不可です。EM Expressは利用可能ですが、最初はローカルからのアクセスに制限されています(解除可能)。
- Database In-memoryは基本機能が利用可能です。2GBのメモリでインメモリDB? という話はありますが。。。
- セキュリティ関係の機能はTDE(Transparent Data Encryption), Database Vaultをはじめ、大半の機能が利用可能です。
- パラレル処理関連機能は利用できません。
- Spatial and Graphは利用可能です。地理データベースとしてもグラフデータベースとしても利用可能です。
- パーティション機能は利用可能です。
- 圧縮関連の機能は大半の機能が利用可能です。
- Oracle Machine Learning(Advanced Analytics)は利用可能です。機械学習やデータマイニング、R言語からのアクセスが可能です。
- Transactional Event Queues(TEQ)はご利用いただけます。これらの機能をうまく使って、小規模データのマイクロサービスの基盤にXEという選択肢もありかもしれません。
- Enterprise Managerのオプション機能は利用できません。
- ASMやACFSの利用は可能ですが、Oracle Clusterwareは利用できません。
- RMANのリカバリ・カタログのような、Oracle Database関連機能のリポジトリ・データベースとして23c Freeをご利用いただくことはできません。
- 以下のツールは同梱されていませんが、別途ダウンロードして利用することが可能です。
    - APEX(Oracle Application Express)
    - ORDS(Oracle REST Data Services)
    - Oracle SQL Developer
    - Oracle Developer Tools for Visual Studio
    - SQLcl
- データベースのキャラクタセットはAL32UTF8です。ただし、推奨されてはいませんが、DB作成前に変更することは可能です。Oracle Clientでのキャラクタセット変換は利用できるので、SJISや日本語EUCなどUFT-8以外の文字コードをアプリケーションで利用したい場合でも、デフォルト設定のままでXEの利用は可能です。


# インストール要件
Linux x86–64版をRPM形式で提供しています。
インストール可能ディストリビューションはOracle Linux 8, Red Hat Enterprise Linux 8, CentOS 8です。Oracle Linux 8ベースでDockerイメージも提供されています。その他ソフトウェアの稼働要件は以下のとおりです。

- 同一OS環境に他のエディション(SE2/EEなど)との共存は可能
- 同一OS環境にインストールできるXEはひとつのみ
- 最低1GB以上のRAM、推奨は2GB以上
- インストール先の領域として10GB以上のディスク容量
- 2GBないしメモリ容量の2倍のスワップ領域
- 設定の確認、変更が必要なカーネルパラメータは[マニュアル(英語)](https://docs.oracle.com/en/database/oracle/oracle-database/23/xeinl/requirements.html#GUID-427FACD2-F623-4BFA-AB3E-4FE283396547)をご確認ください。


# 23c Freeのインストール(RPM)
@500InternalServerErrorさんが以下の記事でインストール手順を公開されています。インストール以外のオペレーションについても記載されていますので、他のインストール方法を実施された方にも参考になります。
[Oracle Database 23c Free - Developer ReleaseをOracle Linux 8にインストールしてみた](https://qiita.com/500InternalServerError/items/45b4dd0cfc04fb1bab5e)

# 23c Freeインストール(Oracle VirtualBox)
@ora_gonsuke777さんが以下の記事でセットアップ手順を公開されています。この記事内でダウンロードしている公式のイメージには23c Free以外にもAPEXやSQL Developer等も一緒にセットアップされており、記事内でも触れられています。
[Oracle Database 23c Free - Developer Release VirtualBox Appliance で Oracle DB 23c環境 を 楽々構築](https://qiita.com/ora_gonsuke777/items/564471e460b2b58d8aa2)

# 23c Freeインストール(Oracle VirtualBox + Vagrant)
@shakiyamさんが以下の記事でセットアップ手順を公開されています。
[Oracle Database 23c Freeの簡易セットアップ](https://qiita.com/shakiyam/items/3dd28eee4c2d20fe66a6)

# インストール手順(Docker Image)
```
docker pull container-registry.oracle.com/database/free
```


# 参考リンク

1. Oracle Database 23c Free - Developer Releaseの製品情報(英語)
https://www.oracle.com/database/free/

2. Oracle Database 23c Free - Developer Release発表のブログ
- [Introducing Oracle Database 23c Free – Developer Release](https://blogs.oracle.com/database/post/oracle-database-23c-free)
- [上記の日本語訳](https://blogs.oracle.com/oracle4engineer/post/ja-oracle-database-23c-free)

3. 23c Freeのサポート・コミュニティ(掲示板、英語)
https://forums.oracle.com/ords/apexds/domain/dev-community/category/oracle-database-free

4. インストールマニュアル(英語)
https://docs.oracle.com/en/database/oracle/oracle-database/23/xeinl/index.html

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

6. Oracle Database 23cのマニュアル(サイト閲覧、英語)
https://docs.oracle.com/en/database/oracle/oracle-database/23/index.html