16 Setting Up Data Sources on Linux and UNIX

You can learn 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.

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. You must set up data source connections for import on Windows.

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

You can have a single repository that contains both DataDirect Connect ODBC connections and native ODBC connections. If you are using the native ODBC drivers and DataDirect ODBC drivers, you must manage the drivers with 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, you must manage the driver with the DataDirect ODBC driver manager that is bundled with Oracle BI EE.

Settings for Data Source Connections Using Native Gateways

Learn about the environment variable settings that you must configure for Oracle Database and DB2 using native gateways.

For Oracle Database:

  • The Oracle BI Server uses the Oracle Call Interface (OCI) to connect to the database. OCI is installed by default with Oracle BI EE. 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 BI EE environment, so that the Oracle BI Server can locate the entry:

    BI_DOMAIN/config/fmwconfig/bienv/core

  • Edit the obis.properties file to set environment variables for the database client.

For DB2, you must do the following:

  • Install the appropriate database client on the computer running the Oracle BI Server, then edit the obis.properties file to set environment variables for the database client.

  • For Windows, you can set environment variables for DB2 in the obis.properties file. For example, if configuring DB2 CLI, then you must modify obis.properties to include the DB2 executable path.

  • You need to create a catalog associated with each database so that the client connects to the database by catalog name. To create a catalog associated with each database, enter and run the following command:

    db2 catalog tcpip node <DB2 database> remote <hostname> server <port number>;
    db2 catalog database <DB2 database> as <DB2 database> at node <DB2 database>;
    connect to <DB2 database> user db2admin using welcome1
    

For an example, see Sample obis.properties Entries for Oracle Database and DB2 (32-Bit).

Sample obis.properties Entries for Oracle Database and DB2 (32-Bit)

This example shows sample entries in obis.properties for Oracle Database and DB2 on various platforms.

The shell script excerpts shown are examples only and are not recommendations for particular software platforms. See System Requirements and Certification and Configuring Data Source Connections Using Native Gateways.

###############################################################
# 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/12c
#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
DB2INSTANCE=db2user
IBM_DB_LIB=/scratch/db2user/sqllib/lib
IBM_DB_DIR=/scratch/db2user/sqllib
LD_LIBRARY_PATH=/scratch/db2user/sqllib/lib64:/scratch/db2user/sqllib/lib32
PATH=$PATH:/scratch/db2user/sqllib/bin:/scratch/db2user/sqllib/adm:/scratch/
db2user/sqllib/misc
DB2_HOME=/scratch/db2user/sqllib
IBM_DB_INCLUDE=/scratch/db2user/sqllib/include
DB2LIB=/scratch/db2user/sqllib/lib
###############################################################
# Solaris: Oracle BI 64 bit mode
###############################################################
#set +u
 
# Oracle Parameters
#---------------------------
# Make sure to install Oracle DB 64 bit Client
#ORACLE_HOME=/export/home/oracle/12c
#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
DB2INSTANCE=db2user
IBM_DB_LIB=/scratch/db2user/sqllib/lib
IBM_DB_DIR=/scratch/db2user/sqllib
LD_LIBRARY_PATH=/scratch/db2user/sqllib/lib64:/scratch/db2user/sqllib/lib32
PATH=$PATH:/scratch/db2user/sqllib/bin:/scratch/db2user/sqllib/adm:/scratch/
db2user/sqllib/misc
DB2_HOME=/scratch/db2user/sqllib
IBM_DB_INCLUDE=/scratch/db2user/sqllib/include
DB2LIB=/scratch/db2user/sqllib/lib
###############################################################
# HPUX Itanium: Oracle BI 64 bit mode
###############################################################
#set +u
 
