RSS RSS
TrinityT's LABO DoRuby出張版
2009.04.30
カテゴリ:データベース - サーバー - ノウハウ

RailsでOracle ~ インストール編

TrinityTです。

最近、Rail2.2+Oracle10gであるWebアプリを構築する機会がありました。

この組み合わせで行われている案件はかなり少ないらしく、ネットや書籍で探しても情報があまり無いために大変苦労しました。

ここで得られたノウハウをもとに、RailsでOracleを扱う際の注意点について解説しようと思います。

初回となる今回は、各種ライブラリインストールの手順を説明します。

※自分のブログ(http://d.hatena.ne.jp/TrinityT/)に書いた内容に加筆してまとめています。

前提

基本情報

・DB:Oracle10g Release2 Express Edition ※インストール方法は割愛します。

・サーバOS:CentOS5.2 ※仮想環境上に構築(192.168.0.11)

・クライアントOS:CentOS5.2

・APサーバ:Passenger2.1



Rails+Oracleで動かすのに必要なライブラリ

・Ruby-OCI8:Ruby用のOracleコネクタ

・activerecord-oracle_enhanced-adapter:Rails用アダプタ

・Oracleクライアントモジュール:各種OS用バイナリ


手順

Oracleクライアントモジュール

今回はXEのクライアントモジュールを使用します。

注意点:

・本番で使用する場合は製品版のクライアントモジュールを使用してください。

・DBサーバをクライアントとなるOS上にインストールした場合は、通常同時にクライアントもインストールされるため本設定は必要ありません。

・他のOS用に、Windows用や、Linux用Mac用と各種インストーラがあります。


1.DLサイトからoracle-xe-client-10.2.0.1-1.0.i386.rpmをダウンロード


2.RPMインストール

rpm -ivh oracle-xe-client-10.2.0.1-1.0.i386.rpm

3.環境変数設定

.bash_profileなどに以下を追記。※パスは適宜修正してください。

export ORACLE_HOME=/usr/lib/oracle/10.2.0.1/client export PATH=${ORACLE_HOME}/bin:${PATH} export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}

4.環境変数適用

  • Windows:再起動
  • Linux:再ログイン or sourceコマンド


Ruby-OCI8インストール

※2009/5/1時点で、デフォルトではunstableの2.0系がインストールされてしまうため、安定版1.0系を引数で指定してください。

gem install ruby-oci8 -v=1.0.4


Oracleアダプタインストール

Oracleアダプタは2種類あります。

・activerecord-oracle-adapter:旧アダプタ

・activerecord-oracle_enhanced-adapter:上記アダプタのLOBのロック不具合などの点を改善したアダプタ。


2009/5/1現在ではOracleEnhancedAdapterを使う方が良いと思います。旧アダプタのメンテナもEnhancedに移った模様(?)です。

gem install activerecord-oracle_enhanced-adapter



Oracleサーバ側の設定

インストール済のOracleサーバに「ユーザ名:oracle、パスワード:oracle」のユーザを作成しておきます。(sql*plusや管理コンソールなどを利用)

※ちなみにOracleXEサーバではOracleインスタンスは「xe」に固定されます。


これでインストールは一通り完了です。

次回はPassengerでOracle+Railsアプリを動かす際の要点について説明します。

コメント (0)

ブックマークに追加する

この記事にコメントをする
ニックネーム:
メールアドレス:
URL:


.
web開発ならKBMJ
Rubyでのwebシステム開発は
実績豊富なKBMJにお任せ下さい
iPhone開発
iPhone開発は
KBMJにお任せ下さい
ブラウザゲーム エインヘリアル
ブラウザゲーム「エインへリアル」
αテスター募集中
オープンソースECパッケージ エレコマ
オープンソースECパッケージ
「エレコマ」

プロフィール

TrinityT
TrinityT
TrinityTです。

0x17歳で就職し、組み込み(ICカード)→MFC→大規模金融バッチ系(C++,STF)→金融系Web(JSF+Spring)と来て、2007年に株式会社KBMJに転職。
主にRubyOnRailsとSeaser2でWebアプリ開発に従事。
得意技はCapistrano。
最近はAndroidアプリにも手を出し始めました。

個人ブログ:TrinityT's LABO

最近チェックした記事

最新記事

アーカイブ

アクセスランキング

KBMJのWebソリューション
Ruby on railsの開発ならKBMJ
株式会社ケイビーエムジェイ