Oracle Database 21cのインストールを試す

オンプレミス版のOracle Database 21cがダウンロードできるようになったため、インストールしてみました。インストール・メディは[こちら](https://www.oracle.com/database/technologies/oracle21c-linux-downloads.html)からダウンロードできます。Linux x86-64 版の[インストール条件](https://docs.oracle.com/en/database/oracle/oracle-database/21/ladbi/oracle-database-installation-checklist.html#GUID-E847221C-1406-4B6D-8666-479DB6BDB046)は Oracle Database 19c と大きく変わりませんが、バージョンとして Oracle Linux 7 / Red Hat Enterprise Linux 7 は7.4（または7.5）以上、Oracle Linux 8.2 以上が必要になります。

# 事前準備
Oracle Linux を使っている場合の事前準備に使える Pre-Install 用の RPM ファイルは [Oracle Linux Public Yum](https://yum.oracle.com/oracle-linux-8.html) で提供されています（oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm）。Red Hat Enterprise Linux の場合はインストール・ガイドからインストール要件を確認して設定を行います。必要なパッケージ等の要件は Oracle Database 19c とほとんど変化がありません。

# インストール
インストール方法は以前のバージョンと変わっていません。ただし Oracle Database 18c からインストール専用メディアは提供されず、Oracle Home ディレクトリに zip ファイルを展開するだけになっています。

```
$ export ORACLE_HOME=/u01/app/oracle/product/21.3.0/dbhome_1
$ mkdir -p $ORACLE_HOME
$ cd $ORACLE_HOME
$ unzip ~/LINUX.X64_213000_db_home.zip
```

展開が終わったら GUI 環境でインストーラーを起動します。

```
$ cd $ORACLE_HOME
$ ./runInstaller
```
インストール後に DBCA を実行するかを設定します。ここではインストールのみ行います。

![Select Configuration Option](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/edd4efe4-2b3b-9fb2-c2cf-420a2fd774bf.png)

次の画面は、シングル環境か Real Application Clusters 環境かを指定します。次はエディションの指定です。Standard Edition 2 (SE2) または Enterprise Edition を選択します。

![Select Database Edition](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/c6b27251-d120-e5e8-e5a5-b531ef9ebe11.png)

次にインストール先（ORACLE_BASE)、インベントリの保存先を指定する画面を経て、管理グループを指定する画面が表示されます。こちらもOracle Database 19c から変更されていません。

![Privileged Operating System Groups](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/ffd95b5e-cb9a-a475-bed7-c39d5e3343b5.png)


自動実行スクリプトの画面を経て、次の画面は事前チェックの画面です。画面はわざとカーネル・パラメーター設定をせずに検証しているため、警告が表示されています。

![Perform Prerequisite Checks](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/cdf62f2e-8232-9568-96ec-df194eca88cf.png)

最後に確認画面とrootユーザーでスクリプトを実行することを促す画面が表示されてインストールは完了します。

# データベースの作成
データベースの作成も従来とかわらず DBCA を使います。

![Select Database Operation](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/490c77c6-18e1-f02d-2b5a-ceac8cd79db9.png)

DBCA の画面は Oracle Database 19c とほぼ変わりませんが、Oracle Database 21cからマルチテナント環境が強制されます。下記はデータベース名を決める画面ですが、コンテナ・データベースの作成オプションが変更できなくなっています。またPDB名のデフォルト値がCDB名を含む名前になっています。

![Specify Database Identification Details](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/e86314c9-5253-3ce4-4cb7-96b1bdeec0cd.png)

データベース・オプションの画面からはOracle Application Express (APEX) の選択が消えています。

![Select Database Options](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/3ffa3a3a-2c62-788f-4a35-86fbc6d52443.png)

環境変数LANG=en_US.UTF8の環境で実行したところ、「Use OS character set」のデフォルトが「WE8MSWIN1252」でした。

![Specify Configuration Options](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/181284/4bfac259-6daf-88f3-23c9-bde7c305d506.png)

データベースの作成が完了しました。

```
$ sqlplus / as sysdba

SQL*Plus: Release 21.0.0.0.0 - Production on 土 8月 14 13:45:42 2021
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
に接続されました。
SQL>
SQL> SELECT * FROM v$version;

BANNER
--------------------------------------------------------------------------------
BANNER_FULL
------------------------------------------------------------------------------------------
BANNER_LEGACY
--------------------------------------------------------------------------------
    CON_ID
----------
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
         0
```