その他
    ホーム技術発信DoRubyMac OS X Leopard にOracleをインストールしよう

    Mac OS X Leopard にOracleをインストールしよう

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    遂に先日、Intel Mac版Oracleがリリースされました。今までは別のLinuxマシンへXE版をインストールして代替していたのですが、これからはそのままローカルマシンで動かす事が出来ます。というわけで駆け足になりますが今回はそのインストール方法を記述しておきたいと思います。

    先に断っておきますが、本記事は元となる記事があります。この著者は冒頭で 「Oracleから出ているインストールガイドは長ったらしいし、ほとんどの人に必要ない事まで書かれている。まずは手短なインストール手順を紹介する」 という趣旨の事を書かれていました。全く同感です。 一部加筆などしていますが、大筋で書かれている内容そのままでインストールを行っていきたいと思います。まずはrootユーザになる。sudo -i
    oinstallグループとoracleユーザを作成(既存のグループおよびユーザIDと被らないように600番を使用しています)


    dscl . -create /groups/oinstall
    dscl . -append /groups/oinstall gid 600
    dscl . -append /groups/oinstall passwd "*"
    dscl . -create /users/oracle
    dscl . -append /users/oracle uid 600
    dscl . -append /users/oracle gid 600
    dscl . -append /users/oracle shell /bin/bash
    dscl . -append /users/oracle home /Users/oracle
    dscl . -append /users/oracle realname "Oracle software owner"
    mkdir /Users/oracle
    chown oracle:oinstall /Users/oracle

    Oracleユーザのパスワードを変更


    passwd oracle

    デフォルトのカーネルパラメータを変更します。


    vi /etc/sysctl.conf

    そしてOracle推奨のパラメータを入力します。


    kern.sysv.semmsl=87381
    kern.sysv.semmns=87381
    kern.sysv.semmni=87381
    kern.sysv.semmnu=87381
    kern.sysv.semume=10
    kern.sysv.shmall=2097152
    kern.sysv.shmmax=2197815296
    kern.sysv.shmmni=4096
    kern.maxfiles=65536
    kern.maxfilesperproc=65536
    net.inet.ip.portrange.first=1024
    net.inet.ip.portrange.last=65000
    kern.corefile=core
    kern.maxproc=2068
    kern.maxprocperuid=2068

    ここでOSを再起動すれば、パラメータが有効になります。再起動が終わったら再度ターミナルを立ち上げ、oracleユーザになりましょう。


    su - oracle

    .bash_profileに以下の値をセットしましょう。


    export DISPLAY=:0.0
    export ORACLE_BASE=$HOME
    umask 022
    ulimit -Hn 65536
    ulimit -Sn 65536

    よくOracle関連のファイル群はOracleユーザのホームディレクトリ配下に配置されるので、ここではORACLE_BASEをOracleユーザのホームディレクトリに設定しています。 現在のシェルにこの設定を反映させましょう。


    . ~/.bash_profile

    ここでdb.zip をダウンロードし、展開してしまいましょう


    mkdir Install
    cd Install
    # downloadしたdb.zipをこのディレクトリへ配置して、
    unzip db.zip
    cd db/Disk1

    ここでインストーラを起動します


    ./runInstaller

    インストールウィザードでは以下の通りのオプションを指定します

    1.  拡張インストール
    2.  Standard Edition
    3. ホーム詳細の設定(そのまま)
    4. データベースの作成/汎用目的
    5. グローバル・データベース名: orcl, SID: orcl
    6. データベース・キャラクタセットの選択: Unicode標準UTF-8 AL32UTF8
    7. 「サンプル・スキーマ付きデータベースを作成」にチェックつける
    8. ファイルシステム→「データベース・ファイルの位置の指定」→/Users/Oracle/oradata/
    9.  すべてのアカウントで、同一のパスワードを使用(パスワードを2つ入力する) 

    ここからしばらくインストールが行われます

    パスワード管理 以下のような画面がでたらパスワード管理を押してください。

    ここでアカウントのロックをはずしておきます(HRなど)。左から二番目のチェックをはずし、パスワード(hrとか)をセットすればOKです。

    インストールの最後に、rootでひとつのシェルスクリプトを実行するよう指示がでます。


    root# /Users/oracle/oracle/product/10.2.0/db_1/root.sh
    Running Oracle 10g root.sh script...

    The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME= /Users/oracle/oracle/product/10.2.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 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.

    これがうまくいけばインストールは成功です。

    Oracleユーザの設定を追加する

    .bash_profileに追加します。


    export ORACLE_HOME=/Users/oracle/oracle/product/10.2.0/db_1
    export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
    export ORACLE_SID=ORCL
    PATH=$PATH:/$ORACLE_HOME/bin

    oracleユーザで再ログインして、リスナーの状態を確認します


    lsnrctl status

    停止しているなら起動させましょう


    lsnrctl start

    Oracleデータベースへサンプルユーザで接続できるか試しましょう


    sqlplus hr/hr@orcl

    ここでうまくいかない事があればなんらかの調査が必要です 🙂 自分のアカウントでもsqlplusを利用できるように自分のアカウントをoinstallグループに入れてもらいましょう。

    1. 「システム環境設定」
    2. 「アカウント」
    3. 「管理者の認証を行う(南京錠マーク)」
    4. 「oinstallグループをクリック」
    5. 「自分のアカウント名にチェックを入れる」

    後はRailsアプリなどで以下のように指定して、Databaseを利用してみてください


    development:
    adapter: oracle_enhanced
    database: localhost/orcl
    username: hr
    password: hr

    あ、Railsで利用するDB接続アダプタはこっち の記事を参照してください。

    今日はここまで。