[Asianux3]Oracle Database 11gをインストール | Server OS Cafe

Server OS Cafe

Server OSの紹介等

先日、U.S OTN(Oracle Technology Network)でOracle Database 11gが公開されましたが

11gはAsianux3もサポートしているのでインストールしてみることにしました。


Oracle Database ダウンロードサイト


Oracle Database Installation Guide 11g Release 1 (11.1) for Linux


Asianuxにはミラクルリナックスが開発したORANAVIというOracle Databaseのインストールに必要な設定を

自動的に行ってくれるツールがついてるのですが


oranavi

現在Asianux Server 3に入っているORANAVIは10gR2に対応したものらしく11gのインストーラを指定すると

「このバージョンはサポートしてませんぜ」ってな感じのメッセージが表示されるので
oranavi_err
今回はORANAVIを使用せずに通常の手順でインストールしてみました。


※追記:2007/12/11付けでOralce 11gをインストールできるOranaviがリリースされていました。

https://tsn.miraclelinux.com/tsn_local/index.php?m=errata&a=detail&eid=59&sType=&sProduct =



【手順】

1. rootでログイン

2. 必要なパッケージの確認

Oracle Database 11gのインストールには以下のパッケージが必要です。

(RHEL5およびAsianux3の場合)


binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
  glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11

「rpm -q パッケージ名」でインストールされているか確認します。

Asianux Server 3のインストール 時にパッケージの選択で「すべて」を選択した場合は全てインストールされて

います。


3. 必要なユーザー、グループの追加

Oracle Databaseをインストールするには以下のユーザーとグループが必要です。

・Oracleインベントリグループ(oinstall)

・データベース管理者用グループ(dba)

  ・Oracleソフトウェア所有者(oracle)


# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba oracle

# passwd oracle


4. カーネルパラメータの調整

Oracle Database 11gでのカーネルパラメータの要件は以下のようになっています。

パラメータ 説明 設定値 ファイル
semmsl セマフォ集合ごとのセマフォ最大数 250 /proc/sys/kernel/sem
semmns システム全体のセマフォ最大数 32000
semopm セマフォ集合の変数関数呼び出しごとの最大命令数 100
semmni システム全体のセマフォ集合最大数 128
shmall システム全体の共有メモリの最大サイズ 2097152 /proc/sys/kernel/shmall
shmmax 共有メモリセグメント1つあたりの最大サイズ
この値によりSGAの最大サイズが決まります
以下のどちらか小さい方
・物理メモリの半分
・4GB-1byte
/proc/sys/kernel/shmmax
shmmni 1プロセスごとの共有メモリセグメントの数の上限値 4096 /proc/sys/kernel/shmmni
file-max ファイルハンドルの最大数 512 * PROCESSES /proc/sys/fs/file-max
ip_local_port_range 使用できるポートの範囲 最小値1024 最大値65000 /proc/sys/net/ipv4/ip_local_port_range
rmem_default 受信バッファのデフォルト値 4194304 /proc/sys/net/core/rmem_default
rmem_max 受信バッファの最大値 4194304 /proc/sys/net/core/rmem_max
wmem_default 送信バッファのデフォルト値 262144 /proc/sys/net/core/wmem_default
wmem_max 送信バッファの最大値 262144 /proc/sys/net/core/wmem_max

上記で赤字にした値が10gR2から変更されているものになります。

file-maxは10gでは65536固定でしたが11gでは512×プロセス数になっています。

プロセス数は下のインストール手順の27で設定していますがデフォルトでは150になっていて

デフォルトのままの場合はfile-maxは512×150=76800になります。

Asianux Server 3では最初からカーネルパラメータがOracleの推奨値にあわせるように/etc/sysctl.confに

設定されているのですが、現時点では10gR2にあわせているようなので、赤字の値のみ書き換えて


  # sysctl -p


を実行して反映します。


2007/10/30付けでミラクルリナックスのサイトにAsianux Server 3にOracle11gをインストールする手順が

公開されていましたのでパラメータ設定の詳細はそちらを参照して下さい。


ミラクルリナックス:Oracle Database 11g Release 1 (11.1)のインストール方法 (Asianux Server 3)


5. シェル制限の設定

・/etc/security/limits.confに以下の内容を追加します。


oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536


・ /etc/pam.d/loginに以下の内容を追加します。


session required /lib/security/pam_limits.so
session required pam_limits.so


・ /etc/profileに以下の内容を追加します。


if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

6. インストールディレクトリの作成

今回はOracleのインストール先を/u01/app/oracleにします。

このディレクトリを作成しoracleユーザーを所有者とします。


# mkdir -p /u01/app/oracle

# chown -R oracle:oinstall /u01

# chmod -R 775 /u01


7. 一度ログオフし、oracleユーザーでログインし直します。

8. Oracle Database 11gのインストーラーのrunInstallerスクリプトを実行します。

すると以下の様にOracle Universal Installerが起動します。


  asianux_oracle11_1


今回は「拡張インストール」を選択します。


9. インベントリディレクトリの指定を行います。

  今回はデフォルトの「/u01/app/oraInventory」とします。


  asianux_oracle11_2