# Oracle Parameters
#---------------------------
#ORACLE_HOME=/export/home/oracle12c
#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
#---------------------------
#DB2INSTANCE=db2user
IBM_DB_LIB=/scratch/db2user/sqllib/lib
IBM_DB_DIR=/scratch/db2user/sqllib
LD_LIBRARY_PATH=/scratch/db2user/sqllib/lib64:/scratch/db2user/sqllib/lib32
PATH=$PATH:/scratch/db2user/sqllib/bin:/scratch/db2user/sqllib/adm:/scratch/
db2user/sqllib/misc
DB2_HOME=/scratch/db2user/sqllib
IBM_DB_INCLUDE=/scratch/db2user/sqllib/include
DB2LIB=/scratch/db2user/sqllib/lib

###############################################################
# AIX: Oracle BI 64 bit mode
###############################################################
#set +u
 
# Oracle Parameters
#---------------------------
#ORACLE_HOME=/export/home/oracle/12c
#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
DB2INSTANCE=db2user
IBM_DB_LIB=/scratch/db2user/sqllib/lib
IBM_DB_DIR=/scratch/db2user/sqllib
LD_LIBRARY_PATH=/scratch/db2user/sqllib/lib64:/scratch/db2user/sqllib/lib32
PATH=$PATH:/scratch/db2user/sqllib/bin:/scratch/db2user/sqllib/adm:/scratch/
db2user/sqllib/misc
DB2_HOME=/scratch/db2user/sqllib
IBM_DB_INCLUDE=/scratch/db2user/sqllib/include
DB2LIB=/scratch/db2user/sqllib/lib

Configuring Data Source Connections Using Native Gateways

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

  1. Open the obis.properties file located at:

    BI_DOMAIN/config/fmwconfig/bienv/obis

  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.
    DB2INSTANCE=db2user
    IBM_DB_LIB=/scratch/db2user/sqllib/lib
    IBM_DB_DIR=/scratch/db2user/sqllib
    LD_LIBRARY_PATH=/scratch/db2user/sqllib/lib64:/scratch/db2user/sqllib/lib32
    PATH=$PATH:/scratch/db2user/sqllib/bin:/scratch/db2user/sqllib/adm:/scratch/db2user/sqllib/misc
    DB2_HOME=/scratch/db2user/sqllib
    IBM_DB_INCLUDE=/scratch/db2user/sqllib/include
    DB2LIB=/scratch/db2user/sqllib/lib
    
  3. Save and close the file.
  4. Restart OBIS1.

About Updating Row Counts in Native Databases

Learn when you can use the Update Rowcount function.

If the following are true:

  • You are using the Update Rowcount 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. Configure Oracle Database or DB2 clients 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 BI obis.properties file on the UNIX server.

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

If the above 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.

Troubleshooting OCI Connections

There are several reasons why you might have 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:

    BI_DOMAIN/config/fmwconfig/bienv/core

  • 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 EE 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.

  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:

    BI_DOMAIN/config/fmwconfig/bienv/core

  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

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.

The DataDirect drivers are installed in the Oracle Business Intelligence is installation process. You can find the DataDirect Connect ODBC drivers in the MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib directory.

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.

Note:

Amazon Redshift data sources are also supported. You need to use the Amazon Redshift ODBC driver available from Amazon Web Services. Configure the Amazon Redshift data source using the steps documented for other data sources.

Configuring Oracle Business Intelligence to Use DataDirect

When you install Oracle Business Intelligence, the required DataDirect 7.1.6 drivers are installed and automatically configured.

You can define the default settings in the obis.properties and odbc.ini files.

You need to modify your existing database configurations to use the DataDirect drivers. For information about modifying your existing database configuration, see the following procedures:

Additional DataDirect Configuration for Oracle Essbase

Modify the DataDirect configuration to connect to Essbase data sources.

The name of the DataDirect 7.1.6 driver file to use with Essbase is essbase.cfg.

  1. Open essbase.cfg for editing from the following location:

    BI_DOMAIN/config/fmwconfig/biconfig/essbase

  2. In the configuration file, locate the BPM_ORACLE_DriverDescriptor element and change the value to "DataDirect 7.1.6 Oracle Wire Protocol".
  3. Use Fusion Middleware Control to restart Essbase.

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 ARsqls27.so.

