16 Setting Up Data Sources on Linux and UNIX

This chapter describes how to set up data sources for use with Oracle Business Intelligence when the Oracle BI Server is running on Linux or UNIX.

Most repository development is performed on Windows, because the Administration Tool runs only on Windows. When you move to a production system, however, you can choose to run the Oracle BI Server on a Linux or UNIX platform.

See "System Requirements and Certification" for information about supported Linux and UNIX platforms.

This chapter contains the following topics:

About Setting Up Data Sources on Linux and UNIX

When the Oracle BI Server is running on Linux or UNIX, most data source connections are for query-only access. The Administration Tool is used for importing objects and is a Windows-only tool. Because of this, data source connections for import must be set up on Windows.

Note that some data source connections on Linux and UNIX do support write operations for special functions, like data source connections for write-back, usage tracking, and annotations for Oracle Scorecard and Strategy Management.

When the Oracle BI Server is running on Linux or UNIX and you need to update database object settings (such as the database type) or connection pool settings, you can copy the repository file to a Windows computer, make the changes using the Administration Tool on Windows, and then copy the repository file back to the Linux or UNIX computer.

There are three types of data source connections on Linux and UNIX platforms:

  • Native data source gateway connections, such as OCI for Oracle Database or DB2 CLI for IBM DB2

  • ODBC connections using the DataDirect Connect ODBC drivers that are bundled with Oracle Business Intelligence

  • Native ODBC connections using external drivers, such as for Teradata data sources

Note that you can have a single repository that contains both DataDirect Connect ODBC connections and native ODBC connections. In this situation, both the native ODBC drivers and DataDirect ODBC drivers need to be managed by the same DataDirect ODBC driver manager. For example, the Teradata ODBC drivers include their required ODBC driver managers. When the Teradata ODBC driver is used with Oracle BI EE, the driver must be managed by the DataDirect ODBC driver manager bundled with Oracle BI EE.

Configuring Data Source Connections Using Native Gateways

You can connect to both Oracle Database and DB2 using native gateways (OCI and DB2 CLI, respectively).

For Oracle Database, note the following:

  • The Oracle BI Server uses the Oracle Call Interface (OCI) to connect to the database. OCI is installed by default with Oracle BI Enterprise Edition. You must use the bundled version to connect.

  • In the tnsnames.ora file, the Oracle Database alias (the defined entry name) must match the Data Source Name used in the repository connection pools of all physical Oracle databases.

    When connecting to an Oracle Database data source, you can include the entire connect string, or you can use the net service name defined in the tnsnames.ora file. If you choose to enter only the net service name, you must set up a tnsnames.ora file in the following location within the Oracle Business Intelligence environment, so that the Oracle BI Server can locate the entry:

    ORACLE_HOME/network/admin

  • You must also edit the user.sh file to set environment variables for the database client.

For DB2, you must install the appropriate database client on the computer running the Oracle BI Server, then edit the user.sh file to set environment variables for the database client.

Note:

For Windows, you can set environment variables for DB2 in the user.cmd file. For example, if configuring DB2 CLI, then you must modify user.cmd to include the DB2 executable path. You can find the user.cmd file at:
ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.cmd

To edit the user.sh file to set environment variables for Oracle Database or DB2:

  1. Open the user.sh file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.sh
    
  2. Include the appropriate environment variable settings for the database client of your choice. Ensure that you point to the appropriate libraries, depending on whether you are using a 32-bit or 64-bit database. See Example 16-1 for sample values.

  3. Save and close the file.

Example 16-1 Sample user.sh Entries for Oracle Database and DB2 (32-Bit)

This example shows sample entries in user.sh for Oracle Database and DB2 on various platforms.

###############################################################
# Linux: Oracle BI 32 bit mode
################################################################
#set +u

# Oracle Parameters
#---------------------------
# Make sure that Oracle DB 32 bit Client is installed
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH

# If you have Linux 64 bit Platform, and would like to run Oracle BI 32 bit
# then you must install Oracle DB 64 bit client, and this client comes with 
# 32 bit libraries under $ORACLE_HOME/lib32. The LD_LIBRARY_PATH in this case
# shall be like this:
#LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH

# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 32 lib file
#. /DB2ISTANCE/sqllib/db2profile
#---------------------------

###############################################################
# Solaris: Oracle BI 64 bit mode
###############################################################
#set +u
 
# Oracle Parameters
#---------------------------
# Make sure to install Oracle DB 64 bit Client
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#LD_LIBRARY_PATH_64=$ORACLE_HOME/lib:$LD_LIBRARY_PATH_64:/opt/j2se/jre/lib/sparc
#export LD_LIBRARY_PATH_64
#---------------------------
 
# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 64 lib file
#. /DB2ISTANCE/sqllib/db2profile
#LD_LIBRARY_PATH_64=/DB2ISTANCE/sqllib/lib:$LD_LIBRARY_PATH_64
#export LD_LIBRARY_PATH_64
#---------------------------

###############################################################
# HPUX Itanium: Oracle BI 64 bit mode
###############################################################
#set +u
 
