I've been reading upon the definitions of oracle instant client and oci but being new to oracle database having a bit of difficult time to understand what they are/for. I would appreciate someone can clarify the difference of two. Thank you!

2 Answers 2


OCI is short for "Oracle Call Interface". It's essentially the API that defines how program (a "client") can communicate with the database server.

The instant client provides an implementation of the OCI that can be used by other programs, so that they don't have to implement the communication layer. It is e.g. used by SQL*Plus or other client applications.

  • so oracle instant client is type of jdbc driver then?
    – DaeYoung
    Commented Feb 10, 2016 at 17:28
  • @DaeYoung: no, the JDBC driver is something different. It doesn't use the OCI interface, it implements that internally and doesn't depend on the Oracle client being installed. The instant client is more like the ODBC driver
    – user1822
    Commented Feb 10, 2016 at 19:17
  • bear with me please for one more question. Oracle instant client needs to be installed on a client machine in order to use oci driver? If I use oracle thin driver (jdbc?) I don't need to install any Oracle program such as instant client. Did I understand right? Thank you!
    – DaeYoung
    Commented Feb 11, 2016 at 13:40
  • @DaeYoung: correct. If you use the Oracle JDBC (thin) driver, all you need is the driver's jar file and a Java runtime.
    – user1822
    Commented Feb 11, 2016 at 18:13
  • I'd appreciate your reply and answer. Have a blessed day!
    – DaeYoung
    Commented Feb 11, 2016 at 19:11

Oracle Instant Client is a light-weight software which helps to run OCI, OBDBC, Pro*C, JDBC without installing full Oracle client. In other hand the Oracle Call Interface (OCI) is an application programming interface (API) that allows applications written in C to interact with one or more Oracle Servers.

For details:
What is Oracle's instant client and how do I install it?
Introduction to Oracle Call Interface

  • The JDBC driver doesn't need an Oracle client (at least not the thin driver which is recommended by Oracle)
    – user1822
    Commented Feb 10, 2016 at 19:18
  • Applications but also libraries written in C, which notably enables interaction with OCI from software written in other languages, even interpreted languages such as PHP, Ruby and Python.
    – Roy
    Commented Sep 6, 2016 at 0:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.