この記事はアピリッツの技術ブログ「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
インストールウィザードでは以下の通りのオプションを指定します
- 拡張インストール
- Standard Edition
- ホーム詳細の設定(そのまま)
- データベースの作成/汎用目的
- グローバル・データベース名: orcl, SID: orcl
- データベース・キャラクタセットの選択: Unicode標準UTF-8 AL32UTF8
- 「サンプル・スキーマ付きデータベースを作成」にチェックつける
- ファイルシステム→「データベース・ファイルの位置の指定」→/Users/Oracle/oradata/
- すべてのアカウントで、同一のパスワードを使用(パスワードを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グループに入れてもらいましょう。
- 「システム環境設定」
- 「アカウント」
- 「管理者の認証を行う(南京錠マーク)」
- 「oinstallグループをクリック」
- 「自分のアカウント名にチェックを入れる」
後はRailsアプリなどで以下のように指定して、Databaseを利用してみてください
development:
adapter: oracle_enhanced
database: localhost/orcl
username: hr
password: hr
あ、Railsで利用するDB接続アダプタはこっち の記事を参照してください。
今日はここまで。