はじめに
Oracle Linux7.5にOracle 12cR2をインストールしたメモです。
これまで11gを使っていて、ようやく18cにアップグレードできるかなと思っていたのに12cを使うことになった。今更ですが12cを勉強。
12cというとマルチテナントが良く説明されていますが、有償オプションで使う機会はないので今回は無視。
なお、以下で構築したOracle Linux7.5を利用します。
VirtualBoxでOracle Linux 7.5をインストールする(だけのメモ)
インストール手順は以下を参考にしています。
Oracle VM VirtualBoxを用いたOracle Database 12c Release 1環境の構築
Oracle Database 12c R2のダウンロード
まず、以下から12c R2をダウンロードします。
以下の「Linux x86-64」(linuxx64_12201_database.zip)をダウンロード。
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) セキュリティ・アップデートの構成
入力せず、「次へ」を選択
警告が出ますが無視
(2) インストール・オプションの選択
データベースは後で作成するので、「データベース・ソフトウェアのみインストール」を選択
(3) データベース・インストール・オプションの選択
「単一インスタンス・データベースのインストール」を選択
(4) データベース・エディションの選択
「Enterprise Edition」を選択
(5) インストール場所の指定
変更せず「次へ」
(6) インベントリの作成
変更せず「次へ」
(7) 権限のあるオペレーティング・システム・グループ
変更せず「次へ」
(8) 前提条件チェックの実行
何もせず「次へ」
(9) サマリー
何もせず「インストール」
(10) 製品のインストール
インストールが終わるまで待ちます。
(11) 構成スクリプトの実行
インストール中に以下のダイアログが表示されます。
書いてある通りに実行します。
(12) 終了
これでインストール終了です。
データベース作成
次にデータベースを作成します。
データベース名は"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) データベース操作の選択
変更せず「次へ」
(2) データベース作成モードの選択
「拡張構成」を選択し「次へ」
(3) データベース・デプロイメント・タイプの選択
変更せず「次へ」
(4) データベースIDの詳細の指定
今回は"testdb"を指定。
「コンテナ・データベースとして作成」はチェックを外す。
「次へ」を選択。
(5) データベース記憶域オプションの選択
変更せず「次へ」
(6) 高速リカバリ・オプションの選択
変更せず「次へ」
(7) ネットワーク構成詳細の指定
以下のように入力し「次へ」
(8) Oracle Data Vault構成オプションの選択
以下のように入力し「次へ」
(9) 構成オプションの指定
「データベースにサンプル・スキーマを追加」にチェックを入れて、「次へ」
※通常はチェックを入れません。今回はテスト用のスキーマが欲しかったのでチェックを入れています。
(10) 管理オプションの指定
変更せず「次へ」
(11) データベース・ユーザー資格証明の指定
「すべてのアカウントに同じ管理パスワードを使用」を選択し、パスワードを入力。「次へ」
(12) データベース作成オプションの選択
変更せず「次へ」
(13) サマリー
「終了」
(14) 進行状況ページ
インストールが終わるまで待ちます。
(15) 終了
データベース作成終了
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
参考
VirtualBox環境を利用していたため、上のドキュメントを参考にインストールしました。ただし、12cR1用のため、VirtualBox以外の部分は以下の12cR2用を利用したほうが良かったと思います。