Here are the steps to install and configure Ruby on rails with oracle 11.2.0.3 on 32 bit Ubuntu 11.10 Oneiric.
First install the pacakges needed by oracle
sudo apt-get install x11-utils rpm ksh lsb-rpm libaio1
sudo ln -s /usr/include/i386-linux-gnu/sys /usr/include/sys
Download the oracle instant client
Download the following .zip files from the oracle instant client download site.
instantclient-basiclite-linux-11.2.0.3.0.zip
instantclient-sqlplus-linux-11.2.0.3.0.zip
instantclient-sdk-linux-11.2.0.3.0.zip
Install the oracle InstantClient
Create a directory /u01/11gr2
cd /u01/11gr2
unzip the above 3 .zip files into this directory
You will have a new subdirectory named instantclient_11_2
Create a softlink to libclntsh.so
cd /u01/11gr2/instantclient_11_2
ln -s libclntsh.so.11.1 libclntsh.so
Setup the Oracle environment
Add the following to your .bashrc file (And source the file, . ./.bashrc)
export ORACLE_HOME=/u01/11gr2/instantclient_11_2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME
Create the tnsnames.ora file in /u01/11gr2/instantclient_11_2
Add service name entry for your oracle database to the tnsnames.ora
RK01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = burl5vb1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rk01)
)
)
Install Ruby 1.9.2
sudo apt-get install curl
sudo apt-get install git-core
git config --global user.name "YourNameHere"
git config --global user.emailbash YourEmailHere
bash << (curl -s https://rvm.beginrescueend.com/install/rvm)
sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev
rvm install 1.9.2
rvm --default use 1.9.2
Install Rails 3.1.1
gem install rails
Installing and using the oracle driver.
You can include the download and install of the oracle-advanced driver and the oci8 driver in the Gemfile for your application.
So that when you do the bundle install, it will install those gems for you.
Example shown below.
rails new testora
cd testora
Add the following lines to your Gemfile (In the application base directory)
gem 'activerecord-oracle_enhanced-adapter', :git => 'git://github.com/rsim/oracle-enhanced.git'
gem 'ruby-oci8', '~> 2.0.6'
Save and quit from Gemfile
Run the following command to install all the gems you need for the application
bundle install
Remove all the other entroes and add the database connection entry to your database.yml file (Under testora/config).
development:
adapter: oracle_enhanced
database: rk01
username: scott
password: tiger
Create your application and run it
rails generate scaffold purchase name:string cost:float
rake db:migrate
rails server
You can access the application from the following URL.
http://localhost:3000/purchases
Now you should be able to run your application.