TOP>企業情報>コラム>技術情報>はじめましてOracle! Vol.1

はじめましてOracle! Vol.1

はじめましてOracle!

本連載では、Oracle Database 11g Release2のインストールと初期設定手順をステップ・バイ・ステップで分かりやすく解説します。初心者の方でも簡単にインストールができるよう、GUIを使用した手順を中心に構成しています。

(全6回連載)

Vol.1 誰でも簡単!Oracle Database 11g Release2のインストールと初期設定(インストール編)

Oracle Databaseのインストールはむずかしくない!


Oracle Databaseのインストールは、バージョンが新しくなるほど簡単になっています。Oracle8iでGUIのインストーラが提供され、その後Oracle9i Databaseで日本語表示に対応しました。

さらにOracle Database 10gでは今や伝説となったガッツ石松氏と猿のモモちゃんによるインストール対決が行われるなど、データベースとしての機能と共にインストールの手軽さも進化を続けてきました。最新のOracle Database 11g Release2では、インストールに必要なOSの設定を自動的に行ってくれる機能まで実装されています。

今や誰でも簡単にインストールできると言っても過言ではありませんが、ただインストールすれば良いというものではなく、実際にデータベースが使えるようになるまでにはいくつかの初期設定が必要です。

本連載では、Oracle Database 11g Release2のインストールだけではなく、データベースが使えるようになるまでの初期設定を含めて詳しく解説します。

実際に使用するコマンドや画面はもちろんのこと、現場のノウハウも交えながらステップ・バイ・ステップで解説しますので、初心者の方でも心配ありません。

アシストの新人教育にも使われている手順なので、安心して読み進めてください。

第1回目となる今回は、Oracle Database 11g Release2のインストール手順について解説します。

インストール要件を確認する


まず、Oracle Databaseをインストールするサーバーが要件を満たしているかを確認します。インストール要件には『インストール先に○○GBの空きがあること』といったハードウェア系の要件と、『OSのバージョンが○○以上であること』などのソフトウェア系の要件があります。

本連載では以下のサーバーを使用し、インストールを行います。

サーバ


インストール要件はOracle Technology Network(OTN)にあるインストレーション・ガイドに詳しく記載されています。インストレーション・ガイドを参照するには、まずOracle Databaseのドキュメント一覧にアクセスします。

Oracle Database 11g Release2ドキュメント

Oracle Database 11g Release2ドキュメント

インストレーション・ガイドはOSごとに複数存在しますが、今回はサーバーのOSがLinuxなので『Databaseインストレーション・ガイドfor Linux』を参照します。

Oracle Database 11g Release2ドキュメント

Oracle Database 11g Release2ドキュメント


インストレーション・ガイドを見ると、以下のようなインストール要件が記載されています。カーネルやOSパッケージの要件はLinuxのディストリビューションごとに異なりますので、今回は『Linux x86-64』『Red Hat Enterprise Linux』と書かれている部分を参照します。

ハードウェア要件 メモリー 2GB以上
スワップ領域 メモリーサイズ   スワップ領域サイズ
------------------   -----------------------------
 1から2GB    メモリーサイズの1.5倍
 2から16GB    メモリーサイズと同じ
  16GB超        16GB
ディスク領域 ・Enterprise Editionの場合
ソフトウェア用に4.35GB、データベース用に1.7GB
・Standard Editionの場合
ソフトウェア用に4.22GB+データベース用に1.5GB
・Enterprise Edition/Standard Edition共通
/tmpディレクトリに1GB以上
ソフトウェア要件 OS Red Hat Enterprise Linux 5.2 以上
カーネル 2.6.18以上
OSパッケージ binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11 (64 bit)


用意したサーバーが要件を満たしているかどうか、OSのコマンドを使って確認します。

OSのコマンドは全てrootユーザで実行します。

・メモリー、スワップ領域の確認

# grep MemTotal /proc/meminfo
MemTotal: 16438672 kB
→要件は2GB以上なのでOK

# grep SwapTotal /proc/meminfo
SwapTotal: 22020064 kB
→要件は16GBなのでOK


・ディスク領域の確認

# df -h
Filesystem     サイズ   使用   残り   使用%   マウント位置
/dev/cciss/c0d0p3  66G   27G   36G   43%      /
/dev/cciss/c0d0p1  97M   12M   80M   13%     /boot
tmpfs        7.9G    4.0K   7.9G     1%     /dev/shm
→要件は約6GB(/tmpディレクトリは1GB)なのでOK


