DB/Oracle/11g 環境構築

Top/DB/Oracle/11g 環境構築

目次

Oracle のステキライセンス(開発者ライセンス)により、実験や検証目的では本来有償のモノもダウンロードしてインストールできます。

というわけで、天下の Oracle 様の看板製品であるところの Oracle Database 11g を自宅の Linux 環境(RHEL 6。CentOS でもたぶん一緒)に入れるというお話。

なお、RHEL 6 はサポート対象外っぽいので、もしアレでも我慢しましょう。


参照ドキュメント

そのものズバリのドキュメントがあるのでそこを参照する。ほかのプラットフォームのインストレーションガイドも探せばある。

要件の確認

権限

要 root 権限。su しておく。

メモリ

最低 4GB。けっこう使うのね。

自動メモリ管理を使う場合は、/dev/shm が MAX_MEMORY_TARGET と MEMORY_TARGET 以上ないといけない。自動共有メモリ管理の場合はこの限りではない。

  • /dev/shm の容量の確認
    df -h /dev/shm
    

ディスク

OS

RHEL 6 がサポート対象外っぽいのでちょっと困る。勘で進める。

カーネル

パッケージ

ドキュメントには RHEL 6 の詳細記述なし。RHEL 5 で必要とされているパッケージを、バージョンを気にせず最新版を放り込んでおく。

  • パッケージのインストール
    # こんな雑な入れ方でいいのかね
    yum install binutils compat-libstdc++ gcc gcc-c++ glibc glibc-devel glibc-devel-32bit ksh-93r libaio libaio-32bit libaio-devel libaio-devel-32bit libelf libgcc libstdc++ libstdc++-devel make numactl sysstat unixODBC unixODBC-devel
    
    • OUI の環境チェックで何個かコケた。i386 のパッケージが必要っぽい。要調査
    • 無視しても平気っぽいので無視してやってみてる。詳細は後日

環境設定

OS グループとユーザの準備

Oracle インベントリグループと DBA グループ、Oracle ソフトウェア所有者のユーザが必要なので追加する。それぞれ標準は oinstall、dba、oracle。

すでにユーザが存在する場合は、所属グループの設定を確認して、必要があれば修正する。

  • グループとユーザの追加
    # グループの追加
    groupadd -r oinstall
    groupadd -r dba
    
    # ユーザの追加
    useradd -g oinstall -G dba oracle
    
    # パスワードの設定
    passwd oracle
    

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

ドキュメンテーションガイドを参照して、適宜必要な値を /etc/sysctl.conf に記述する。

  • /etc/sysctl.conf への記述例
    # Oracle Database 11g Recomended Values
    net.core.rmem_max = 4194304
    net.core.rmem_default = 262144
    net.core.wmem_max = 1048576
    net.core.wmem_default = 262144
    fs.aio-max-nr = 1048576
    

記述ができたらカーネルに反映させる。コマンドを実行するか再起動する。

  • 設定の反映
    sysctl -p
    

リソース制限の設定

インストール時に使うユーザ(ここでは oracle)のリソース制限を確認して、必要があれば設定する。

  • リソース制限の確認
    # ユーザの変更
    su - oracle
    
    # ファイル記述子数のソフトリミット
    ulimit -Sn
    
    # ファイル記述子数のハードリミット
    ulimit -Hn
    
    # プロセス数のソフトリミット
    ulimit -Su
    
    # プロセス数のハードリミット
    ulimit -Hu
    
    # スタックセグメントサイズのソフトリミット
    ulimit -Ss
    
    # スタックセグメントサイズのハードリミット
    ulimit -Hs
    

ドキュメントを確認して設定値が要件を満たしていなければ設定ファイルに記述する。

  • /etc/security/limits.conf の記述例
    oracle  soft    nofile  1024
    oracle  hard    nofile  65536
    oracle  soft    nproc   2047
    oracle  hard    stack   32768
    

ディレクトリの作成

必要なディレクトリを作成して所有者やらなにやらも正しく変更する。

  • ディレクトリの作成
    mkdir -p /u01/app
    chown -R oracle:oinstall /u01/app
    chmod -R 775 /u01/app
    

環境の設定

umask やら環境変数やらをいじる。

  • /home/oracle/.bash_profile などに記述
    # umask の変更
    umask 022
    
    # 環境変数の指定
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_SID=orcl
    

インストール

GUI 環境で行うので要ディスプレイ接続。X を外に飛ばしてもいい(要 DISPLAY 設定)し、VNC でもいい。今回は VNC 環境をすでにつくってあったのでそっちでやる。

VNC 接続して、oracle ユーザでログインしたら、ダウンロードしておいた ZIP ファイルを解凍して、database/runInstaller を実行するだけ。VNC 環境でやったら OUI の日本語が化けたのでひとまず LANG=C 下で実行した。

  • OUI の実行
    env LANG=C ./runInstaller
    

あとはウィザードに従う。設定内容は難しくない。

最後に root で実行しなきゃならんスクリプトを 2 つ(root.sh と orainstRoot.sh)指定されるので、それは忘れずに root で実行すること。


Last-modified: 2011-11-24 (木) 00:46:59