トップ > DBA入門 > 4章
4章 Oracleインストール
それでは本章ではOracleインストールするために必要な知識を学んでいきます。
OracleをインストールするためにはOS操作の知識が必須です。

Oracleインストールについて


OSはLinuxをベースにご紹介していきます。
データベースとは違う分野となる箇所がありますが、
分からない部分はその他のサイトでも調べていただければと思います。
今回ご紹介するのはOracle12cの場合のインストールの流れです。

その他のバージョンではまた要件などが異なりますので詳しい情報は
Oracleのマニュアルを参照ください。

ではOracleを構築する為には以下の作業が必要です。

・OSの設定
・Oracleインストール
・データベース作成


OSの前提条件


Oracleをインストールする為のOSの前提条件があります。
細かい内容はマニュアルを参照ください。

Oracleインストールのマニュアル

ディスク領域の要件


まずはインストールする為に必要なディスク容量は以下の通りです。

インストールタイプ ディスク領域
Enterprise Edition 6.4GB
Standard Edition 6.1GB
Standard Edion One 6.1GB
Standard Edition 2 6.1GB

インストールタイプでCPUのコア数や使用できる機能が異なります。
どのタイプでも空き領域が7GBあれば問題ないでしょう。

また一時ディレクトリのディスク領域(/tmp)は1GB必要です。

メモリ要件


サーバのメモリ要件は最小で1GB,推奨は2GB以上です。

またスワップ領域は以下の通りとなります。
物理メモリ スワップ領域
1-2GB 物理メモリの1.5倍のサイズ
2-16GB 物理メモリと同様のサイズ
16GB超 16GB


OS要件


次にOracleでサポートされているLinuxのバージョンですが、
12cでは以下のOSバージョンがサポートされています。

・x86-64でサポートされるOracle Linux 7およびRed Hat Enterprise Linux 7
・x86-64でサポートされているOracle Linux 6およびRed Hat Enterprise Linux 6
・x86-64でサポートされているOracle Linux 5およびRed Hat Enterprise Linux 5
・x86-64でサポートされているSUSEのディストリビューション

Linux 7を使用する場合、Oracle Database 12cリリース1 (12.1.0.2)以降、
Oracle Linux 7およびRed Hat Enterprise Linux 7はLinux x86-64システムで
サポートされます。


パッケージ要件


OSの必要なパッケージはOSのバージョンごとに異なり、
今後変更になる可能性もありますので、
Oracleのマニュアルを参照ください。

Linux 6 x86 64bitでは次のパッケージ(またはそれ以降のバージョン)が
インストールされている必要があります。

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (i686)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

上記パッケージをインストールする必要があります。
Linuxではrpmコマンドを使用して上記パッケージをインストールしたり、
インストールされているか確認できます。

パッケージのインストール
# rpm -ihv

パッケージの管理はrpmコマンドを使用します。
iオプションはインストールするときのオプションです。
hオプションはインストールの進捗情報を表示するオプションです。
vは詳細情報を表示するオプションです。

インストール済みのパッケージ一覧
# rpm -qa

対象のパッケージだけを検索したい場合は、パイプで対応します。
インストール済みのパッケージ一覧から検索
# rpm -qa | grep binutils

上記の場合、インストール済みのパッケージの中でbinutils
という文字列のパッケージのみ表示します。

パッケージはLinuxのインストールCDに入っていますので、
そこからインストールしてください。


Oracle用のディレクトリ作成


次にOracleで必要なディレクトリを作成していきます。
Oracleで必要なディレクトリは以下の通りです。

ディレクトリタイプ 説明
Oracleベース
ディレクトリ
Oracle製品のベースとなる
ディレクトリ
Oracleインベントリ
ディレクトリ
Oracle製品情報を
格納するディレクトリ
Oracleホーム
ディレクトリ
Oracle製品を
格納するディレクトリ

例えばOracleベースディレクトリは以下を使用します。
$ mkdir -p /u01/app/oracle