・OSの確認

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
→要件はRed Hat Enterprise Linux 5.2 以上なのでOK


・カーネルの確認

# uname -a
Linux testsrv 2.6.18-194.el5 #1 SMP Mon Mar 29 22:10:29 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
→要件は2.6.18以上なのでOK


・OSパッケージの確認

# rpm -qa --qf "%{name}-%{version}-%{release}.%{arch}\n" | grep <OSパッケージ名>
→要件と同じかそれ以上のバージョンが表示されればOK


1つでも要件を満たしていないと、インストールが正常に行われないため注意してください。また、これからサーバーを用意するという場合はインストール要件をきちんと満たすOSやハードウェアを選択してください。なお、メモリーやディスクなどのインストール要件はあくまで最低限必要な値なので、要件と全く同じではなく多少余裕を持たせるようにするのがポイントです。例えば、インストール要件上で必要となっているディスク領域は約6GBですが、これはソフトウェアとデータベースに最低限必要な領域だけを指しています。データベースに格納するデータ量によっては更なるディスク領域が必要となるため、あらかじめ余裕を持たせておくと良いでしょう。

Oracle Databaseのソフトウェアを入手する


インストール要件を確認したら、Oracle Databaseのソフトウェアを入手します。

ソフトウェアの入手にはいくつかの方法があります。

①Oracle Databaseのライセンスを持っている場合

Oracle Databaseのメディアパック(CD/DVDのセット)を購入している場合は、メディアパック内のインストール・メディアを使うことができます。メディアパックを購入していない場合は、Oracle Software Delivery Cloudからソフトウェアをダウンロードすることができます。

Oracle Database 11g Release2メディアパック

Oracle Database 11g Release2メディアパック

Oracle Software Delivery Cloud

Oracle Software Delivery Cloud

また、サポート契約があればOracle Database 11g Release2のパッチ・セット・リリース(PSR)をMy Oracle Supportからダウンロードできます。Oracle Database 11g Release2では、ベース・リリースにPSRを適用するのではなく最初からPSRだけを使ってインストールが行えるように仕様が変更されています。

My Oracle Support

My Oracle Support

②Oracle Databaseのライセンスを持っていない場合

OTNからトライアル版をダウンロードすることができます。機能の制限はありませんが、利用可能日数が30日となっているため、簡単な動作確認や自己学習用途に限られます。

OTN ソフトウェア・ダウンロード

OTN ソフトウェア・ダウンロード

どの入手方法でも、インストールと初期設定の手順は変わりません。今回はOTNのトライアル版を使ってインストールを行います。

OTNのダウンロードページ にアクセスします。

ダウンロードにはOracle.comのユーザ登録(無償)が必要ですので、未登録の場合は登録作業を予め済ませておきます。Oracle Databaseのダウンロードページに進み、ライセンス契約書に同意の上でダウンロードします。サーバーのOSと同じ『Linux x86-64』のFile1とFile2をダウンロードします。

ダウンロードページ

ダウンロードページ

ダウンロードが完了したら、まだ展開せずにzipファイルのままサーバー上に配置します。任意のディレクトリに配置して構いませんが、zipファイルの時点で約2GBあるため充分なディスク領域があることを確認してください。今回は/tmpに配置します。

# ls /tmp
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip


インストール前の設定を行う


早速インストール開始といきたいところですが、インストールを開始するためにはいくつかOSの設定が必要です。設定項目はインストレーション・ガイドに記載されていますので、目を通しておくと良いでしょう。ここでは、実際のコマンドを交えながら設定手順を順番に解説していきます。作業自体は簡単ですが、OSの設定ファイルを編集する場面では作業ミス防止のためバックアップを取りながら進めてください。作業は全てrootユーザで行います。

①OSグループとユーザの作成

Oracle Databaseの所有者となるOSグループとユーザを作成します。Oracle Databaseだけをインストールする場合、OSグループとユーザを1つずつ作成すれば問題ありません。ここではOSグループを『dba』、ユーザを『oracle』とします。なお、rootユーザでOracle Databaseをインストールすることはできません。

# groupadd -g 1001 dba
# useradd -g dba -u 1001 oracle -d /home/oracle -s /bin/bash
# passwd oracle


②インストール用ディレクトリの作成

Oracle Databaseのインストール先となるディレクトリを作成します。oracleユーザが読み書きできる必要があるため、権限の設定も併せて行います。ここではインストール用ディレクトリとして/u01/app/oracleを作成します。

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


