The figure illustrates the architecture of Oracle JDBC drivers and Oracle Database. The JDBC Thin driver communicates from a client to Oracle Database through Java sockets, communicating with the SQL engine and PL/SQL engine in the database. The JDBC OCI driver communicates from a client to the SQL and PL/SQL engines through the client-side OCI C library. The server-side internal driver is located within Oracle Database and communicates directly to that database through the KPRB C library. The server-side Thin driver has functionality similar to the client-side Thin driver, being used to communicate from one database server to another.