Oracle Database 23ai Freeの紹介

# Oracle Database 23ai Freeとは
Oracle Database 23ai Freeは、利用可能リソースや機能に制限を設けた形で無償提供されるOracle Database 23aiです。11g, 18c, 21cで提供されていたExpress Edition(以下XE)と類似の位置づけですが、23aiでは無償提供であることがよりわかりやすい名称となっています。
なお、本記事の情報は一部を除き基本的にマニュアルや製品情報ページの抜粋となります。また、本記事執筆時点(2023/5/3)時点ではLinux版のみの提供です。


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


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

- Multitenantに関して、16個までPDBの作成が可能です。EE/SE2へのPDBクローンも不可です(Datapumpは可)。
- RAC(Real Application Clusters)やDataGuardのような、複数ノードを連携させる機能は利用できません。なお、GoldenGateもGoldenGate Free 23aiを除いて利用不可です。ただし、Globally Distributed Database(旧バージョンにおけるShardingの後継機能)は3シャードまでの利用が可能です。RAFTを使用したレプリケーションも可能です。23ai Freeで高可用性構成を組まれたい場合はGlobally Distributed Databaseの利用をご検討ください。
- Flashback Database/Tableは利用できますが、Flashback Transaction/Transaction Queryは利用できません。
- Enterprise ManagerのオプションパックはCloud Management PackおよびLifecycle Management Pack以外が利用可能です。RAT(Real Application Testing)は利用不可です。
- True Cacheの利用は可能ですが、1ノードに限定されます。
- Database In-memoryは基本機能が利用可能です。2GBのメモリでインメモリDB? という話はありますが。。。
- セキュリティ関係の機能はTDE(Transparent Data Encryption), Database Vaultをはじめ、大半の機能が利用可能です。23ai新機能のSQL Firewallも利用可能です。
- パラレル処理関連機能は利用できません。
- Spatial and Graphは利用可能です。地理データベースとしてもグラフデータベースとしても利用可能です。
- パーティション機能は利用可能です。
- 圧縮関連の機能は大半の機能が利用可能です。
- Oracle Machine Learning(Advanced Analytics)は利用可能です。機械学習やデータマイニング、R言語からのアクセスが可能です。
- Transactional Event Queues(TEQ)はご利用いただけます。これらの機能をうまく使って、小規模データのマイクロサービスの基盤にXEという選択肢もありかもしれません。
- ASMやACFSの利用は可能ですが、Oracle Clusterwareは利用できません。
- RMANのリカバリ・カタログのような、Oracle Database関連機能のリポジトリ・データベースとして23ai 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版をRPM形式で提供しています。
Oracle Linux版とRed Hat Enterprise Linux(互換)OS版があります。
インストール対象バージョンはどちらも8と9ですが、ダウンロード対象ファイルが異なりますのでご注意ください。
Oracle VM VirtualBox用の[ovaファイル](https://download.oracle.com/otn_software/virtualbox/dd/Oracle_Database_23ai_Free_Developer.ova)でも提供されています。
Dockerイメージも提供されていますので、DockerやPodmanでの利用も可能です。
その他ソフトウェアの稼働要件は以下のとおりです。

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


# 23ai Freeのインストール
### Oracle Linux向け
```
dnf install -y oracle-database-free*
```
```
/etc/init.d/oracle-free-23ai configure
```

### Red Hat Enterprise Linux(互換)OS向け
```
dnf install -y oracle-database-preinstall*
```
```
dnf install -y oracle-database-free*
```
```
/etc/init.d/oracle-free-23ai configure
```

### Docker Image
```
docker pull container-registry.oracle.com/database/free:latest
```

### より詳細なインストール記事
[[23ai] 3コマンドで Oracle Database 23ai Free の インストール](https://qiita.com/nisshii0/items/e300edbbb7845a40cc11)


# 参考リンク

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

2. 23ai Free発表のブログ
https://blogs.oracle.com/database/post/23ai-autonomous-database-free


3. 23ai 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 23aiのマニュアル(サイト閲覧、英語)
https://docs.oracle.com/en/database/oracle/oracle-database/23/index.html