# Oracle Parameters
#---------------------------
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH:/opt/j2se/jre/lib/hp700
#export SHLIB_PATH
#---------------------------
 
# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 64 lib file
#. /DB2ISTANCE/sqllib/db2profile
#SHLIB_PATH=/DB2ISTANCE/sqllib/lib:$SHLIB_PATH
#export SHLIB_PATH
#---------------------------

###############################################################
# AIX: Oracle BI 64 bit mode
###############################################################
#set +u
 
# Oracle Parameters
#---------------------------
#ORACLE_HOME=/export/home/oracle/10g
#export ORACLE_HOME
#TNS_ADMIN=$ORACLE_HOME/network/admin
#export TNS_ADMIN
#PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
#export PATH
#LIBPATH=$ORACLE_HOME/lib:$LIBPATH:/opt/j2se/jre/lib/sparc
#export LIBPATH
#---------------------------
 
# DB2 Parameters
#---------------------------
#make sure the /DB2ISTANCE/sqllib/lib points to 64 lib file
#. /DB2ISTANCE/sqllib/db2profile
#---------------------------

Note that the shell script excerpts shown are examples only and are not recommendations for particular software platforms. See "System Requirements and Certification" for information about supported software platforms.

Troubleshooting OCI Connections

If you are having trouble connecting to an Oracle Database using OCI, check to ensure that the following conditions are true:

  • The computer running the Oracle BI Server must use Oracle Call Interface (OCI) to connect to the database.

  • If you choose not to use the entire connect string in the repository connection pool, you must ensure that a valid tnsnames.ora file is set up in the following location within the Oracle Business Intelligence environment, so that the Oracle BI Server can locate the entry:

    ORACLE_HOME/network/admin

  • If you choose not to use the entire connect string in the repository connection pool, ensure that the net service name in the tnsnames.ora file matches the Data Source Name used in the connection pool.

    For example, in the following example of a tnsnames.ora entry, the corresponding Oracle BI repository connection pool Data Source Name is ITQA2.

    ITQA2 =
       (DESCRIPTION =
          (ADDRESS_LIST =
             (ADDRESS = (PROTOCOL = TCP)(HOST = ITQALAB2)(PORT = 1521))
       (CONNECT_DATA =
          (SERVICE_NAME = ITQALAB2.corp)
          )
       )
    

The following procedure shows how to check repository database and connection pool settings against the Oracle tnsnames.ora settings.

To check that the repository database and connection pool settings are correct:

  1. Open the repository in the Administration Tool.

  2. In the Physical layer, double-click the database you want to check to display the Database dialog.

  3. On the General tab, in the Data source definition: Database field, ensure that the appropriate Oracle Database version is selected. Then, click OK.

  4. Open the Connection Pool dialog for this data source. You might need to expand the database object in the Physical layer to see the connection pool object.

  5. In the Connection Pool dialog, check that the following is true:

    • The Call interface field displays the appropriate value for the release of the Oracle Database you are using.

    • The Data source name field displays the Oracle Database net service name that you defined in the tnsnames.ora entry.

    • The User name and password fields contain the correct values.

    Change the values if necessary, then click OK.

  6. In the Oracle Business Intelligence environment, open the tnsnames.ora file located in the following directory:

    ORACLE_HOME/network/admin

  7. Check that a valid net service name exists with the following characteristics:

    • Matches the connection pool settings for the Data Source Name

    • Specifies the targeted Oracle physical database

About Updating Row Counts in Native Databases

This topic applies if both of the following are true:

  • You are using the Update Rowcount functionality in the Administration Tool in offline mode.

  • You are running a heterogeneous environment, such as the Oracle BI Server on UNIX, while remote administrators run the Administration Tool on Windows computers.

When using the Update Rowcount functionality in offline mode, the Administration Tool uses local data source connection definitions on the client computer, not the server data sources. Therefore, Oracle Database or DB2 clients must be configured on the Windows computer running the Administration Tool so that the following conditions are true:

  • Data sources point to the same database identified in the Oracle Business Intelligence user.sh file on the UNIX server.

  • The name of the local data source must also match the name of the data source defined in the Connection Pool object in the physical layer of the Oracle BI repository (.rpd) file.

If these conditions are not true, and if the server and client data sources are pointing at different databases, then erroneous updated row counts or incorrect results appear.

Using DataDirect Connect ODBC Drivers on Linux and UNIX

Oracle Business Intelligence provides DataDirect Connect ODBC drivers and driver managers for Linux and UNIX operating systems for connectivity to Microsoft SQL Server, Sybase ASE, Informix, Hive, and Impala databases.

After Oracle Business Intelligence is installed, the DataDirect Connect ODBC 32-bit drivers are installed in ORACLE_HOME/common/ODBC/Merant/7.1.4/lib. The 64-bit drivers are installed in ORACLE_HOME/common/ODBC/Merant/7.1.4/lib64.

Communication between database clients and servers is typically independent of the widths and data paths. In other words, the 32-bit database drivers can communicate with 64-bit database servers, and vice versa.

You do not need to set the ODBCINI environment variable to set up the DataDirect Connect ODBC drivers. This variable is set automatically during installation.

Refer to "System Requirements and Certification" for information about supported operating systems, databases, and driver versions for the DataDirect Connect ODBC drivers.

This section contains the following topics:

Upgrading and Configuring Oracle Business Intelligence to Use DataDirect

An installation of Oracle BI EE 11g Release 11.1.1.9 includes the required DataDirect drivers, which are installed and configured for new installations. However, if you upgraded Oracle BI EE from a version earlier than 11.1.1.9 and had previously configured the DataDirect drivers, then you must manually upgrade to and configure the DataDirect 7.1 drivers. This upgrade and configuration must be performed on each server running DataDirect with Oracle BI EE.

Note:

The information in this section is incorrect. For the correct upgrade and configuration information, see "DataDirect 7.14 Driver Configuration" in Oracle Fusion Middleware Release Notes for Oracle Business Intelligence Enterprise Edition.

Upgrading DataDirect Drivers

The following procedure explains how to upgrade the DataDirect drivers.

To upgrade Oracle Business Intelligence to use DataDirect Drivers:

  1. In Windows Explorer, locate the DataDirect configuration script.

    For Linux and UNIX systems,

    ORACLE_HOME/Oracle_BI1/bin/datadirect_version.sh
    

    For all other Windows installation types,

    ORACLE_HOME/Oracle_BI1/bin/datadirect_version.cmd
    
  2. Open the script and update it, as necessary. Note the syntax and options.

    /bin/datadirect_version.cmd -i oracleInstance -s driverVersion [-l|-h]
    

    Where:

    -i displays the Oracle BI Instance directory.

    -s displays the DataDirect driver version.

    Example:

    /bin/datadirect_version.cmd -i C:\Installs\OBIEE\instances\instance1 -s 7.1.4 
    

    You can specify -l to provide a list of the DataDirect drivers that Oracle BI EE supports.

    You can specify -h to displays usage.

  3. Execute the command to upgrade the drivers.

  4. To complete the changes to the system, restart all services. See "Starting and Stopping Oracle Business Intelligence" in Oracle Fusion Middleware System Administrator's Guide for Oracle Business Intelligence Enterprise Edition for information about restarting all services.

    After you have restarted all services, you must configure the DataDirect drivers. See "Configuring DataDirect Drivers" for more information.

Configuring DataDirect Drivers

When installed or upgraded, Oracle Business Intelligence puts the DataDirect drivers in ORACLE_HOME/common/ODBC/Merant/[driver_version]. For example, [HOME]/common/ODBC/Merant/7.1.4.

The following procedure explains how to configure the DataDirect drivers.

To configure Oracle Business Intelligence to use DataDirect Drivers:

  1. Open opmn.xml for editing. You can find opmn.xml at:

    ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml
    
  2. Locate the coreapplication_obis1 tag, and within that tag, locate the LD_LIBRARY_PATH variable. For example:

    <variable id="LD_LIBRARY_PATH" value="ORACLE_
    HOME/common/ODBC/Merant/7.1.4/lib$:ORACLE_HOME/bifoundation/server/bin$:ORACLE_
    HOME/bifoundation/web/bin$:ORACLE_
    HOME/clients/epm/Essbase/EssbaseRTC/bin$:ORACLE_
    HOME/bifoundation/odbc/lib$:ORACLE_INSTANCE:ORACLE_HOME/lib" append="true"/>
    
  3. Update the variable to include the DataDirect driver path. For example:

    <variable id="LD_LIBRARY_PATH" value="ORACLE_HOME/common/ODBC/Merant/7.1.4/
    lib:ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:ORACLE_
    HOME/bifoundation/server/bin$:ORACLE_HOME/bifoundation/web/bin$:ORACLE_
    HOME/clients/epm/Essbase/EssbaseRTC/bin$:ORACLE_
    HOME/bifoundation/odbc/lib$:ORACLE_INSTANCE:ORACLE_HOME/lib" append="true"/>
    
  4. Save and close the file.

  5. Restart OPMN.

  6. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  7. Update the ODBC entry to use the DataDirect drivers.

    [ODBC]
    #Trace = 0
    #TraceFile =
    ORACLE_INSTANCE/diagnostics/logs/OracleBIApplication/coreapplicat
    ion/odbctrace.out
    #TraceDll = ORACLE_HOME/common/ODBC/Merant/7.1.4/lib/odbctrac.so
    #InstallDir = ORACLE_HOME/common/ODBC/Merant/7.1.4
    #UseCursorLib = 0
    #IANAAppCodePage = 4
    IANAAppCodePage=4
    InstallDir=ORACLE_HOME/common/ODBC/Merant/7.1.4/install
    Trace=0
    TraceFile=odbctrace.out
    TraceDll=ORACLE_HOME/common/ODBC/Merant/7.1.4/lib/ARtrc26.so
    
  8. Update the ODBC Data Sources entry to include the SQL Server data source name.

    [ODBC Data Sources]
     
    AnalyticsWeb = Oracle BI Server
    Cluster = Oracle BI Server
    SSL_Sample = Oracle BI Server
    SQLSERVER=DataDirect 7.1 SQL Server Wire Protocol
    
  9. Save and close the odbc.ini file.

  10. Repeat these steps on each computer that runs the Oracle BI Server process. If you are running multiple Oracle BI Server instances on the same computer, then ensure that you update the ias-component tag appropriately for each instance in opmn.xml (for example, ias-component id="coreapplication_obis1", ias-component id="coreapplication_obis2", and so on).

  11. If you are using a database that is already configured to use the DataDirect drivers, then you must modify the configuration's odbc.ini file to use the correct DataDirect drivers. See the below procedures for information about how to modify the existing database configuration.

Configuring the DataDirect Connect ODBC Driver for Microsoft SQL Server Database

The name of the DataDirect ODBC driver file to connect to a Microsoft SQL Server database is ARmsss23.so. See "System Requirements and Certification" for supported versions of Microsoft SQL Server.

To configure the DataDirect Connect ODBC Driver to connect to Microsoft SQL Server:

  1. Open the opmn.xml file. You can find this file at:

    ORACLE_INSTANCE/config/OPMN/opmn.xml
    
  2. Locate the coreapplication_obis1 tag, and within that tag, locate the "LD_LIBRARY_PATH" variable. Note the following:

    • For Solaris, Linux, and HP-UX, the library path variable is LD_LIBRARY_PATH.

    • For AIX, the library path variable is LIBPATH.

    For example, to set the library path variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  3. If necessary, update the "LD_LIBRARY_PATH" variable to include the DataDirect driver path. For example, to update the variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  4. In opmn.xml, locate the PATH variable and if necessary, include the DataDirect driver path.

  5. Save and close the file.

  6. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  7. Create an entry for the database, ensuring that the ODBC connection name is identical to the data source name specified in the connection pool defined in the repository. Ensure that you set the Driver parameter to the file name and location of the DataDirect Connect driver for Microsoft SQL Server. In the following example, the Driver parameter is set to the 64-bit DataDirect Connect driver, and the data source name is SQLSERVER_DB.

    [SQLSERVER_DB]
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib64/ARmsss23.so
    Description=DataDirect 7.1 SQL Server Wire Protocol
    Address=111.111.111.111,1433
    AlternateServers=
    AnsiNPW=Yes
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    Database=dbschema_name
    LoadBalancing=0
    LogonID=
    Password=
    QuoteID=No
    ReportCodePageConversionErrors=0
    
  8. Save and close the odbc.ini file.

  9. Open the repository in the Administration Tool on a Windows computer.

  10. In the Physical layer, double-click the database object for the Microsoft SQL Server database.

  11. Click OK.

  12. Save and close the repository.

  13. On the Linux or UNIX computer, shut down Oracle Business Intelligence.

  14. Copy the repository from the Windows computer to the Linux or UNIX computer.

  15. Start Oracle Business Intelligence on the Linux or UNIX computer.

Configuring the DataDirect Connect ODBC Driver for Sybase ASE Database

The name of the DataDirect ODBC driver file to connect to a Sybase ASE database is ARase23.so. See "System Requirements and Certification" for information about supported versions of Sybase ASE.

To configure the DataDirect Connect ODBC Driver to connect to Sybase ASE Database:

  1. Open the opmn.xml file. You can find this file at:

    ORACLE_INSTANCE/config/OPMN/opmn.xml
    
  2. Locate the coreapplication_obis1 tag, and within that tag, locate the "LD_LIBRARY_PATH" variable. Note the following:

    • For Solaris, Linux, and HP-UX, the library path variable is LD_LIBRARY_PATH.

    • For AIX, the library path variable is LIBPATH.

    For example, to set the library path variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  3. If necessary, update the "LD_LIBRARY_PATH" variable to include the DataDirect driver path. For example, to update the variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  4. In opmn.xml, locate the PATH variable and if necessary, include the DataDirect driver path.

  5. Save and close the file.

  6. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  7. Create an entry for the database, ensuring that the ODBC connection name is identical to the data source name specified in the connection pool defined in the repository. Ensure that you set the Driver parameter to the file name and location of the DataDirect Connect driver for Sybase ASE Database. For NetworkAddress, provide the IP address or fully qualified host name and the port number.

    In the following example, the Driver parameter is set to the 64-bit DataDirect Connect driver, and the data source name is SybaseASE_DB.

    [SybaseASE_DB]
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib64/ARase23.so
    Description=DataDirect 7.1 Sybase Wire Protocol
    AlternateServers=
    ApplicationName=
    ApplicationUsingThreads=1
    ArraySize=50
    AuthenticationMethod=0
    Charset=
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    CursorCacheSize=1
    Database=Paint
    DefaultLongDataBuffLen=1024
    EnableDescribeParam=0
    EnableQuotedIdentifiers=0
    EncryptionMethod=0
    GSSClient=native
    HostNameInCertificate=
    InitializationString=
    Language=
    LoadBalancing=0
    LogonID=my_id
    NetworkAddress=111.111.111.111,5005
    OptimizePrepare=1
    PacketSize=0
    Password=
    RaiseErrorPositionBehavior=0
    ReportCodePageConversionErrors=0
    SelectMethod=0
    ServicePrincipalName=
    TruncateTimeTypeFractions=0
    TrustStore=
    TrustStorePassword=
    ValidateServerCertificate=1
    WorkStationID=
    
  8. Save and close the odbc.ini file.

Configuring the DataDirect Connect ODBC Driver for Informix Database

The name of the DataDirect ODBC driver file to connect to an Informix database is ARifcl23.so. See "System Requirements and Certification" for information about supported versions of Informix.

To configure the DataDirect Connect ODBC Driver to connect to Informix:

  1. Open the opmn.xml file. You can find this file at:

    ORACLE_INSTANCE/config/OPMN/opmn.xml
    
  2. Locate the coreapplication_obis1 tag, and within that tag, locate the "LD_LIBRARY_PATH" variable. Note the following:

    • For Solaris, Linux, and HP-UX, the library path variable is LD_LIBRARY_PATH.

    • For AIX, the library path variable is LIBPATH.

    For example, to set the library path variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  3. If necessary, update the "LD_LIBRARY_PATH" variable to include the DataDirect driver path. For example, to update the variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  4. In opmn.xml, locate the PATH variable and if necessary, include the DataDirect driver path.

  5. Save and close the file.

  6. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  7. Create an entry for the database, ensuring that the ODBC connection name is identical to the data source name specified in the connection pool defined in the repository. Ensure that you set the Driver parameter to the file name and location of the DataDirect Connect driver for Informix. Also, you must specify the HostName parameter (you can use the fully qualified host name or the IP address) and the PortNumber parameter.

    In the following example, the Driver parameter is set to the 64-bit DataDirect Connect driver, and the data source name is Informix_DB.

    [Informix_DB]
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib64/ARifcl23.so
    Description=DataDirect Informix Wire Protocol
    AlternateServers=
    ApplicationUsingThreads=1
    CancelDetectInterval=0
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    Database=
    HostName=111.111.111.111
    LoadBalancing=0
    LogonID=informix
    Password=mypassword
    PortNumber=1526
    ReportCodePageConversionErrors=0
    ServerName=
    TrimBlankFromIndexName=1
    
  8. Save and close the odbc.ini file.

Configuring the DataDirect Connect ODBC Driver for Cloudera Impala Database

The name of the DataDirect ODBC driver file to connect to a Cloudera Impala database is ARimpala27.so. See "System Requirements and Certification" for information about supported versions of Cloudera Impala.

To configure the DataDirect Connect ODBC Driver to connect to Cloudera Impala:

  1. Open the opmn.xml file. You can find this file at:

    ORACLE_INSTANCE/config/OPMN/opmn.xml
    
  2. Locate the coreapplication_obis1 tag, and within that tag, locate the "LD_LIBRARY_PATH" variable. Note the following:

    • For Solaris, Linux, and HP-UX, the library path variable is LD_LIBRARY_PATH.

    • For AIX, the library path variable is LIBPATH.

    For example, to set the library path variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  3. If necessary, update the "LD_LIBRARY_PATH" variable to include the DataDirect driver path. For example, to update the variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  4. In opmn.xml, locate the PATH variable and if necessary, include the DataDirect driver path.

  5. Save and close the file.

  6. Restart OPMN.

  7. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  8. Create an entry for the database, ensuring that the ODBC connection name is identical to the data source name specified in the connection pool defined in the repository. Ensure that you set the Driver parameter to the file path of the DataDirect Connect driver for Cloudera Impala. Also, you must specify the Host Name parameter (you can use the fully qualified host name or the IP address) and the PortNumber parameter.

    In the following example, the Driver parameter is set to the DataDirect Connect driver, and the data source name is Impala_DB.

    [Impala_DB]
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib/ARimpala27.so
    Description=Oracle 7.1 Cloudera Impala Wire Protocol
    ArraySize=16384
    Database=default
    DefaultLongDataBuffLen=1024
    DefaultOrderByLimit=-1
    EnableDescribeParam=0
    HostName=localhost
    LoginTimeout=30
    MaxVarcharSize=2000
    PortNumber=21050
    RemoveColumnQualifiers=0
    StringDescribeType=12
    TransactionMode=0
    UseCurrentSchema=0
    WireProtocolVersion=2
    
  9. Save and close the odbc.ini file.

    Note that if you are using Impala 1.3.x, then you must complete the steps in the following "Configure Impala 1.3.x to Include a LIMIT Clause" section. If you are using Impala 1.4 (CDH 5.1) or later, then you do not need to complete the additional steps.

  10. Go to the Administration Tool to import the Cloudera Impala metadata. See "Importing Cloudera Impala Metadata Using the Windows ODBC Driver" for more information.

Configure Impala 1.3.x to Include a LIMIT Clause

Impala 1.3.x requires that queries with an ORDER BY clause contain a LIMIT clause. Note that there are three methods to specify this clause in the configuration, but Oracle recommends "Method 1: Modify the Impala daemon's default query options."

Specifying a default order by limit using any of the following methods returns a maximum of 2,000,000 rows for queries with an ORDER by clause.

Method 1: Modify the Impala daemon's default query options:

Oracle recommends this method of specifying the LIMIT clause.

If you specify the LIMIT clause using this method and your queries include an ORDER BY clause, then Impala returns a maximum of 2,000,000 rows. If this limit is exceeded, then Impala throws an exception.

  1. Go to the Cloudera Manager's home page and click the Impala service. The Impala service page appears.

  2. In the Impala service page, click Configuration, and the select View and Edit. The Configuration page appears.

  3. In the Configuration page, select Impala Daemon Default Group. Locate Impala Daemon Query Options Advanced (also called default_query_options) and add the following entries:

    default_order_by_limit=2000000
    abort_on_default_limit_exceeded=true
    
  4. Click Save Changes.

  5. In the Cloudera Manager's home page, restart the Impala service.

For queries over 2,000,000 rows, specify a higher default_order_by_limit value.

Method 2: Modify the Impala daemon's default query options when Impala is not managed by Cloudera Manager:

If your Impala environment is not managed by Cloudera Manager, then use the Impala product documentation to help you modify the LIMIT clause. To complete this task, use the "Configuring Impala Startup Options Through the Command Line" topic, located in the CDH 5 Installation Guide. This topic is available at the following location:

http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/5.0/Impala/Installing-and-Using-Impala/ciiu_config_options.html?scroll=config_options

Using the "Configuring Impala Startup Options Through the Command Line" topic, add the following entry in IMPALA_SERVER_ARGS:

-default_query_options 'default_order_by_limit=2000000;abort_on_default_limit_exceeded=true'

If you specify the LIMIT clause using this method and your queries include an ORDER BY clause, then Impala returns a maximum of 2,000,000 rows. If this limit is exceeded, then Impala throws an exception.

Method 3: Modify the DefaultOrderByLimit parameter in the odbc.ini Impala DSN entry:

Note:

Note that the Default Order By Limit can also be specified by the client instead of the Impala server.

Use this method if you do not have rights to modify the Impala daemon using the previous methods. If you use this method, then Impala silently truncates your value to 2,000,000 rows.

  1. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  2. Locate the Impala_DB database entry, and then locate the DefaultOrderByLimit parameter.

  3. Update the value to 2000000. For example:

    DefaultOrderByLimit=2000000
    
  4. Save and close the odbc.ini file.

If you need your query to return more than 2,000,000 rows, then specify a higher DefaultOrderByLimit value.

Configuring the DataDirect Connect ODBC Driver for Apache Hive Database

The name of the DataDirect ODBC driver file to connect to a Apache Hive is libARicu26.so. See "System Requirements and Certification" for information about supported versions of Apache Hive. See "Limitations on the Use of Apache Hive with Oracle Business Intelligence" for information about using Apache Hive data sources.

To configure the DataDirect Connect ODBC Driver to connect to Apache Hive:

  1. Open the opmn.xml file. You can find this file at:

    ORACLE_INSTANCE/config/OPMN/opmn.xml
    
  2. Locate the coreapplication_obis1 tag, and within that tag, locate the "LD_LIBRARY_PATH" variable. Note the following:

    • For Solaris, Linux, and HP-UX, the library path variable is LD_LIBRARY_PATH.

    • For AIX, the library path variable is LIBPATH.

    For example, to set the library path variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  3. If necessary, update the "LD_LIBRARY_PATH" variable to include the DataDirect driver path. For example, to update the variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  4. In opmn.xml, locate the PATH variable and if necessary, include the DataDirect driver path.

  5. In opmn.xml file, either above or below the LD_LIBRARY_PATH variable, create the HADOOP_DLL variable to point to the DataDirect driver.

    For example:

    <variable id="HADOOP_DLL" 
    value="ORACLE_HOME/common/ODBC/Merant/7.1.4/lib/ARhive27.so"/>
     
    
  6. Save and close the file.

  7. Restart OPMN.

  8. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  9. Create an entry for the database, ensuring that the ODBC connection name is identical to the data source name specified in the connection pool defined in the repository. Ensure that you set the Driver parameter to the file name and location of the DataDirect Connect driver for Hive. Also, you must specify the HostName parameter (you can use the fully qualified host name or the IP address) and the PortNumber parameter.

    In the following example, the Driver parameter is set to the DataDirect Connect driver, and the data source name is Hive.

    [Hive] 
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib/ARhive27.so
    Description=Oracle 7.1 Apache Hive Wire Protocol
    ArraySize=16384
    Database=default
    DefaultLongDataBuffLen=1024
    EnableDescribeParam=0
    HostName=localhost
    LoginTimeout=30
    MaxVarcharSize=2000
    PortNumber=10000
    RemoveColumnQualifiers=0
    StringDescribeType=12
    TransactionMode=0
    UseCurrentSchema=0
    
  10. Save and close the odbc.ini file.

  11. Create a soft link libARicu27.so pointing to libARicu26.so.

    For example:

    cd /usr/Oracle_BI1/common/ODBC/Merant/7.1.4/lib/
    ln -s libARicu26.so libARicu27.so
    

Configuring Database Connections Using Native ODBC Drivers

Oracle Business Intelligence bundles UNIX ODBC drivers for some data sources, but not all. For these data sources, including Teradata and Oracle TimesTen In-Memory Database, you must install your own ODBC driver, then update the user.sh and odbc.ini files to configure the data source.

If you are using Teradata, see also "Avoiding Spool Space Errors for Queries Against Teradata Data Sources" for related information.

To configure a database connection using a native ODBC driver:

  1. Open the opmn.xml file. You can find this file at:

    ORACLE_INSTANCE/config/OPMN/opmn.xml
    
  2. Locate the coreapplication_obis1 tag, and within that tag, locate the "LD_LIBRARY_PATH" variable. Note the following:

    • For Solaris, Linux, and HP-UX, the library path variable is LD_LIBRARY_PATH.

    • For AIX, the library path variable is LIBPATH.

    For example, to set the library path variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  3. If necessary, update the "LD_LIBRARY_PATH" variable to include the DataDirect driver path. For example, to update the variable for the driver on Linux:

    <variable id="LD_LIBRARY_PATH"
    value="$ORACLE_HOME/common/ODBC/Merant/7.1.4/lib$:$ORACLE_HOME/bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:$ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:$ORACLE_HOME/bifoundation/odbc/lib$:$ORACLE_INSTANCE$:$ORACLE_HOME/lib" append="true"/>
    
  4. In opmn.xml, locate the PATH variable and if necessary, include the DataDirect driver path.

  5. Save and close the file.

  6. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  7. Create an entry for the database, ensuring that the ODBC connection name is identical to the data source name specified in the connection pool defined in the repository. Ensure that you set the Driver parameter to the file name and location of the native ODBC driver for the database, with the library suffix that is appropriate for the operating system (for example, .so for Solaris and AIX, or .sl for HP-UX).

    The following example provides details for a Teradata data source on Solaris, with a data source name of Terav502.

    [Terav502]
    Driver=/usr/odbc/drivers/tdata.so
    Description=NCR 3600 running Teradata V2R5.2
    DBCName=172.20.129.42
    LastUser=
    Username=
    Password=
    Database=
    DefaultDatabase=name_of_target_database_or_user
    

    Note that the DefaultDatabase parameter can be left empty only if you have selected the option Require fully qualified table names in the General tab of the Connection Pool dialog for this data source in the Administration Tool.

  8. Still in the odbc.ini file, add an entry to the section [ODBC Data Sources] with the details appropriate for the data source. The following example provides details for a Teradata data source with a data source name of Terav502.

    Terav502=tdata.so
    
  9. Using the Administration Tool, open the repository and add the new DSN you created as the Connection Pool Data source name for the appropriate physical databases. See "Creating or Changing Connection Pools" for more information.

  10. Restart the Oracle BI Server.

Setting Up Oracle TimesTen In-Memory Database on Linux and UNIX

To set up Oracle TimesTen In-Memory Database data sources, first follow the instructions in "Configuring TimesTen Data Sources" to set up the TimesTen data source. Ensure that you go to the section "Configuring Database Connections Using Native ODBC Drivers" in step 4 of the procedure to obtain the correct steps for Linux and UNIX systems.

Next, review the best practices described in "Improving Use of System Memory Resources with TimesTen Data Sources" and implement them as needed.

Finally, if the user that starts OPMN does not have the path to the TimesTen DLL ($TIMESTEN_HOME/lib) in their operating system LD_LIBRARY_PATH variable (or SHLIB_PATH and LIBPATH on HP-UX and AIX, respectively), you must add the TimesTen DLL path as a variable in the opmn.xml file.

To update opmn.xml to include TimesTen variables on Linux and UNIX:

  1. Open opmn.xml for editing. You can find opmn.xml at:

    ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml
    
  2. Locate the ias-component tag for the Oracle BI Server process. For example:

    <ias-component id="coreapplication_obis1" inherit-environment="true">
    
  3. Under the Oracle BI Server ias-component tag, add the required TimesTen variable TIMESTEN_DLL, and also update the LD_LIBRARY_PATH variable (or equivalent), as shown in the following example. Replace the example values with the correct path for the TimesTen client:

    <ias-component id="coreapplication_obis1" inherit-environment="true">
     <environment>
      ...
      <variable id="TIMESTEN_DLL" value="$TIMESTEN_HOME/lib/libttclient.so" />
      <variable id="LD_LIBRARY_PATH" value="$TIMESTEN_HOME/lib:$ORACLE_HOME/
      bifoundation/server/bin$:$ORACLE_HOME/bifoundation/web/bin$:
      $ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin$:" append="true" />
      ...
    </environment>
    
  4. Save and close the file.

  5. Restart OPMN.

  6. Repeat these steps on each computer that runs the Oracle BI Server process. If you are running multiple Oracle BI Server instances on the same computer, then ensure that you update the ias-component tag appropriately for each instance in opmn.xml (for example, ias-component id="coreapplication_obis1", ias-component id="coreapplication_obis2", and so on).

Configuring Oracle RPAS ODBC Data Sources on AIX UNIX

You can access Oracle RPAS ODBC data sources when the Oracle BI Server is running on an AIX UNIX platform. To configure this database connection, first update the odbc.ini file to configure the Oracle RPAS ODBC data source, then use the rdaadmin tool to define dimension tables as not normalized at run time.

See "Setting Up Oracle RPAS Data Sources" for information about configuring Oracle RPAS ODBC data sources on Windows.

To configure Oracle RPAS ODBC as a data source on AIX UNIX:

  1. Log on as a separate telnet session.

  2. Open the odbc.ini file. You can find this file at:

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  3. In the RPAS data source section, edit the values. For example:

    [RPAS Sample]
    Data Source Name=RPAS Sample
    Driver=[client RPASClient/lib/raix/oaodbc.so
    DriverUnicodeType=1
    Description=OpenRDA DSN
    

    The Data Source Name you provide must match the value entered for DATABASE: in Step 3 of the following procedure. Also, you must add the line DriverUnicodeType=1 as shown in the preceding example.

To use the rdaadmin client tool to define dimension tables as not normalized at run time:

  1. Locate the rdaadmin client tool in the following location:

    /bin/rdaadmin

  2. Run the rdaadmin client tool by typing the following command:

    rdaadmin

  3. Enter appropriate text when prompted, as follows:

    DATABASE: [Oracle_RPAS_database_name]

    The database name must match the name given for the Data Source Name in the previous task (for example, RPAS Sample).

    ADDRESS: [ip_address]

    PORT: [port_number]

    An example port number value is 1707.

    CONNECT_STRING: [NORMALIZE_DIM_TABLES=NO]

    This value treats dimension tables as not normalized at run time.

    TYPE: []

    SCHEMA_PATH: []

    REMARKS: []

  4. The RPAS environment variable OPENRDA should be declared in the Oracle BI Server session on UNIX. For example, declare the variable as follows using the 64 bit rdaadmin client tool:

    OPENRDA_INI=/rpasclient64/config/raix/openrda.ini export OPENRDA_INI
    

Configuring Essbase Data Sources on Linux and UNIX

The Oracle BI Server uses the Essbase client libraries to connect to Essbase data sources. The Essbase client libraries are installed by default with Oracle BI Enterprise Edition. No additional configuration is required to enable Essbase data source access for full installations of Oracle BI Enterprise Edition.

However, for HP-UX Itanium systems, the following additional steps are required:

  1. Define ESSLANG and LANG.

    For example:

    ESSLANG=English_UnitedStates.UTF-8@Binary
    export ESSLANG
    LANG=en_US.utf8
    export LANG
    
  2. Comment out LOCALE, SORT_ORDER_LOCALE, and SORT_TYPE in the NQSConfig.ini file. For example:

    [ GENERAL ]
    // Localization/Internationalization parameters.
    // LOCALE="English-usa";
    // SORT_ORDER_LOCALE="English-usa";
    // SORT_TYPE="binary";
    

Configuring DB2 Connect on IBM z/OS and s/390 Platforms

IBM DB2 Connect does not support the option of automatically disconnecting when an application using it receives an interrupt request.

When the native database uses DB2 Connect workstation, then you must change the setting of the parameter INTERRUPT_ENABLED. This parameter must be changed on any Oracle Business Intelligence computer if the database or any data source resides on IBM DB2 on a mainframe running z/OS or s/390 platforms.

Note:

If IBM DB2 is used, DB2 Connect must be installed on the Oracle BI Server computer. The version of DB2 Connect must match the most recent DB2 instance that was configured as a data source.

To configure the INTERRUPT_ENABLED parameter:

  1. Configure a database alias to be used as the native CLI Data Source Name. For example, create a new database entry using DB2 Configuration Assistant.

  2. Using the database alias created and the name of the actual target DB2 database, set the INTERRUPT_ENABLED parameter using the following syntax:

    uncatalog dcs db local_dcsname
    catalog dcs db local_dcsname as target_dbname parms \",,INTERRUPT_ENABLED\"
    

    where:

    • local_dcsname represents the local name of the host or database (database alias name)

    • target_dbname represents the name of database on the host or database system

      Note:

      Ensure that you use backslashes to pass the quotation marks as part of the string.

      The following example uses an OS390 DB2 instance:

      uncatalog dcs db DB2_390
      catalog dcs db DB2_390 as Q10B parms \",,INTERRUPT_ENABLED,,,,,\"
      catalog database DB2_390 as DB2_390 at node NDE1EF20 authentication dcs