今回はOracle 12cをCent OS 7 へインストールします。
OracleのインストールはOUI(Oracle Universal Installer)というGUIソフトを使ってインストールするのが一般的です。
また、OUIでのインストール作業の最後でレスポンスファイルを生成できるので、それを保存しておけば、ほかの環境でそれを用いてサイレントインストールを行うこともできます。(RAC構成などの場合に便利)
事前作業
Oracleのインストールには事前に色々と準備をする必要があります。
確認 詳しくは公式ページをご覧ください。
また、以下のような条件は事前に満たすことを確認してください。(仮想マシンでいまから検証環境を作る人は条件を満たすように構成してください。)
ソフトウェアインストール領域:最低6.4GB
メモリ:2GB以上
また、Oracle 12cのインストーラはこちらで入手します。(Linux x86-64をダウンロードしてください)
適当なフォルダで展開しておきましょう。(unzipが必要)
1.前提パッケージのインストール
前提パッケージのインストールを行います。公式ページにもありますが、とりあえずyumでインストールしてしまいましょう。
yum -y install binutils compat-libcap1 gcc gcc-c++ gli bc glibc.i686 glibc-devel glibc.i686 ksh libaio libaio.i686 libaio-devel libaio- devel.i686 libgcc libgcc.i686 libstdc++ libstdc++l7.i686 libstdc++-devel libstdc ++-devel.i686 compat-libstdc++-33 compat-libstdc++-33.i686 libXi libXi.i686 libX tst libXtst.i686 make sysstat
2.swap領域の確保
swap領域を確保します。
手順については割愛しますが、以下のようになっている必要があります。
表:Linux のスワップ領域要件
RAM | スワップ領域 |
---|---|
1から2GB | RAMのサイズの1.5倍 |
2から16GB | RAMのサイズと同じ |
16GB超 | 16GB |
3. kernelパラメータの編集
/etc/sysctl.confにviで以下を追加します。
kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 fs.file-max = 6815744
最低これらの記載が必要ですが、RHEL7(CentOS7も?)では透過的なHugePagesの無効化を行う必要があります。
Red Hat Enterprise Linux 7 で transparent hugepages (THP) を無効にする
4.ユーザとグループの作成
インストールユーザとしてoracleを作成します。
まずユーザーを作成します。
# useradd -u 1200 -g oinstall -d /home/oracle oracle # passwd oracleそして.bash_profileに以下を追記します。
#for OracleDatabase umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1 export ORACLE_SID=orcl export NLS_LANG=Japanese_Japan.AL32UTF8 export PATH=$ORACLE_HOME/bin:$PATH export PATH
次にpamの編集です。/etc/pam.d/loginに以下を追記します。
# vi /etc/pam.d/login session required pam_limits.so
また/etc/security/limits.confに以下を追加します。
# vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768
その他のグループを追加して、oracleをグループに加えます。
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
5.ディレクトリ作成
インストールに必要なディレクトリを作成し、パーミッションとオーナーを変更しておきます。
mkdir -p /u01/app/oracle mkdir -p /u01/app/oraInventory chown -R oracle:oinstall /u01/app/oracle chown -R oracle:oinstall /u01/app/oraInventory chmod -R 775 /u01/app
6.GNOME Desktopインストール
Cent OS 7 を最小限の構成でインストールしている場合は、OracleインストールのためにGnome Desktopをインストールします。
yum groupinstall "GNOME Desktop"
また、日本語表示に対応させるために、/usr/bin/startx に以下を追加します。
vi /usr/bin/startx LANG=ja_JP.UTF-8
OUIでOracle 12c をインストール
ここまでがなんと事前作業です。
長かったですがいよいよOracle をインストールします。
Gnome Desktopがインストール後にGUIにoracleでログインします。
ランレベルを変更してもよいですが、単純にoracleでログインした後に、startxと打てばGUIが起動します。
ログインしたら「アプリケーション」-「お気に入り」から「端末」をクリックします。
インストーラを展開したフォルダに移動し、runInstallerを起動します。
OUI画面が起動します。今回は12cなので難なく起動していますが、11gだとここで文字化けが発生したりします・・・
その対処法は別の記事に書くとして、先に進めます。
「電子メール」を空白、「セキュリティ・アップデートをMy Oracle Support経由で受け取ります」のチェックを外し「次へ」をクリック。
警告が表示されますが無視して「はい」をクリック
今回は、リスナーやインスタンスの構成は別で行いたいので、「データベース・ソフトウェアのみインストール」を選択し「次へ」をクリック
「単一インスタンス・データベースのインストール」にチェックを入れ、「次へ」をクリック
「Standard Edition 2」を選択し、「次へ」をクリック
oracleユーザの環境変数に設定しているので、何も変更せず「次へ」をクリック
ここも特に変更せずに「次へ」をクリック
ここも変更せずに「次へ」をクリック
ここで、エラーが出てしまいました。実際の業務での構築は無視するわけにはいきませんが、今回は面倒くさいので「すべて無視」にチェックを入れ「次へ」をクリック
案の定警告ポップアップが表示されましたが強行します。「はい」をクリック
ここまで進んだらインストールできるのですが、次の検証で使うかもしれないので、レスポンスファイルを保存しておきます。
「レスポンス・ファイルの保存」をクリック
「保存」をクリックして保存しておきます
というわけで、「インストール」をクリックしてインストールを開始します。
インストールが開始されると、内部的にはmakeコマンドが走り、ファイルが配置されたりフォルダが作成されたりするので、後戻りするならここです。
進行状況95%のところで、ポップアップが表示されました。スクリプトの場所をどこかにメモしておき、「OK」をクリック。
先ほど無視してしまったので、なにやら警告が表示されました。後で直すことにして、「はい」をクリック
Oracle Databaseのインストールが成功しました と表示されたら「閉じる」をクリックしてOUIを閉じます。
事後スクリプト実行
インストールの最後に出てきたスクリプトを実行します。
rootでログインし、先ほどのディレクトリに移動して実行します。
[root@localhost oraInventory]# ./orainstRoot.sh 権限を変更中 /u01/app/oraInventory. グループの読取り/書込み権限を追加中。 全ユーザーの読取り/書込み/実行権限を削除中。 グループ名の変更 /u01/app/oraInventory 宛先 oinstall. スクリプトの実行が完了しました。
こちらのスクリプトはインストール時の警告を解消してくれるスクリプトのようです。
実はそもそも前提条件のところで、解決可能となっているところはあの時点で修正することもできます。
今度はベースディレクトリに移動して以下のようにスクリプトを実行
※こちらのスクリプトは必ず生成されます
[root@localhost dbhome_1]# ./root.sh Performing root user operation. The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/12.2.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 ... Creating /etc/oratab file... 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 - User Mode) is available at : /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl OR Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script : /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh
以上でインストール完了です。
まとめ
お疲れさまでした。
Oracleのインストールは割とOSの知識がある程度必要なように感じます。
Linux初心者の方にこそ勉強のためにOracleのインストールをやってみることをお勧めします。
コメント