Oracle Linux7.5にOracle 12cR2をインストールする

# はじめに

Oracle Linux7.5にOracle 12cR2をインストールしたメモです。
これまで11gを使っていて、ようやく18cにアップグレードできるかなと思っていたのに12cを使うことになった。今更ですが12cを勉強。
12cというとマルチテナントが良く説明されていますが、有償オプションで使う機会はないので今回は無視。

なお、以下で構築したOracle Linux7.5を利用します。

[VirtualBoxでOracle Linux 7.5をインストールする（だけのメモ）](https://qiita.com/mkyz08/items/891d99330ecfa5464276)

インストール手順は以下を参考にしています。

[Oracle VM VirtualBoxを用いたOracle Database 12c Release 1環境の構築](https://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/sionvbox-db12101onol6u4-2080482-ja.pdf)

# Oracle Database 12c R2のダウンロード

まず、以下から12c R2をダウンロードします。

[Oracle Database ソフトウェア・ダウンロード](https://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html)

以下の「Linux x86-64」（linuxx64_12201_database.zip）をダウンロード。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/b3b714e6-7eea-99f0-ec32-207bba66799d.png)

# oracle-validated-verifyの実行

Oracle Validated RPMパッケージは11g用しかインストールされていないので、12cR1用をインストールします。

```
# yum install -y oracle-rdbms-server-12cR1-preinstall
```
※oracle-rdbms-server-12cR1-preinstallをインストールしていますが、12cR2ではoracle-database-server-12cR2-preinstallを使用するのが正しいようです（未確認）。

oracle-validated-verifyを実行します。

```
# export LANG=C
# oracle-rdbms-server-12cR1-preinstall-verify
```

# ユーザとグループの追加

```
groupadd -g 1101 oper
groupadd -g 1102 backupdba
groupadd -g 1103 dgdba
groupadd -g 1104 kmdba
usermod -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba oracle
```

ついでにoracleユーザのパスワードも変えておきます。

```
# passwd oracle
```

# ディレクトリ作成

インストールに必要なユーザ、グループ、ディレクトリを作成します。

```
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle/
chmod -R 775 /u01

mkdir /home/oracle/tmp
chown -R oracle:oinstall /home/oracle/tmp
```

# RAMディスクのマウント

自動メモリ管理を有効化する場合、RMAディスクが少ないとエラーになるため、増やしておきます。
以下の例では2GBに設定。

```
# vi /etc/fstab
tmpfs /dev/shm tmpfs size=2048m 0 0
# mount -o remount /dev/shm

# df -m
ファイルシス                         1M-ブロック  使用 使用可 使用% マウント位置
devtmpfs                                    1823     0   1823    0% /dev
tmpfs                                       2048     0   2048    0% /dev/shm
tmpfs                                       1847    10   1837    1% /run
tmpfs                                       1847     0   1847    0% /sys/fs/cgroup
/dev/mapper/ol_oracle12cr2test1-root       28447  7484  20963   27% /
/dev/sda1                                   1014   216    799   22% /boot
tmpfs                                        370     1    370    1% /run/user/42
tmpfs                                        370     1    370    1% /run/user/0
/dev/sr0                                      56    56      0  100% /run/media/root/VBox_GAs_5.2.18
```

# スワップサイズ変更

スワップが小さいとOracleインストール時に警告がでるので大きくしておきます。
※無視してもいいですけど

初期状態は1847M。

```
dd if=/dev/zero of=/var/swpfile bs=1M count=2048
mkswap /var/swpfile
swapon /var/swpfile

free -m

```


# Oracle インストール

以降、oracleユーザで実行します。

linuxx64_12201_database.zipを展開し、runInstallerを実行します。

```
# unzip linuxx64_12201_database.zip
# /tmp/database/runInstaller
```

(1)  セキュリティ・アップデートの構成

入力せず、「次へ」を選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/59a47b07-d18b-04dd-465f-a59901ab836f.png)

警告が出ますが無視

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/be7f2362-f900-8d8c-9dbe-affb7ec97d1e.png)

(2) インストール・オプションの選択

データベースは後で作成するので、「データベース・ソフトウェアのみインストール」を選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/1e7c8b78-78fa-e334-d21d-4610701ae1b4.png)

(3) データベース・インストール・オプションの選択

「単一インスタンス・データベースのインストール」を選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/b5c3bc75-3ab2-a609-f6d1-e6633ee8b316.png)

(4) データベース・エディションの選択

「Enterprise Edition」を選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/c519280d-a128-6036-9be5-2cdefa48c87a.png)

(5) インストール場所の指定

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/223be508-6b20-fa7b-1199-66bc29276c5a.png)

(6) インベントリの作成

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/6cfd8e4c-f047-cf0b-5736-4c743cedb636.png)

