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
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.
-
-
@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– user1822Commented 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!– DaeYoungCommented 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.– user1822Commented Feb 11, 2016 at 18:13
-
I'd appreciate your reply and answer. Have a blessed day!– DaeYoungCommented 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)– user1822Commented 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.– RoyCommented Sep 6, 2016 at 0:04