はじめに
今回、ふとしたきっかけから Oracle を勉強しようと思いはじめ、折角なので時間を見つけて ORACLE MASTER の資格取得を目指してみようかと思いました。まずはそのための第一歩として Oracle ソフトウェアをインストールする作業を行いたいと思います。なお、どうやら ORACLE MASTER Bronze DBA では GUI ツールである Oracle Universal Installer (以下、OUI) を用いたデータベースソフトウェアのインストール方法も問われるようなので、OUI を用いたインストールを試みます。
利用する環境について
今回は us-west-2 リージョンの ami-0cf3c6d47cf3ad24a を利用します。Amazon Linux 2 の AMI であるため、サポート外でありそもそも上手く動作しない可能性はありますが、一旦実験的な意味合いも踏まえてこれで進めてみようと思います。ダメだったら普通に RHEL 等を使います。
以下簡単な概要です。
$ uname -r
4.14.252-195.483.amzn2.x86_64
$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
OS グループ / ユーザーの作成
まずは Oracle ソフトウェアをインストールするのに必要な OS グループ及びユーザーを作成します。ここでは Oracle インベントリグループである oinstall と OSDBA グループである dba 、またそれらのグループに所属するユーザーである oracle を作成します。
$ sudo groupadd oinstall
$ sudo groupadd dba
$ sudo useradd oracle -g oinstall -G dba
$ sudo passwd oracle
完了したら、新規ユーザーでログインします。一応所属するグループを確認しておきましょう。
$ su oracle
Password:
$ groups
oinstall dba
環境変数の設定
各種環境変数の設定を行います。そのためにまずは一旦 ec2-user に戻り、ORACLE_BASE となるディレクトリを作成、またそのオーナーを oracle:oinstall に変更しておきます。
$ exit
$ sudo mkdir -p /u01/app/oracle
$ sudo chown -R oracle:oinstall /u01
上記が完了したら再度 oracle でログインし、ORACLE_HOME となるディレクトリも作成しておきます。
$ su oracle
Password:
$ mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1/
ここまでできたら ORACLE_SID も含めた上で、.bashrc に以下の内容を追記します。
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1/
export ORACLE_SID=ora1
ここまでで環境変数の設定は完了です。以下にこれら環境変数について簡単にまとめておきます。
環境変数 | 説明 |
---|---|
ORACLE_BASE | Oracle 関連ファイルの基準となるディレクトリパス。データベースファイルやログファイルなどの Oracle に関連するほとんどのファイルがここに配置される |
ORACLE_HOME | Oracle のソフトウェアを配置するディレクトリパス。ORACLE_HOME は ORACLE_BASE のサブディレクトリに指定する |
ORACLE_SID | インスタンスの識別子である SID (システム識別子) を設定する。この環境変数により接続先のインスタンスが識別され、原則的に「インスタンスの SID = データベース名」の関係が成り立つ |
スワップ領域の作成
Oracle の Database インストレーションガイド にあるように、スワップ領域として確保しなければいけない領域が RAM のサイズに対して相対的に定められています。
今回は 32 GB の RAM が搭載されているため、16GB のスワップ領域を作成します。
$ sudo dd if=/dev/zero of=/swapfile bs=128M count=128
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
ここまでできたら swapon コマンドで手順が正常に完了したことを確認します。
$ sudo swapon -s
Filename Type Size Used Priority
/swapfile file 16777212 0 -2
必要なパッケージのインストール
Oracle データベースインストール時に必要なライブラリを含むパッケージを予めインストールしておきます。
$ sudo yum install glibc-devel
これをやらないと make 時に失敗して以下のエラーが出力されます。
/usr/bin/ld: cannot find /usr/lib64/crti.o: No such file or directory
/usr/bin/ld: cannot find /usr/lib64/libc_nonshared.a
Oracle データベースのインストール
それではいよいよインストール作業です。まずは ここ から Database Enterprise/Standard Edition を選択し、Linux x86-64 の ZIP をダウンロードします。その後、一度 ec2-user に戻り対象の EC2 インスタンスに ZIP ファイルをコピーし、$ORACLE_HOME 配下に配置します。
$ exit
$ sudo cp LINUX.X64_193000_db_home.zip /u01/app/oracle/product/19.3.0/dbhome_1/
$ sudo chown oracle:oinstall /u01/app/oracle/product/19.3.0/dbhome_1/LINUX.X64_193000_db_home.zip
再度 oracle ユーザーに戻り、zip ファイルを解凍します。
$ su oracle
Password:
$ cd /u01/app/oracle/product/19.3.0/dbhome_1/
$ unzip LINUX.X64_193000_db_home.zip
解凍後、runInstaller と呼ばれるシェルスクリプトが展開されているはずなので、XQuartz 等を起動した状態で SSH 接続を行い、これを実行します。
$ ./runInstaller
するとインストールウィザードが起動します。
Select any of the following install options の部分でインストールと同時にデータベースも作成するか、それとも Oracle のインストールのみを行うかを選択します。今回は後でデータベースを作成するため、一旦 Set Up Software Only を選択します。
Select Configuration Option
次のインストールオプション及びデータベースエディションはデフォルトのままにします。
Select Database Installation Option
Select Database Edition
次にインストール場所の指定を行いますが、ここでは $ORACLE_BASE が利用されるため、あらかじめ /u01/app/oracle が指定されているはずです。このままいきます。
Specify Installation Location
次はインベントリディレクトリの指定ですが、ここはデフォルトのままにします。インベントリディレクトリとは、そのマシンにインストールした Oracle 製品の情報を記録するディレクトリであり、この情報は Oracle ソフトウェアへのパッチ適用やアップグレード、削除のために使用されます。
なお、oraInventory Group Name には Oracle インベントリグループとして作成した OS グループ、つまり oinstall を指定します。
Create Inventory
OS グループの指定はとりあえずデフォルトにしておきます。OSOPER や OSBACKUPDBA 等は作成していないので dba が指定されてます。
Privileged Operation System groups
次に前提条件をチェックするスクリプトを実行します。root ユーザーで実行されるため、root ユーザーのパスワードを入力します (oracle が sudoers にあればそれでも良いです)。
Root script execution configuration
チェックが終わると以下のようにサマリーが表示されます。[Install] をクリックしましょう。
Summary
インストールが完了すると以下の画面が表示されます。
Finish
お疲れ様でした。次回はデータベースの作成を行ってみたいと思います。