例えばOracleインベントリディレクトリは以下を使用します。
$ mkdir -p /u01/app/oraInventory

例えばOracleホームディレクトリは以下を使用します。

$ mkdir -p /u01/app/oracle/product/12.1.0/dbhome_1

また上記ディレクトリはOFA(Oracle Flexible Architecture)に
準拠したディレクトリ構成です。


Oracle Flexible Architecture(OFA)


OFAとはOracleが定めた命名規則です。

例えば上記の様にOracleベースディレクトリは/u01/app/oracleとし、
Oracleホームディレクトリは、/u01/app/oracle/product/12.1.0/dbhome_1
データファイルには.dbfという拡張子、制御ファイルは.ctl,
REDOログファイルは.logと命名規則を決めておくことで、
データベースの構成が統一されどんな人が見てもディレクトリの位置や、
ファイル名などでどんなファイルなのかを判別できるようになります。

詳しいOFAの情報は以下のサイトを参照ください。

Oracle Flexible Architectureのマニュアル


OSユーザ、グループの作成


各ディレクトリを決めたら、Oracleが使用するOSユーザ,グループを
作成していきます。

OSユーザはoracleユーザを作成します。

次にOSグループの作成です。
現在セキュリティ上、一人のユーザに対し全ての権限を
与えることは危険という理由で、各タスクごとのグループがあります。

権限を細分化する場合は、各グループを複数ユーザに付与しますが、
最低限必要なグループはoinstall,dbaです。

OSグループのマニュアル

oinstallグループはOracleインベントリの所有者、
dbaグループはOracle操作を行う為の管理者権限です。

ユーザ作成の例を以下に示します。

  OSグループの作成
  # groupadd dba
  # groupadd oinstall
  

上記例ではgroupaddコマンドでdbaグループとoinstallグループを作成しています。

 ユーザの作成
 # useradd -g oinstall -G dba oracle
 # passwd oracle
 

上記例ではuseraddコマンドでoracleユーザを作成しています。
プライマリグループはoinstallでセカンダリグループにdbaを設定しています。


カーネルパラメータの設定


次にカーネルパラメータの設定です。
カーネルパラメータとはOSの動作を制御するパラメータです。
OS上でOracleを正常に動作するよう、カーネルパラメータを設定します。

実際には本番環境の構成から適切な値を設定する必要がありますが、以下の設定値を設定していれば、そのまま運用が可能です。

  # vi /etc/sysctl.conf

  fs.aio-max-nr = 1048576
  fs.file-max = 6815744
  kernel.shmall = 2097152     物理メモリー・サイズ(ページ数)の40%
  kernel.shmmax = 4294967295  物理メモリー・サイズの半分(バイト)
  kernel.shmmni = 4096
  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
  

上記を追加後、設定値を再読み込みさせます。

 # /sbin/sysctl -p
 


環境変数の設定


次にOracleの環境変数を設定します。
環境変数の設定は必須ではありませんが、
設定しておくと作業時に楽になります。
Oracleで設定可能な環境変数は以下の通りです。

ORACLE_SID Oracleインスタンス名を設定
ORACLE_BASE Oracleベースのディレクトリを設定
ORACLE_HOME Oracle製品のインストールディレクトリを設定
NLS_LANG データベース接続時に使用する言語や文字コードを設定
LD_LIBRARY_PATH Oracleのライブラリが格納されるディレクトリを設定
PATH Oracleで使用するコマンドが格納されているディレクトリを追加設定


  # vi /home/oracle/.bash_profile
  
  ORACLE_SID=orcl
  ORACLE_BASE=/u01/app/oracle
  ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
  NLS_LANG=japanese_japan.JA16SJIS
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
  PATH=$PATH:$ORACLE_HOME/bin

  export ORACLE_SID ORACLE_BASE ORACLE_HOME
  export NLS_LANG LD_LIBRARY_PATH PATH
  

以上がOracleインストール前に行う事前作業となります。
今回は概要レベルの紹介となりますが、実際にインストールする際は、
マニュアルも参照の上実施してみてください。