See System Requirements and Certification for supported versions of Microsoft SQL Server.

  1. Open the obis.properties file located in:

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. Locate the LD_LIBRARY_PATH variable using the following information:
    • For Solaris, Linux, and HP-UX, the library path variable is LD_LIBRARY_PATH.

    • For AIX, the library path variable is LIBPATH.

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

    LD_LIBRARY_PATH=$MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $MW_HOME/lib
    
  3. If necessary, update the LD_LIBRARY_PATH variable to include the DataDirect driver path.

    To update the variable for the driver on Linux, review the following example:

    LD_LIBRARY_PATH=$MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib,
    $MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/bi/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $MW_HOME/lib
    
  4. In the obis.properties file, locate the PATH variable and if necessary, include the DataDirect driver path.
  5. Save and close the file.
  6. Open the odbcinst.ini and odbc.ini files located in the following directory:

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. Create an entry for the database.

    Use the ODBC connection name that is identical to the data source name specified in the connection pool defined in the repository. 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 DataDirect Connect driver, and the data source name is SQLSERVER_DB.

    [SQLSERVER_DB]
    Driver=/MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib/ARsqls27.so
    Description=DataDirect 7.1 SQL Server Wire Protocol
    Address=slc10noq.us.oracle.com\MSSQLSERVER16
    Port=61045
    AlternateServers=
    AnsiNPW=Yes
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    Database=Northwindcr
    LoadBalancing=0
    LogonID=sa
    Password=admin1-2
    QuotedId=Yes
    SnapshotSerializable=0
    ReportCodePageConversionErrors=
    
  8. Save and close the odbcinst.ini and odbc.ini file.

Configuring the DataDirect Connect ODBC Driver for MySQL Database

Use these steps to connect to a MySQL database.

The name of the DataDirect ODBC driver file to connect to a MySQL database is ARmysql27.so. See System Requirements and Certification.

  1. Open the obis.properties file located in:

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. Locate the LD_LIBRARY_PATH variable. Use 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:

    LD_LIBRARY_PATH=$MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $MW_HOME/lib
    
  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:
    LD_LIBRARY_PATH=$MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib,
    $MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE
    $ORACLE_HOME/lib:$MW_HOME/lib
    
  4. In obis.properties, 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:

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. Create an entry for the database:

    Use the same ODBC connection name to the data source name specified in the connection pool defined in the repository.

    Set the Driver parameter to the file name and location of the DataDirect Connect driver for MySQL Database. For the NetworkAddress use the IP address or fully qualified host name and the port number.

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

    [MYSQL_DB]
    Driver=/scratch/aime1/work/mw3108/bi/modules/oracle.bi.datadirect.odbc/7.1.6
    Description=DataDirect 7.1.6 MySQL Wire Protocol
    ApplicationUsingThreads=1
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    Database=default
    DefaultLongDataBuffLen=1024
    EnableDescribeParam=0
    HostName=localhost
    InteractiveClient=0
    LoadBalancing=0
    LogonID=my_id
    Password=my_password
    PortNumber=1526
    ReportCodepageConversionErrors=0
    TreatBinaryAsChar=0
    
  8. Save and close the odbc.ini file.

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 ARase27.so.

