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

ファイルシステムを使ったシンプルな Oracle Database 18c データベース環境の構築について記述しています。

# Oracle Database 18c
Oracle Database 18c は Oracle Database の最新バージョンです。これまで [Oracle Cloud](https://cloud.oracle.com/home) のみで利用可能でしたが、オンプレミス版が公開されました。
このバージョンから、インストール・メディアのフォーマットが変更され、RPMフォーマット（Linux）または、zipファイルを選択するようになりました。

Oracle Database 18cのzipファイルは[ここ](http://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html) からダウンロードできます。LINUX.X64_180000_db_home.zipファイルをダウンロードします。

# インストール
## インストレーション・ガイド
　Linux版の [Oracle Database 18c インストレーション・ガイド] (https://docs.oracle.com/cd/E96517_01/ladbi/index.html) を参照してインストールに必要な要件を満たす設定を行います。マニュアルには [PDF版] (https://docs.oracle.com/cd/E96517_01/ladbi/database-installation-guide-linux.pdf) もありますが、なぜか英語版です。
　必要なOS要件は Oracle Database 12c とほぼ同じです。Oracle ACFS Remoteを使う場合には、python-2.7.5, python-configshell-1.1.fb18-1, python-rtslib-2.1.fb57-3, python-six-1.9.0, targetcli-2.1 等が必要になる部分のみ異なります。

## インストール・メディアの展開
ダウンロードしたzipファイルを展開します。zipファイルはこれまでのインストール・メディアと異なり、Oracle Home ディレクトリをそのままzipにまとめた形式になっています。このためあらかじめ作成したOracle Homeディレクトリにzipファイルを展開します。これは Oracle Grid Infrastructure 12c Release 2 (12.2) と同じ形式です。

```
$ mkdir -p /u01/app/oracle/product/18.0.0/dbhome_1
$ cd /u01/app/oracle/product/18.0.0/dbhome_1
$ unzip ~/LINUX.X64_180000_db_home.zip 
```

## インストーラの起動
メディアの展開が完了したら Oracle Universal Installer を起動します。

```
$ ./runInstaller.sh
```

![Oracle Universal Installer](https://qiita-image-store.s3.amazonaws.com/0/181284/6cbb0ccd-6675-2b8f-2396-04e6149d3c51.png)


インストール時に指定する項目は Oracle Database 12c とほぼ変わりません。以下のような項目を指定します。

1. インストール後にデータベースを作成するか
2. シングル・インスタンスか、Real Application Clusters環境か
3. Enterprise Edition か Standard Edition 2 か
4. Oracle Base ディレクトリの指定
5. OSグループとのOracle 権限のマッピング

インストールが進んだら root ユーザー権限で $ORACLE_HOME/root.sh スクリプトを実行します。スクリプトの保存先とTFAを実行するかを入力します。

```
# ./root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/18.0.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] :

Oracle Trace File Analyzer (TFA - Non Daemon Mode) is available at :
    /u01/app/oracle/product/18.0.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl

Note :
1. tfactl will use TFA Daemon Mode if TFA already running in Daemon Mode and user has access to TFA
2. tfactl will configure TFA Non Daemon Mode only if user has no access to TFA Daemon mode or TFA Daemon mode is not installed

OR

Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script :
    /u01/app/oracle/product/18.0.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh
#
```

# データベースの作成
インストール時にデータベースを作成しなかった場合や追加のデータベースを作成する場合は Database Configuration Assistant (dbca) を使います。

```
$ dbca
```

![Database Configuration Assistant](https://qiita-image-store.s3.amazonaws.com/0/181284/aab02ae5-d2a5-82da-eec9-05511bc7f56f.png)


入力項目は Oracle Database 12c　と同じですが、デフォルトでは Oracle Application Express (APEX) がインストールされない点が異なります。

![Database components](https://qiita-image-store.s3.amazonaws.com/0/181284/43a48e4b-2372-6cbb-3cc2-422510a3c1c4.png)