Using Oracle Call Interface

You can use Oracle Call Interface (OCI) as an alternative to ODBC to significantly improve data load and dimension build performance. With this method, you use Data Prep Editor to specify an OCI connect identifier.

To use an Oracle OCI connect identifier, use the following syntax for the Data Source Name (DSN) identification:

host:port/Oracle_service_name

Following is an example OCI connect identifier where the host server name is “myserver,” the port number is 1521, and the Oracle Service Name is “orcl.us.oracle.com”:

myserver:1521/orcl.us.oracle.com

See also Oracle Essbase Administration Services Online Help.

On AIX systems, when you load SQL data using OCI, you must enable asynchronous I/O or the data load fails with this message:

Cannot get async process state. Essbase Error(1021104): Cannot load instant client shared library [libociei.so].Make sure that the required binaries are present with correct environment variables set.

  To enable asynchronous I/O on AIX:

  1. Run this command to determine the state of the aio0 driver:

    lsdev -C -l aio0

    Example output:

    aio0 Defined Asynchronous I/O

    Defined indicates that the aio0 driver is installed on the system but is not available for applications to use. If the driver is not available for applications, change the state of the aio0 driver Defined to Available.

  2. Run the cfgmgr AIX command:

    cfgmgr -l aio0
  3. To make the Available state permanent (across system reboots), issue the chdev AIX command:

    chdev -l aio0 -P -a autoconfig='available'

    You do not need to reboot the system to effectuate these changes.

    Example output:

    aio0 changed
  4. Run this command to check the state of the aio0 driver:

    lsdev -C -l aio0

    Example output:

    aio0 Available Asynchronous I/O