See System Requirements and Certification for supported versions of Sybase ASE.

  1. Open the obis.properties file located in:

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. Locate the LD_LIBRARY_PATH variable use the following information:
    • 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:

    LD_LIBRARY_PATH=$MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin, 
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE$:$MW_HOME/lib
    
  3. If necessary, update the LD_LIBRARY_PATH variable to include the DataDirect driver path.

    To update the variable for the driver on Linux, review the following example:

    LD_LIBRARY_PATH=$MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib,
    $MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,$ORACLE_INSTANCE$:$MW/lib
    
  4. Locate the PATH variable and if necessary, include the DataDirect driver path.
  5. Save and close the file.
  6. Open the odbc.ini file located in:

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. Create an entry for the database.

    Use the same ODBC connection name to the data source name specified in the connection pool defined in the repository.

    Set the Driver parameter to the file name and location of the DataDirect Connect driver for Sybase ASE Database. For the NetworkAddress provide the IP address or fully qualified host name and the port number.

    The following example shows the Driver parameter set to the DataDirect connect driver, and SybaseASE_DB as the data source name.

    [SybaseASE_DB]
    Driver=/scratch/aime1/work/mw3108/bi/modules/oracle.bi.datadirect.odbc/7.1.6
    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

Use these steps to configure the DataDirect ODBC driver file to connect to an Informix database. The file to use is ARifcl27.so.

See System Requirements and Certification for supported versions of Informix.

  1. Open the obis.properties file located in:

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. Locate the LD_LIBRARY_PATH variable, using the following information:
    • 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:

    LD_LIBRARY_PATH=$MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE$:$MW_HOME/lib
    
  3. If necessary, update the LD_LIBRARY_PATH variable to include the DataDirect driver path.

    To update the variable for the driver on Linux, review the following example:

    LD_LIBRARY_PATH=$MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib
    $MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $MW_INSTANCE$:$MW_HOME/lib
    
  4. In obis.properties, locate the PATH variable and if necessary, include the DataDirect driver path.
  5. Save and close the file.
  6. Open the odbc.ini file located in:

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. Create an entry for the database.

    You must use the identical ODBC connection name to the data source name specified in the connection pool defined in the repository.

    Set the Driver parameter to the file name and location of the DataDirect Connect driver for Informix. 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 Informix_DB.

    [Informix_DB]
    Driver=/scratch/aime1/work/mw3108/bi/modules/oracle.bi.datadirect.odbc/7.1.6
    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 DataDirect ODBC driver file name, to connect to a Cloudera Impala database is ARimpala27.so.

See System Requirements and Certification for the supported versions of Cloudera Impala and Configuring Impala 1.3.x to Include a LIMIT Clause.

  1. Open the obis.properties file located at:
    BI_DOMAIN/config/fmwconfig/bienv/OBIS
  2. Locate the LD_LIBRARY_PATH variable.
    The library path variable is:
    • For Solaris, Linux, and HP-UX : LD_LIBRARY_PATH.

    • For AIX: LIBPATH

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

    LD_LIBRARY_PATH=$MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $MW_HOME/lib
    
  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:
    LD_LIBRARY_PATH=$MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib,
    $MW_HOME/bi/bifoundation/server/bin,
    $MW_HOME/bi/bifoundation/web/bin,
    $MW_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $MW_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $MW_HOME/lib
    
  4. In obis.properties, locate the PATH variable and, if necessary, include the DataDirect driver path.
  5. Save and close the file.
  6. Open the odbc.ini file located at:

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. Create an entry for the database and specify the HostName parameter.

    You can use the fully qualified host name or the IP address as the HostName parameter, and the PortNumber parameter.

    • The ODBC connection name is identical to the data source name specified in the connection pool defined in the repository.

    • The Driver parameter is set to the file path of the DataDirect Connect driver for Cloudera Impala.

    • The HostName parameter uses the fully qualified host name, or the IP address as the HostName parameter and the PortNumber parameter.

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

    [Impala_DB]
    Driver=/scratch/aime1/work/mw3108/bi/modules/oracle.bi.datadirect.odbc/7.1.6/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
    
  8. Save and close the odbc.ini file.
    If you are using Impala 1.3.x, you must configure include a LIMIT clause section. If you are using Impala 1.4 (CDH 5.1) or later, then you can skip the additional steps.

Configuring 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.

