The first bit is getting the php-oracle connection setup, this has been tested on Ubuntu 10.04 (Desktop) and 8.10 (Server) both are running the 64-bit OS.

  1. Install PEAR and PECL
    sudo apt-get update
    sudo apt-get install php-pear php5-dev libaio1 build-essential
  2. Download Oracle Instant Client. You need the Basic and SDK.
  3. Move and unzip the files
    sudo mkdir -p /opt/oracle
    cd /opt/oracle
    sudo unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
    sudo unzip oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip
    sudo mv /opt/oracle/instantclient_11_2 /opt/oracle/instantclient
  4. Create sym links.
    cd /opt/oracle/instantclient
    sudo ln -s libclntsh.so.11.1 libclntsh.so
    sudo ln -s libocci.so.11.1 libocci.so
  5. Install oci8.sudo pecl install oci8
  6. At the prompt enter: instantclient,/opt/oracle/instantclient
  7. Enable it by adding this line to your php.ini
    extension=oci8.so
  8. Restart Apache.
    sudo /etc/init.d/apache2 restart

The next bit is getting CodeIgniter and Oracle setup:
Notice that database is blank, and hostname includes the host, port and service name
$db['default']['hostname'] = "dbhost.example.com:port/service_name";
$db['default']['username'] = "dbusername";
$db['default']['password'] = "dbpassword";
$db['default']['database'] = "";
$db['default']['dbdriver'] = "oci8";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

One last thing i’ve learned working with Oracle and PHP is when getting CLOB’s and the like out of the database, to access the data use this syntax: $model->fldName->load().