(7) 権限のあるオペレーティング・システム・グループ

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/cfb5b5f4-3a39-e6fa-9789-83a6c429bf35.png)

(8) 前提条件チェックの実行

何もせず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/d88d3907-9bf7-d860-cd1b-f51f8025e306.png)

(9) サマリー

何もせず「インストール」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/23c86cfd-c1dd-79a3-f8b3-a4ffdaa1b914.png)

(10) 製品のインストール

インストールが終わるまで待ちます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/989ecff9-46d6-23f6-306b-4a32a8e5b2b8.png)

(11) 構成スクリプトの実行

インストール中に以下のダイアログが表示されます。
書いてある通りに実行します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/86b60240-7495-d94a-9358-1212a4cf235e.png)

(12) 終了

これでインストール終了です。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/4c96ab60-8a4b-2e3d-382a-93c2f0ddfff6.png)


# データベース作成

次にデータベースを作成します。
データベース名は"testdb"にします。

まずは環境変数を修正

```
export TMPDIR=$HOME/tmp
export TEMP=$HOME/tmp
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:${PATH}
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=JAPANESE_JAPAN.UTF8
export LANG=ja_JP.UTF-8

export ORACLE_SID=testdb

source .bash_profile
```

dbcaコマンドを実行。

```
# dbca
```

(1) データベース操作の選択

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/2384d5e9-08a5-ec49-6a11-46559ed82283.png)

(2) データベース作成モードの選択

「拡張構成」を選択し「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/8e6d061b-22a0-7ea0-c303-dc92b7988c6a.png)

(3) データベース・デプロイメント・タイプの選択

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/b6eae933-1dce-cf9a-1924-1de84c6ade92.png)

(4) データベースIDの詳細の指定

今回は"testdb"を指定。
「コンテナ・データベースとして作成」はチェックを外す。
「次へ」を選択。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/5c625fc3-4a35-58c6-572b-838a9d585054.png)

(5) データベース記憶域オプションの選択

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/e1760911-bd6a-a646-dad4-cdd43759cbe5.png)

(6) 高速リカバリ・オプションの選択

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/66394f48-f2da-c471-26f3-399d38eb1fbf.png)

(7) ネットワーク構成詳細の指定

以下のように入力し「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/0f533ce6-3bcb-de95-6a25-a9deefd88927.png)

(8) Oracle Data Vault構成オプションの選択

以下のように入力し「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/f1ad2a28-9da8-7984-e9c2-dbb54a0f4676.png)

(9) 構成オプションの指定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/3b5b4ee8-bdf0-1dbc-5aea-f92e24e7966f.png)

「データベースにサンプル・スキーマを追加」にチェックを入れて、「次へ」
※通常はチェックを入れません。今回はテスト用のスキーマが欲しかったのでチェックを入れています。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/8bb5e29c-feb2-65a1-0e66-23f9f4c20e02.png)

(10) 管理オプションの指定

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/8c39841b-6646-d9e7-6821-0fbeaf3d7867.png)

(11) データベース・ユーザー資格証明の指定

「すべてのアカウントに同じ管理パスワードを使用」を選択し、パスワードを入力。「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/7b61f2ac-dea8-6736-8feb-f3972a3f1572.png)

(12) データベース作成オプションの選択

変更せず「次へ」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/f3e520c6-46c0-7f9c-4710-784e7571ec76.png)

(13) サマリー

「終了」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/127d174f-9509-ea94-3402-e9b502aa71a6.png)

(14) 進行状況ページ

インストールが終わるまで待ちます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/56279d7c-3485-d4a6-3192-6b35c32dccc3.png)

(15) 終了

データベース作成終了

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/4e2f30a7-b002-322c-e461-44cf441f44f7.png)


# Oracle起動

```

$ sqlplus / as sysdba
SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 1560281088 bytes
Fixed Size                  8621088 bytes
Variable Size            1006633952 bytes
Database Buffers          536870912 bytes
Redo Buffers                8155136 bytes
データベースがマウントされました。
データベースがオープンされました。

$ lsnrctl start

```

# EM Expressへの接続

以下のURLでEM Expressに接続できます。

https://[OracleサーバのIPアドレス]:5500/em/login

![image.png](https://qiita-image-store.s3.amazonaws.com/0/179607/4667d706-ac0b-2d2b-db85-3c1095231eb5.png)


# 参考

- [Oracle VM VirtualBoxを用いたOracle Database 12cRelease 1環境の構築](https://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/sionvbox-db12101onol6u4-2080482-ja.pdf)

VirtualBox環境を利用していたため、上のドキュメントを参考にインストールしました。ただし、12cR1用のため、VirtualBox以外の部分は以下の12cR2用を利用したほうが良かったと思います。

- [Oracle Database インストレーション・ガイド 12c リリース2 (12.2) for Linux](https://docs.oracle.com/cd/E82638_01/ladbi/index.html)