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!
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.
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.
What is Oracle's instant client and how do I install it?
Introduction to Oracle Call Interface