Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.


Gem Version Tests

What is ruby-oci8

Ruby-oci8 is a ruby interface for Oracle Database. The latest version is available for all Oracle versions after Oracle 10g including Oracle Instant Client.

Use ruby-oci8 2.0.6 for Oracle 8 or use ruby-oci8 2.1.8 for Oracle 9i.

Note that ruby 1.8 support was dropped in ruby-oci8 2.2.0. Use ruby-oci8 2.1.8 for ruby 1.8.

What's new

See {file:NEWS}.

Sample one-liner

When you have an Oracle database server to which sqlplus scott/tiger can connect and scott user has emp table, you can select emp and print rows as CSV by the followig one liner.

ruby -r oci8 -e "'scott', 'tiger').exec('select * from emp') do |r| puts r.join(','); end"



  • {file:docs/ Install for Oracle Full Client}
  • {file:docs/ Install for Oracle Instant Client}
  • {file:docs/ Install Binary Package}
  • {file:docs/ Install on OS X}

Report issues

Other documents

  • {file:docs/ Number Type Mapping between Oracle and Ruby}
  • {file:docs/ Timeout Parameters}
  • {file:docs/ Conflicts between Local Connections and Child Process Handling on Unix}
  • {file:docs/ Hanging After a Long Period of Inactivity}
  • {file:docs/ Bind an Array to IN-condition}
  • {file:docs/ LDAP Authentication and Function Interposition}


  • {file:COPYING 2-clause BSD-style license} from ruby-oci8 2.1.3
  • {file:COPYING_old old Ruby license} until 2.1.2