10. インストールタイプの選択

  今回は最上位の「Enterprise Edition」をインストールしてみます。


asianux_oracle11_3


11.ORACLE_BASEとORACLE_HOMEの場所を指定します。


asianux_oracle11_4


12. 前提条件のチェックが行われます。

理由は分かりませんがUniversal InstallerがAsianuxのバージョンを確認できないようで「asianux-n/a」と

表示され警告が表示されます。

もちろんAsianux3はOracle11gによりきちんとサポートされるOSですのでおかまいなしに次へ進みます。


asianux_oracle11_5


13. 構成オプションの指定で「データベースの作成」を選択します。


asianux_oracle11_6


14. データベース構成の選択で「詳細」を選択します。


asianux_oracle11_7


15. 権限付きオペレーション・システム・グループの選択。

デフォルトのまま次へ進みます。


asianux_oracle11_8


16. Oracle Configuration Manager登録

今回は設定を行いません。


asianux_oracle11_9


17. 以上でOracle11gのインストールが開始されます。


asianux_oracle11_10


18. Oracle11gのインストール完了後はデータベースの作成を実施します。

今回は「カスタム・データベース」を選択します。


asianux_oracle11_11


19. グローバルデータベース名とSIDを入力します。

本来は適切なデータベース名を設定するのですが今回はデフォルトのまま進みます。


asianux_oracle11_12


20. Enterprise Managerの構成を行います。

エラー発生時にメール通知を行いたい場合やリカバリー領域に日次バックアップを行いたい場合は

ここで設定することができます。


asianux_oracle11_13


21. SYS、SYSTEM、DBSNMP、SYSMANのパスワードを設定します。


asianux_oracle11_14


22. データベースの記憶域を指定します。

今回は「ファイルシステム」を選択します。


asianux_oracle11_15


23. データベースの作成先を指定します。


asianux_oracle11_16


24. フラッシュ・リカバリー領域とアーカイブログの設定を行います。


asianux_oracle11_17


25. 使用するデータベースコンポーネントを指定します。


asianux_oracle11_18


26. システムグローバル領域(SGA)、プログラムグローバル領域(PGA)に割り当てるメモリ容量を設定します。

自動メモリ管理に設定することも可能です。


asianux_oracle11_19


27. ブロックサイズと同時接続可能な接続数を設定します。


asianux_oracle11_20


28. データベースのキャラクタセットを選択します。

OSのキャラクタセットがUTF-8なので、データベースのキャラクタセットもそれにあわせておきます。


asianux_oracle11_21


29. 接続モードの選択ですが通常は専用サーバーモードにします。


asianux_oracle11_22


30. デフォルトの高度セキュリティ設定を指定します。


  asianux_oracle11_23


31. 自動メンテナンスタスクの有効・無効を設定します。

11gから導入された機能なので有効にした場合にシステムにどれくらい負荷を与えるのかといった情報が

まだないので有効にしてもいいのか判断が難しいところです。


asianux_oracle11_24


32. 表領域、データファイル、REDOログファイルを確認します。


asianux_oracle11_25


33. データベース作成スクリプトを残したい場合は[データベース作成スクリプトの作成]を選択します。


asianux_oracle11_26


上記の画面で[完了]をクリックするとデータベースの作成が開始されます。


asianux_oracle11_27


データベースの作成が完了すると次のメッセージが表示されます。


asianux_oracle11_28


34. 画面の指示に従い構成スクリプトを実行します。


asianux_oracle11_29


$ su - root

パスワード:

# /u01/app/oraInventory/orainstRoot.sh

権限の変更:/u01/app/oraInventory : 770.

グループ名の変更:/u01/app/oraInventory : oinstall.

スクリプトの実行が完了しました

# /u01/app/oracle/product/11.1.0/db_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.1.0/db_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 bi 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.


35. 以上でインストール完了です。


asianux_oracle11_30


36. /etc/profileに以下の環境変数の設定を行います。


export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1

export ORACLE_HOME_LISTNER=$ORACLE_HOME

export NLS_LANG=Japanese_Japan.AL32UTF8

export ORACLE_SID=orcl

export ORA_OWNER=oracle

export PATH=$PATH:$ORACLE_HOME/bin


以上でOracle Database 11gのインストール作業は終了です。

後はデータベースが正しく稼動するか確認しておきます。

【確認手順】

以下の手順でOracle Databaseを起動します。

1.oracleユーザーでログイン

2 リスナーの起動


$ lsnrctl start


3 データベースの開始


$ dbstart


※尚、事前にlsnrctl startを実行していない場合はdbstartでリスナーも一緒に起動することができますが

その場合は第一起動引数でリスナーのホームディレクトリのパスを指定する必要があります。


$ dbstart $ORACLE_HOME_LISTNER


4 Enterprise Manager Database Consoleの開始


$ emctl start dbconsole


この状態でfirefoxを起動しURLにhttps://[ホスト名]:1158/emを指定しEnterprise Managerを表示します。

asianux_oracle11_em

データベースが正常に起動していることが確認できます。


関連記事:

[Asianux3]Oracle11gの自動起動設定