Connecting Handling
 
  The oci8 extension provides you with 3 different functions for
  connecting to Oracle.  It is up to you to use the most appropriate
  function for your application, and the information in this section is
  intended to help you make an informed choice.
 
 
  Connecting to an Oracle server is a reasonably expensive operation, in
  terms of the time that it takes to complete.  The oci_pconnect()
  function uses a persistent cache of connections that can be re-used
  across different script requests.  This means that you will typically
  only incur the connection overhead once per php process (or apache child).
 
 
  If your application connects to Oracle using a different set of
  credentials for each web user, the persistent cache employed by
  oci_pconnect() will become less useful as the
  number of concurrent users increases, to the point where it may
  start to adversely affect the overall performance of your Oracle
  server due to maintaining too many idle connections. If your
  application is structured in this way, it is recommended that
  you either tune your application using the oci8.max_persistent and oci8.persistent_timeout
  configuration settings (these will give you control over the
  persistent connection cache size and lifetime) or use
  oci_connect() instead.
 
 
  Both oci_connect() and oci_pconnect()
  employ a connection cache; if you make multiple calls to
  oci_connect(), using the same parameters, in a
  given script, the second and subsequent calls return the existing
  connection handle.  The cache used by oci_connect()
  is cleaned up at the end of the script run, or when you explicitly close
  the connection handle. oci_pconnect() has similar
  behaviour, although its cache is maintained separately and survives
  between requests.
 
 
  This caching feature is important to remember, because it gives the
  appearance that the two handles are not transactionally isolated (they
  are in fact the same connection handle, so there is no isolation of any
  kind).  If your application needs two separate, transactionally isolated
  connections, you should use oci_new_connect().
 
 
  oci_new_connect() always creates a new connection to
  the Oracle server, regardless of what other connections might already exist.
  High traffic web applications should try to avoid using
  oci_new_connect(), especially in the busiest sections of
  the application.