③シェル制限の設定

Oracle DatabaseはあくまでもOS上で動く1つのアプリケーションであるため、OS側でリソースの制限が行われている場合には充分なパフォーマンスを発揮できません。以下の通りoracleユーザのシェル制限を設定し、リソースを多く使えるようにします。

シェル制限の設定


# 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
※この5行を追加する


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

シェル制限と同様に、カーネル・パラメータもOSのリソースを制御する重要な要素です。
Oracle Databaseが正常に稼働するために、以下のカーネル・パラメータを設定します。なお、今回設定するカーネル・パラメータはあくまで必要最低限の値であるため、要件以上に設定されている場合は、あえて値を下げる必要はありません。

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


# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934592
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 = 1048586
※この11行を追加(または既存の値を更新)する


カーネル・パラメータを設定後、以下のコマンドで変更を反映させます。

# sysctl -p


これでOracle Databaseをインストールするための事前準備は完了です。

インストールを開始する


いよいよOracle Databaseのインストールを開始します。ダウンロードしておいたOracle Databaseのzipファイルをoracleユーザで展開します。展開後、databaseというディレクトリが生成されていることを確認します。なお、必ず2つのzipファイルを同一ディレクトリに配置してから展開してください。そうしないとdatabaseディレクトリが2つに分かれてしまい、インストールが途中で失敗します。

oracleユーザで実行
$ cd /tmp
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
$ ls
database linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip


GUIのインストーラを表示するためにはX Window Systemが必要です。今回はインストール先となるサーバー上でインストーラを表示させるので、一旦ログアウトしてoracleユーザでグラフィカルログインを行います。ログイン後、以下のコマンドで時計が表示されればX Window Systemが正常に動作しています。

oracleユーザで実行
$ xclock


xclock

xclock

もしインストール先となるサーバーにX Window Systemがない場合は、別のサーバーでインストーラを表示しても構いません。その場合、まずインストーラを表示するサーバーでxhostコマンドを実行します。xhostコマンドを実行することで、インストーラの表示が許可されます。

インストーラを表示するサーバーのrootユーザで実行
# xhost + <インストール先となるサーバーのIPアドレスまたはホスト名>


次に、インストール先となるサーバーで環境変数DISPLAYを設定します。これでインストーラの表示が可能となります。

インストール先となるサーバーのoracleユーザで実行
$ export DISPLAY=<インストーラを表示するサーバーのIPアドレスまたはホスト名>:0.0


X Window Systemの動作が確認できたら、インストーラを起動します。

oracleユーザで実行
$ cd /tmp/database
$ ./runInstaller


インストーラは全部で9~12ステップに分かれており、表示される画面に従って情報を入力していきます。まずはじめに『セキュリティ・アップデートの構成』が表示されます。既存のMy Oracle SupportアカウントにこれからインストールするOracle Databaseの情報を関連付けたり、セキュリティ・アップデートに関するメール通知を受け取りたい場合にのみ情報を入力します。入力必須ではないため、My Oracle Supportのアカウントがない場合などは未入力で構いません。今回は未入力のままとし、『次へ』をクリックします。

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

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

未入力の場合は警告が表示されますが、インストールには影響しません。『はい』をクリックします。

警告

警告

『インストール・オプションの選択』が表示されます。インストールと同時にデータベースを作成することもできますが、予め用意されているテンプレートに従って作成するため、細かいパラメータの指定ができません。後ほど専用のツールでデータベースを作成しますので、今回は『データベース・ソフトウェアのみインストール』を選択し、『次へ』をクリックします。

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

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

『ノードの選択』が表示されます。『単一インスタンス・データベースのインストール』を選択し、『次へ』をクリックします。

ノードの選択

ノードの選択

『製品言語の選択』が表示されます。日本語と英語を選択し、『次へ』をクリックします。

製品言語の選択

製品言語の選択

『データベース・エディションの選択』が表示されます。試使用版の場合はどのエディションを選択しても構いませんが、ライセンスを持っている場合はそれに合わせてエディションを選択します。今回は『Enterprise Edition』を選択し、『次へ』をクリックします。

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

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

『インストール場所の指定』が表示されます。2つのディレクトリ・パスを指定します。

ディレクトリパス


ディレクトリ・パスを指定し、『次へ』をクリックします。なお、ディレクトリ・パスに空白を使うことはできないため注意してください。