There are three methods to specify this clause in the configuration. Oracle recommends using the Modify the Impala daemon's default query options method. For the second and third methods, see Modifying the Impala DefaultOrderByLimit Alternate Methods.

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.

If you specify the LIMIT clause using the Modify the Impala daemon's default query options 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.

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

You can also specify the Default Order By Limit by using the client instead of the Impala server.

Use this method if you don’t 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. Go to the Cloudera Manager's home page and click the Impala service.
  2. In the Impala service page, click Configuration, and the select View and Edit.
  3. In the Configuration page, select Impala Daemon Default Group.
  4. Locate Impala Daemon Query Options Advanced, also known as the default_query_options, and add the following entries:
    default_order_by_limit=2000000
    abort_on_default_limit_exceeded=true
    
  5. Click Save Changes.
  6. In the Cloudera Manager's home page, restart the Impala service.

Modifying the Impala DefaultOrderByLimit Alternate Methods

Use the first DefaultOrderByLimit option if your Impala environment is not managed by Cloudera Manager. Use the second DefaultOrderByLimit option if you do not have rights to modify the Impala daemon.

Modify the Impala Daemon's Default Query Options Without Cloudera Manager

If your environment is managed by Cloudera Manager and you have the required permissions, use DefaultOrderByLimit, the recommended method for updating the Impala daemon. See Configuring Implaa 1.3x to Include a Limit Clause.

If your Impala environment is not managed by Cloudera Manager, use the Impala product documentation to help you modify the LIMIT clause. See “Configuring Impala Startup Options Through the Command Line” in the CDH 5 Installation Guide.

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.

  • After completing the steps in the Configuring Impala Startup Options Through the Command Line task, add the following entry in IMPALA_SERVER_ARGS:

    -default_query_options 'default_order_by_limit=2000000;abort_on_default_limit_exceeded=true'
    

Modify the DefaultOrderByLimit Parameter in the odbc.ini Impala DSN Entry

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.

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

You can specify the Default Order By Limit using the client instead of the Impala server.

  1. Open the odbc.ini file from the BI_DOMAIN/config/fmwconfig/bienv/core directory.
  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.

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 libARhive28.so.

See System Requirements and Certification and Limitations on the Use of Apache Hive with Oracle Business Intelligence.

See Quick Start: Progress DataDirect for ODBC for Apache Hive Wire Protocol Driver for UNIX/Linux located in the mwhome\bi\common\ODBC\Merant\8.0.2\help directory.

  1. Open the obis.properties file located in:

    BI_DOMAIN/config/fmwconfig/bienv/obis

  2. Locate the LD_LIBRARY_PATH variable, use the following information:
    • 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:

    LD_LIBRARY_PATH=$MW_HOME/bi/bifoundation/server/bin,
    $ORACLE_HOME/bi/bifoundation/web/bin,
    $ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $ORACLE_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $ORACLE_HOME/lib
    
  3. If necessary, update the LD_LIBRARY_PATH variable to include the DataDirect driver path.

    To update the variable for the driver on Linux, review the following example:

    LD_LIBRARY_PATH=$bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib,
    $ORACLE_HOME/bi/bifoundation/server/bin,
    $ORACLE_HOME/bi/bifoundation/web/bin,
    $ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $ORACLE_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $ORACLE_HOME/lib
    
  4. In obis.properties, locate the PATH variable and if necessary, include the DataDirect driver path.
  5. To point to the DataDirect driver, create the HADOOP_DLL variable either above or below the LD_LIBRARY_PATH variable.

    For example:

    HADOOP_DLL=MW_HOME/bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib/ARhive28.so

  6. Save and close the file.
  7. Open the odbc.ini file located in:

    BI_DOMAIN/config/fmwconfig/bienv/core

  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 name and location of the DataDirect Connect driver for Hive. 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=MW_HOME/bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib
    Description=Oracle 8.0 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
    
  9. Save and close the odbc.ini file.
  10. Restart OBIS1.

Configuring Database Connections Using Native ODBC Drivers

Oracle BI EE 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 obis.properties and odbc.ini files to configure the data source.

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

See Creating or Changing Connection Pools.

  1. Open the obis.properties file, located in:

    BI_DOMAIN/config/fmwconfig/bienv/obis

  2. Locate the LD_LIBRARY_PATH variable, use the following information:
    • 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:

    LD_LIBRARY_PATH=$ORACLE_HOME/opt/teradata/client/15.10/odbc_64/lib,
    $ORACLE_HOME/bi/bifoundation/web/bin,
    $ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $ORACLE_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $ORACLE_HOME/lib 
    
  3. If necessary, update the LD_LIBRARY_PATH variable to include the driver path.

    To update the variable for the driver on Linux, review the following example:

    LD_LIBRARY_PATH=$ORACLE_HOME/opt/teradata/client/15.10/odbc_64/lib,
    $ORACLE_HOME/bi/bifoundation/server/bin,
    $ORACLE_HOME/bi/bifoundation/web/bin,
    $ORACLE_HOME/clients/epm/Essbase/EssbaseRTC/bin,
    $ORACLE_HOME/bi/bifoundation/odbc/lib,
    $ORACLE_INSTANCE,
    $ORACLE_HOME/lib
    
  4. In obis.properties, 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:

    BI_DOMAIN/config/fmwconfig/bienv/core

  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 Linux, with a data source name of Tera_Northwind.

    [Tera_Northwind]
    Driver=/opt/teradata/client/15.10/odbc_64/lib/tdata.so
    Description=NCR 3600 running Teradata V2R6.2
    DBCName=10.345.67.899
    astUser=
    Username=northwind
    Password=northwind
    Database=northwind
    DefaultDatabase=northwind
    NoScan=no
    

    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, the DefaultDatabase parameter does not require a value.

  8. 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 Tera_Northwind.

    Tera_Northwind=tdata.so
    
  9. Restart OBIS1.
  10. 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.

Defining Dimension Tables as Not Normalized in Oracle RPAS ODBC Data Sources on AIX UNIX

After configuring the database connection for the Oracle RPAS ODBC data source, use the rdaadmin 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. Declare the RPAS environment variable OPENRDA in the Oracle BI Server session on UNIX.

    For example, declare the variable using the 64 bit rdaadmin client tool as follows:

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

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

You must perform some prerequisite tasks before setting up Oracle TimesTen In-Memory Database data sources.

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 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 OBIS1 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 obis.properties file.

  1. Open obis.properties for editing. You can find obis.properties at:

    BI_DOMAIN/config/fmwconfig/bienv/obis

  2. Add the required TimesTen variable TIMESTEN_DLL, and also update the LD_LIBRARY_PATH variable (or equivalent), as shown below:
    TIMESTEN_DLL=$TIMESTEN_HOME/lib/libttclient.so
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TIMESTEN_HOME/lib
    
  3. Save and close the file.
  4. 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 obis.properties, for example, ias-component id="coreapplication_obis1", and ias-component id="coreapplication_obis2".
  5. Restart OBIS1.

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.

  1. Log on as a separate telnet session.

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

    BI_DOMAIN/config/fmwconfig/bienv/core

  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 Defining Dimension Tables as Not Normalized in Oracle RPAS ODBC on AIX UNIX. You must add the line DriverUnicodeType=1 as shown in the preceding example.

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 Business Intelligence. No additional configuration is required to enable Essbase data source access for full installations of Oracle BI EE .

You must perform the additional configuration steps listed below for HP-UX Itanium systems.

  1. In the NQSConfig.ini file, 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. You must change the parameter 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.

  1. Configure a database alias to use as the native CLI Data Source Name, for example, create a new database entry using DB2 Configuration Assistant.
  2. Using the database alias you 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, the 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