インストール場所の指定

インストール場所の指定

『インベントリの作成』が表示されます。インベントリとは、Oracle製品に関するインストール情報の一覧です。製品名やバージョンがXMLとして格納されており、パッチ適用時などに参照・更新されます。インベントリは複数のOracle製品で共通して使われるディレクトリなので、Oracleベースの下に含めてはいけません。インベントリを指定し『次へ』をクリックします。

インベントリの作成

インベントリの作成

『権限付きオペレーティング・システム・グループ』が表示されます。Oracle DatabaseにはOS認証機能があり、ここで指定したOSグループに属している場合はユーザ名とパスワードの入力なしでデータベースに接続できます。今回はdbaグループを事前に作成しているのでデフォルトのままで構いません。『次へ』をクリックします。

権限付きオペレーティング・システム・グループ

権限付きオペレーティング・システム・グループ

『前提条件チェックの実行』が表示されます。インストール要件を満たした環境であるかをインストーラが細かくチェックしてくれます。

前提条件チェックの実行

前提条件チェックの実行

もしインストール要件を満たしていない場合、以下のように警告が表示されます。どこが問題なのか分かりやすく表示してくれますので、要件を満たすよう対処を行います。カーネル・パラメータなど一部の設定については、インストーラが自動的に修正スクリプトを生成してくれます。

前提条件のチェック実行

前提条件のチェック実行

要件チェックをパスすると、『サマリー』が表示されます。エディションやOracleベース、Oracleホームが正しいことを確認し、『終了』をクリックします。

サマリー

サマリー

インストールが開始されます。進捗状況がパーセンテージで表示されます。10分ほどでインストールが完了します。

製品のインストール

製品のインストール

インストールが完了に近づくと、『構成スクリプトの実行』が表示されます。インストーラはまだ閉じず、rootユーザで2つのシェル・スクリプトを実行します。

orainstRoot.sh インベントリのディレクトリ・パスを格納するための/etc/oraInst.locファイルの配置、インベントリの権限設定などを行います。
root.sh 環境変数を設定するためのdbhome、oraenv、coraenvファイルの配置、Oracleホームのディレクトリ・パスを格納するための/etc/oratabファイルの配置などを行います。


構成スクリプトの実行

構成スクリプトの実行

rootユーザで実行
# sh /u01/app/oraInventory/orainstRoot.sh
権限を変更中 /u01/app/oraInventory.
グループの読取り/書込み権限を追加中。
全ユーザーの読取り/書込み/実行権限を削除中。
グループ名の変更 /u01/app/oraInventory 宛先 dba.
スクリプトの実行が完了しました。
# sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as
 ORACLE_OWNER= oracle
 ORACLE_HOME= /u01/app/oracle/product/11.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.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.


シェル・スクリプト実行後、『OK』をクリックします。これでインストールは完了です。

インストール終了

インストール終了

いかがでしょうか?事前準備は少し大変かもしれませんが、インストーラが起動してしまえば画面に沿って進めていくだけなので非常に簡単ですね。次回はインストール後に必要な初期設定手順を解説します。


執筆者紹介

岸和田 隆

岸和田 隆(Takashi Kishiwada)

株式会社アシスト データベース技術本部

アシスト入社後、Oracle Database の研修講師、フィールド・ サポート、新バージョンの検証を経て、2007年 自社ブランド 「DODAI」の準アプライアンス製品の企画・開発、2009年 PostgreSQL、2011年 EDB Postgres、MySQL / MariaDB の事業立上を担当。 現在は「データベースのアシスト」を目指した活動を行っている。

岸和田の紹介記事はこちら



関 俊洋

関 俊洋(Toshihiro Seki)

株式会社アシスト データベース技術本部

2006年、株式会社アシスト入社。データベース・システムの構築や運用トラブルの解決といったフィールド・サポート業務を経験し、その後は新製品の検証やハードウェアとデータベースを組み合わせたソリューション(DODAI)の立ち上げに従事。現在はデータベースの価値や魅力を伝えるための執筆・講演活動を行っている。『SQL逆引き大全363の極意』共著。

関の紹介記事はこちら

連載記事一覧


Facebookで情報をお届けしています

Facebookでは、アシストの「今」を週3回のペースでお届けしています。「めげない、逃げない、あまり儲けない」を合言葉に日々頑張っておりますので、応援よろしくお願いします。



ページの先頭へ戻る