ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
11g リリース1 (11.1.1)
B63028-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

16 LinuxおよびUNIXでのデータソースの設定

この章では、Linux上またはUNIX上でOracle BIサーバーを実行しているときに、Oracle Business Intelligenceとともに使用するデータソースを設定する方法について説明します。

ほとんどのリポジトリ開発は、管理ツールがWindows上でのみ動作するため、Windowsで行われます。ただし、本番システムに移動すると、LinuxプラットフォームまたはUNIXプラットフォームでOracle BIサーバーを実行することを選択できます。

サポートされるLinuxプラットフォームおよびUNIXプラットフォームの詳細は、 「システム要件と動作要件」を参照してください。

この章には次のトピックが含まれます:

LinuxおよびUNIXでのデータソースの設定について

Linux上またはUNIX上でOracle BIサーバーを実行している場合、ほとんどのデータソース接続は問合せ専用アクセスです。管理ツールは、オブジェクトのインポートに使用されます。これはWindows専用ツールです。このため、インポート用のデータソース接続は、Windows上で設定する必要があります。

LinuxおよびUNIXの一部のデータソース接続は、ライトバック用データソース接続、使用状況トラッキング、Oracle Scorecardと戦略管理の注釈などの特別な機能に関する書込み操作をサポートします。

Linux上またはUNIX上でOracle BIサーバーを実行していて、データベース・オブジェクト設定(データベース・タイプなど)または接続プール設定を更新する必要がある場合、リポジトリ・ファイルをWindowsコンピュータにコピーし、Windows上で管理ツールを使用して変更を行い、このリポジトリ・ファイルをLinuxコンピュータまたがUNIXコンピュータにコピーして戻します。

LinuxプラットフォームおよびUNIXプラットフォームには、次の3つのタイプのデータソース接続があります。

DataDirect Connect ODBC接続とネイティブODBC接続の両方を含む単一のリポジトリを持つことはできません。

ネイティブ・ゲートウェイを使用したデータソース接続の構成

ネイティブ・ゲートウェイを使用して、Oracle DatabaseとDB2の両方に接続できます(それぞれOCIおよびDB2 CLIを使用)。

Oracle Databaseの場合は、次の事項に注意します。

DB2の場合、Oracle BIサーバーを実行しているコンピュータに適切なデータベース・クライアントをインストールし、user.shファイルを編集してこのデータベース・クライアント用に環境変数を設定する必要があります。

user.shファイルを編集して、Oracle DatabaseまたはDB2用に環境変数を設定する手順は、次のとおりです。

  1. user.shファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.sh
    
  2. 選択したデータベース・クライアントに適した環境変数設定を含めます。32ビット・データベースを使用しているか、64ビット・データベースを使用しているかに応じて、適切なライブラリを指します。サンプル値は、例16-1を参照してください。

  3. ファイルを保存して閉じます。

例16-1 Oracle DatabaseおよびDB2(32ビット)用のuser.shエントリのサンプル

この例では、様々なプラットフォームにおけるOracle DatabaseおよびDB2のuser.shのサンプル・エントリを示します。

###############################################################
# 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
#---------------------------

ここで示したシェル・スクリプトの抜粋は単なる例で、特定のソフトウェア・プラットフォームに対する推奨ではありません。サポートされるソフトウェア・プラットフォームの詳細は、「システム要件と動作要件」を参照してください。

OCI接続のトラブルシューティング

OCI使用によるOracle Databaseへの接続に問題がある場合、次の条件が該当するかどうか確認します。

  • Oracle BIサーバーを実行しているコンピュータは、Oracle Call Interface (OCI)を使用してデータベースに接続する必要があります。

  • リポジトリ接続プールで接続文字列全体を使用しないことを選択した場合、有効なtnsnames.oraファイルがOracle Business Intelligence環境内の次の場所に設定されていて、Oracle BIサーバーがエントリを検索できるようにする必要があります。

    ORACLE_HOME/network/admin

  • リポジトリ接続プールで接続文字列全体を使用しないことを選択した場合、tnsnames.oraファイルのネット・サービス名が接続プールで使用されるデータソース名と一致することを確認します。

    たとえば、tnsnames.oraエントリの次の例では、対応するOracle BIリポジトリ接続プールのデータソース名はITQA2です。

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

次の手順では、Oracle tnsnames.ora設定に対してリポジトリ・データベースおよび接続プール設定を確認する方法を示します。

リポジトリ・データベースおよび接続プール設定が正しいことを確認するには:

  1. 管理ツールでリポジトリを開きます。

  2. 「物理」レイヤーで、確認するデータベースをダブルクリックして、「データベース」ダイアログを表示します。

  3. 「一般」タブの「データ・ソース定義: データベース」フィールドで、適切なOracle Databaseバージョンが選択されていることを確認します。「OK」をクリックします。

  4. このデータソースの「接続プール」ダイアログを開きます。物理レイヤーでデータベース・オブジェクトを開いて、「接続プール」オブジェクトを表示する必要がある場合があります。

  5. 「接続プール」ダイアログで、次の項目が該当していることを確認します。

    • 呼出しインタフェース」フィールドに、使用しているOracle Databaseのリリースに関して適切な値が表示されています。

    • データ・ソース名」フィールドに、tnsnames.oraエントリで定義したOracle Databaseのネット・サービス名が表示されています。

    • ユーザー名フィールドおよび「パスワード」フィールドに正しい値が入っています。

    必要に応じて値を変更し、「OK」をクリックします。

  6. Oracle Business Intelligence環境で、次のディレクトリにあるtnsnames.oraファイルを開きます。

    ORACLE_HOME/network/admin

  7. 次の特性を持つ有効なネット・サービス名が存在することを確認します。

    • データソース名の接続プール設定と一致している

    • 対象のOracle物理データベースを指定しています。

ネイティブ・データベースの行件数の更新について

このトピックは、次の両方が当てはまる場合に適用されます。

  • オフライン・モードで管理ツールの「行数の更新」機能を使用している。

  • 異機種環境を実行している(たとえば、UNIX上でOracle BIサーバーを実行しているが、リモート管理者はWindowsコンピュータで管理ツールを実行している場合)。

オフライン・モードでUpdate Rowcount機能を使用している場合、管理ツールは、クライアント・コンピュータでサーバー・データソースではなくローカル・データソースを使用します。したがって、Oracle DatabaseクライアントまたはDB2クライアントは、管理ツールを実行しているWindowsコンピュータで構成して、次の条件を満たす必要があります。

  • データソースが、UNIXサーバー上のOracle Business Intelligenceのuser.shファイルで特定される同じデータベースを指しています。

  • ローカル・データソースの名前が、Oracle BIのリポジトリ(.rpd)ファイルの物理レイヤーにある「接続プール」オブジェクトで定義されたデータソースの名前とも一致します。

これらの条件が該当せず、サーバー・データソースとクライアント・データソースが別のデータベースを指している場合、誤って更新された行件数または正しくない結果が表示されます。

LinuxおよびUNIXでのDataDirect Connect ODBCドライバの使用

Oracle Business Intelligenceでは、Microsoft SQL Server、Sybase ASEおよびInformixの各データベースへの接続性の確保のために、Linuxオペレーティング・システムおよびUNIXオペレーティング・システム用にDataDirect Connect ODBCドライバおよびドライバ・マネージャが提供されます。

Oracle Business Intelligenceをインストールした後は、DataDirect Connect ODBC 32ビット・ドライバはORACLE_HOME/common/ODBC/Merant/5.3/libにインストールされます。64ビット・ドライバはORACLE_HOME/common/ODBC/Merant/5.3/lib64にインストールされます。


注意:

デフォルトでは、Oracle Business IntelligenceはDataDirect 5.3ドライバを使用します。ただし、インストールまたはアップグレードに伴って組み込まれるDataDirect 7.0.1ドライバを使用するようにOracle Business Intelligenceを構成できます。ドライバを使用するようにシステムを構成する際の必要手順については、「DataDirect 7.0.1ドライバを使用するためのOracle Business Intelligenceの構成」を参照してください。


データベースのクライアントとサーバーとの間における通信は、一般的にビット幅とデータのパスに依存しません。つまり、32ビットのデータベース・ドライバは64ビットのデータベース・サーバーと通信でき、その逆も可能です。

DataDirect Connect ODBCドライバを設定するために、ODBCINI環境変数を設定する必要はありません。この変数は、インストール中に自動的に設定されます。

サポートされるオペレーティング・システム、データベース、およびDataDirect Connect ODBCドライバのドライバ・バージョンの詳細は、「システム要件と動作要件」を参照してください。

この項には次のトピックが含まれます:

DataDirect 7.0.1ドライバを使用するためのOracle Business Intelligenceの構成

Oracle Business Intelligenceは、アップグレード時またはインストール時にDataDirect 7.0.1ドライバをORACLE_HOME/common/ODBC/Merant/701に入れます。デフォルトでは、Oracle Business IntelligenceはDataDirect 5.3ドライバを使用するように構成されています。ただし、DataDirect 7.0.1ドライバを使用するようにOracle Business Intelligenceを構成できます。

DataDirect 7.0.1ドライバを使用するようにOracle Business Intelligenceを構成することは、オプションであることに注意してください。ただし、DataDirect 7.0.1ドライバにはDataDirect 5.3ドライバにみられる問題の修正が含まれているため、DataDirect 7.0.1ドライバを使用することをお薦めします。

DataDirect 7.0.1ドライバを使用するようにOracle Business Intelligenceを構成する手順は次のとおりです。

  1. 編集するためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

    ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml
    
  2. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。例:

    <variable id="LD_LIBRARY_PATH" value="ORACLE_
    HOME/common/ODBC/Merant/5.3/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. DataDirect 7.0.1ドライバのパスが含まれるようにその変数を更新します。例:

    <variable id="LD_LIBRARY_PATH" value="ORACLE_HOME/common/ODBC/Merant/7.0.1/
    lib:ORACLE_HOME/common/ODBC/Merant/5.3/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. ファイルを保存して閉じます。

  5. OPMNを再起動します。

  6. odbc.iniファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  7. DataDirect 7.0.1ドライバを使用するようにODBCエントリを更新します。

    [ODBC]
    #Trace = 0
    #TraceFile =
    ORACLE_INSTANCE/diagnostics/logs/OracleBIApplication/coreapplicat
    ion/odbctrace.out
    #TraceDll = ORACLE_HOME/common/ODBC/Merant/5.3/lib/odbctrac.so
    #InstallDir = ORACLE_HOME/common/ODBC/Merant/5.3
    #UseCursorLib = 0
    #IANAAppCodePage = 4
    IANAAppCodePage=4
    InstallDir=ORACLE_HOME/common/ODBC/Merant/7.0.1/install
    Trace=0
    TraceFile=odbctrace.out
    TraceDll=ORACLE_HOME/common/ODBC/Merant/7.0.1/lib/ARtrc26.so
    
  8. SQL Serverデータ・ソース名が含まれるようにODBCデータ・ソースのエントリを更新します。

    [ODBC Data Sources]
     
    AnalyticsWeb = Oracle BI Server
    Cluster = Oracle BI Server
    SSL_Sample = Oracle BI Server
    SQLSERVER=DataDirect 7.0 SQL Server Wire Protocol
    
  9. odbc.iniファイルを保存して閉じます。

  10. Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。

  11. DataDirect 5.3ドライバを使用するように構成済のデータベースを使用している場合は、DataDirect 7.0.1ドライバを使用するように構成のodbc.iniファイルを変更する必要があります。既存のデータベース構成の変更方法については、次の手順を参照してください。

Microsoft SQL ServerデータベースのためのDataDirect Connect ODBCドライバの構成

Microsoft SQL Serverデータベースに接続するDataDirect ODBCドライバ・ファイルの名前は、ARmsss23.soです。サポートされるMicrosoft SQL Serverのバージョンについては、「システム要件と動作要件」を参照してください。

Microsoft SQL Serverに接続するDataDirect Connect ODBCドライバを構成するには:

  1. user.shファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.sh
    
  2. ご使用のオペレーティング・システムのセクションで、DataDirect Connectライブラリに適したライブラリ・パス環境変数を含めます。32ビット・データベースを使用しているか、64ビット・データベースを使用しているかに応じて、適切なライブラリを指します。次の項目に注意してください。

    • SolarisおよびLinuxの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

    • HP-UXの場合は、ライブラリ・パス変数はSHLIB_PATHです。

    • AIXの場合は、ライブラリ・パス変数はLIBPATHです。

    たとえば、Linux上の32ビット・ドライバにライブラリ・パス変数を設定するには、次のようにします。

    ####################################################
    # Linux: Oracle BI 32 bit mode
    ####################################################
    
    #SQLServer 2000 Parameters
    #---------------------------------------
    LD_LIBRARY_PATH=/user/local/Oracle_BI1/common/ODBC/Merant/5.3/lib:$ LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    
  3. ファイルを保存して閉じます。

  4. odbc.iniファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  5. データベースにエントリを作成します。ODBC接続名をリポジトリで定義した接続プールで指定されたデータソース名と同じにします。DriverパラメータをMicrosoft SQL Server用のDataDirect Connectドライバのファイル名および場所に設定します。次の例では、Driverパラメータは64ビットDataDirect Connectドライバに設定されており、データソース名はSQLSERVER_DBです。

    [SQLSERVER_DB]
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/5.3/lib64/ARmsss23.so
    Description=DataDirect 5.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
    
  6. odbc.iniファイルを保存して閉じます。

  7. Windowsコンピュータの管理ツールでリポジトリを開きます。

  8. 「物理」レイヤーで、Microsoft SQL Serverデータベースのデータベース・オブジェクトをダブルクリックします。

  9. OK」をクリックします。

  10. リポジトリを保存して閉じます。

  11. LinuxコンピュータまたはUNIXコンピュータで、Oracle Business Intelligenceを停止します。

  12. リポジトリをWindowsコンピュータからLinuxコンピュータまたはUNIXコンピュータにコピーします。

  13. LinuxコンピュータまたはUNIXコンピュータで、Oracle Business Intelligenceを起動します。

Sybase ASEデータベースのためのDataDirect Connect ODBCドライバの構成

Sybase ASEデータベースに接続するDataDirect ODBCドライバのファイル名は、ARase23.soです。サポートされるSybase ASEのバージョンの詳細は、「システム要件と動作要件」を参照してください。

Sybase ASEデータベースに接続するDataDirect Connect ODBCドライバを構成するには:

  1. user.shファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.sh
    
  2. ご使用のオペレーティング・システムのセクションで、DataDirect Connectライブラリに適したライブラリ・パス環境変数を含めます。32ビット・データベースを使用しているか、64ビット・データベースを使用しているかに応じて、適切なライブラリを指します。次の項目に注意してください。

    • SolarisおよびLinuxの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

    • HP-UXの場合は、ライブラリ・パス変数はSHLIB_PATHです。

    • AIXの場合は、ライブラリ・パス変数はLIBPATHです。

    たとえば、Linux上の32ビット・ドライバにライブラリ・パス変数を設定するには、次のようにします。

    LD_LIBRARY_PATH=/user/local/Oracle_BI1/common/ODBC/Merant/5.3/lib:$ LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    
  3. ファイルを保存して閉じます。

  4. odbc.iniファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  5. データベースにエントリを作成します。ODBC接続名をリポジトリで定義した接続プールで指定されたデータソース名と同じにします。DriverパラメータをSybase ASEデータベース用のDataDirect Connectドライバのファイル名および場所に設定します。NetworkAddressに、IPアドレスまたは完全修飾ホスト名およびポート番号を指定します。

    次の例では、Driverパラメータは64ビットDataDirect Connectドライバに設定され、データソース名はSybaseASE_DBです。

    [SybaseASE_DB]
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/5.3/lib64/ARase23.so
    Description=DataDirect 5.3 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=
    
  6. odbc.iniファイルを保存して閉じます。

InformixデータベースのためのDataDirect Connect ODBCドライバの構成

Informixデータベースに接続するDataDirect ODBCドライバのファイル名は、ARifcl23.soです。サポートされるInformixのバージョンの詳細は、「システム要件と動作要件」を参照してください。

Informixに接続するDataDirect Connect ODBCドライバを構成するには:

  1. user.shファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.sh
    
  2. ご使用のオペレーティング・システムのセクションで、DataDirect Connectライブラリに適したライブラリ・パス環境変数を含めます。32ビット・データベースを使用しているか、64ビット・データベースを使用しているかに応じて、適切なライブラリを指します。次の項目に注意してください。

    • SolarisおよびLinuxの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

    • HP-UXの場合は、ライブラリ・パス変数はSHLIB_PATHです。

    • AIXの場合は、ライブラリ・パス変数はLIBPATHです。

    たとえば、Linux上の32ビット・ドライバにライブラリ・パス変数を設定するには、次のようにします。

    LD_LIBRARY_PATH=/user/local/Oracle_BI1/common/ODBC/Merant/5.3/lib:$ LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    
  3. ファイルを保存して閉じます。

  4. odbc.iniファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  5. データベースにエントリを作成します。ODBC接続名をリポジトリで定義した接続プールで指定されたデータソース名と同じにします。DriverパラメータをInformix用のDataDirect Connectドライバのファイル名および場所に設定します。また、HostNameパラメータ(完全修飾ホスト名またはIPアドレスを使用可能)およびPortNumberパラメータも指定する必要があります。

    次の例では、Driverパラメータは64ビットDataDirect Connectドライバに設定され、データソース名はInformix_DBです。

    [Informix_DB]
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/5.3/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
    
  6. odbc.iniファイルを保存して閉じます。

ネイティブODBCドライバを使用したデータベース接続の構成

Oracle Business Intelligenceには、一部のデータソース(すべてではない)用にUNIX ODBCドライバが付属しています。TeradataおよびOracle TimesTen In-Memory Databaseなどのこれらのデータソースでは、独自のODBCドライバをインストールし、user.shファイルおよびodbc.iniファイルを更新して、データソースを構成する必要があります。

Teradataを使用している場合、関連情報については、「Teradataデータ・ソースに対する問合せのスプール領域エラーの回避」も参照してください。

ネイティブODBCドライバを使用してデータベース接続を構成するには:

  1. ご使用のデータソース用のODBCドライバをインストールします。

  2. user.shファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/user.sh
    
  3. ご使用のオペレーティング・システムのセクションで、ネイティブODBCドライバに適したライブラリ・パス環境変数を含めます。32ビット・データベースを使用しているか、64ビット・データベースを使用しているかに応じて、適切なライブラリを指します。次の項目に注意してください。

    • SolarisおよびLinuxの場合は、ライブラリ・パス変数はLD_LIBRARY_PATHです。

    • HP-UXの場合は、ライブラリ・パス変数はSHLIB_PATHです。

    • AIXの場合は、ライブラリ・パス変数はLIBPATHです。

    たとえば、Linux上でTeradataのライブラリ・パス変数を設定するには、次のようにします。

    LD_LIBRARY_PATH=/usr/odbc/lib:/usr/lpp/tdodbc/odbc/drivers:$ LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    

    特にTeradataの場合、その他すべてのエントリの前にライブラリ・パス変数の先頭に/usr/odbc/libを付ける必要があります。この手順が必要なのはTeradataのみです。

  4. ファイルを保存して閉じます。

  5. odbc.iniファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  6. データベースにエントリを作成します。ODBC接続名をリポジトリで定義した接続プールで指定されたデータソース名と同じにします。Driverパラメータをご使用のデータベースのネイティブODBCドライバのファイル名および場所に設定します。ファイル名には、ご使用のオペレーティング・システムに適したライブラリ接尾辞を付けます(たとえば、SolarisおよびAIXには.so、HP-UXには.slを付けます)。

    次の例では、SolarisでのTeradataデータソースの詳細を示します。データソース名は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
    

    DefaultDatabaseパラメータを空のままにできるのは、管理ツールでこのデータソースに対して「接続プール」ダイアログの「一般」タブでオプション「完全修飾表名が必要」を選択した場合のみです。

  7. さらに、odbc.iniファイルで、[ODBC Data Sources]セクションにエントリおよびご使用のデータソースに適した詳細を追加します。次の例では、Teradataデータソースの詳細を示します。データソース名はTerav502です。

    Terav502=tdata.so
    
  8. 管理ツールを使用して、リポジトリを開き、適切な物理データベース用に接続プールのデータソース名として作成した新しいDSNを追加します。詳細は、「接続プールの作成または変更」を参照してください。

  9. Oracle BIサーバーを再起動します。

LinuxおよびUNIXでのOracle TimesTen In-Memory Databaseの設定

Oracle TimesTen In-Memory Databaseデータ・ソースを設定するには、最初に「TimesTenデータ・ソースの構成」の説明に従って、TimesTenデータ・ソースを設定します。LinuxおよびUNIXシステムの場合の正しい手順を確認するには、「ネイティブODBCドライバを使用したデータベース接続の構成」の手順4を参照してください。

次に、「TimesTenデータ・ソースでのシステム・メモリー・リソースの使用の向上」で説明しているベスト・プラクティスを確認し、必要に応じてそれらを実装します。

最後に、OPMNを起動するユーザーが、オペレーティング・システムのLD_LIBRARY_PATH変数(HP-UXではSHLIB_PATH、AIXではLIBPATH)にTimesTen DLL ($TIMESTEN_HOME/lib)へのパスを設定していない場合、opmn.xmlファイルの変数としてTimesTen DLLパスを追加する必要があります。

opmn.xmlを更新してLinuxおよびUNIXのTimesTen変数を含める手順は、次のとおりです。

  1. 編集するためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

    ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml
    
  2. Oracle BIサーバー・プロセスのias-componentタグを探します。例:

    <ias-component id="coreapplication_obis1" inherit-environment="true">
    
  3. 次の例のように、Oracle BIサーバーのias-componentタグの下で、必要なTimesTen変数TIMESTEN_DLLを追加し、LD_LIBRARY_PATH変数(または同等のもの)も更新します。例の値を、TimesTenクライアント用の正しいパスに置き換えてください。

    <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. ファイルを保存して閉じます。

  5. OPMNを再起動します。

  6. Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、opmn.xmlで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。

AIX UNIXでのOracle RPAS ODBCデータソースの構成

Oracle BIサーバーをAIX UNIXプラットフォームで実行している場合、Oracle RPAS ODBCデータソースにアクセスできます。このデータベース接続を構成するには、最初にodbc.iniファイルを更新して、Oracle RPAS ODBCデータソースを構成します。次に、rdaadminツールを使用して、実行時に正規化されないようにディメンション表を定義します。

Windows上でOracle RPAS ODBCデータソースを構成する方法の詳細は、「Oracle RPASデータ・ソースの設定」を参照してください。

AIX UNIXでデータソースとしてOracle RPAS ODBCを構成するには:

  1. 別のTelnetセッションとしてログオンします。

  2. odbc.iniファイルを開きます。このファイルは次の場所にあります。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    
  3. RPASデータソースのセクションで、値を編集します。例:

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

    指定した「Data Source Name」は、次の手順のステップ3でDATABASE:に対して入力される値と一致する必要があります。また、前の例で示したように、「DriverUnicodeType=1」の行を追加する必要があります。

rdaadminクライアント・ツールを使用して、実行時に正規化されないようにディメンション表を定義するには:

  1. 次の場所でrdaadminクライアント・ツールを検索します。

    /bin/rdaadmin

  2. 次のコマンドを入力して、rdaadminクライアント・ツールを実行します。

    rdaadmin

  3. プロンプトが表示されたら、次のように適切なテキストを入力します。

    DATABASE: [Oracle_RPAS_database_name]

    データベース名は、前のタスクで「Data Source Name」に指定した名前と一致している必要があります(たとえば、RPAS Sample)。

    ADDRESS: [ip_address]

    PORT: [port_number]

    ポート番号の値の例は1707です。

    CONNECT_STRING: [NORMALIZE_DIM_TABLES=NO]

    この値は、ディレクトリ表を実行時に正規化されないように処理します。

    TYPE: []

    SCHEMA_PATH: []

    REMARKS: []

  4. RPAS環境変数OPENRDAは、UNIX上のOracle BIサーバー・セッションで宣言される必要があります。たとえば、64ビットのrdaadminクライアント・ツールを使用して、この変数を次のように宣言します。

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

LinuxでのApache Hadoopデータ・ソースの構成と使用

Oracle Business Intelligenceには、LinuxでHadoopデータ・ソースを作成する機能があります。Hadoopは、コンピュータ群の中で大容量のデータ・セットの分散処理を可能にするフレームワークです。統合はApache Hiveにも依存しています。Apache Hiveは、分散記憶域に常駐している大容量データ・セットの問合せと管理に対応するデータ・ウェアハウスです。HiveはHadoop上に設定され、HadoopとのODBCインタフェースとして機能するだけでなく、データの問合せを行うQLというSQLに似た問合せ言語としても機能します。


注意:

データ・ソースとしてのHadoopとの統合は、Oracle BIサーバーがLinuxで実行している場合のみ使用可能です。Windowsまたは、その他のUNIXプラットフォームでは使用できません。


この項には次のトピックが含まれます:

Oracle Business IntelligenceでのHadoopデータ・ソースの使用について

Hadoopはバッチ処理インフラストラクチャであり、データの処理とアクセスの際にはMapReduceプログラムのコーディングに依存してきました。HiveはODBCインタフェースおよびSQLと同様の問合せ言語として機能するため、Hadoopでは、データ・アクセス用のプログラムを手動でコーディングする必要がありません。

バッチ指向のシステムであるHadoopは、低待機時間の、同時ユーザー・アクセスには特に適していません。Oracle ExalyticsはHadoopデータ・ソースと、その他のOracle BIサーバーでサポートされるデータ・ソースからのデータを統合するプラットフォームであり、大容量データ・システムに対して非常にインタラクティブで予測可能なパフォーマンスを実現するソリューションとしてお薦めされます。

構成および使用の手順

HadoopおよびHiveをOracle Business Intelligenceで使用できるようにするには、Oracle提供のDataDirect 7.0.1 ODBCドライバ、またはApache Webサイトから入手できるApache Hive ODBCドライバのいずれでも使用できます。オラクルでは、DataDirect 7.0.1ドライバを使用するプロセスに従うことをお薦めしています。

この項には次のトピックが含まれます:

DataDirect 7.0.1 ODBCドライバによる構成と使用方法


重要:

DataDirect 7.0.1 ODBCドライバを使用する構成プロセスを開始する前に、DataDirect 7.0.1 Driversを使用するためのOracle Business Intelligenceの構成に関する項で説明する手順を実行していることを確認してください。


この項には次のトピックが含まれます:

DataDirect 7.0.1 ODBCドライバを使用する構成手順

DataDirect 7.0.1 ODBCドライバを介してHiveデータ・ソースを使用するようにOracle Business Intelligenceを構成するには、次の手順を実行します。

  1. Oracle BIサーバーのコンピュータで、DataDirect 7.0.1 ODBCドライバを使用して、Hiveデータ・ソース名(DSN)に対するエントリを次のodbc.iniファイルに作成します。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    

    例:

    [Hive] 
    Driver=/usr/Oracle_BI1/common/ODBC/Merant/7.0.1/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
    
  2. 編集するためにopmn.xmlを開きます。opmn.xmlは次の場所にあります。

    ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml
    
  3. coreapplication_obis1タグを検索し、そのタグの中でLD_LIBRARY_PATH変数を検索します。

  4. LD_LIBRARY_PATH変数に、DataDirect 7.0.1ドライバへのパスとしてORACLE_HOME/common/ODBC/Merant/7.0.1/libが含まれていることを確認します。

  5. 同じopmn.xmlファイル内で、LD_LIBRARY_PATH変数の上または下のどちらかに、DataDirect 7.0.1ドライバを指し示すHADOOP_DLL変数を作成します。

    例:

    <variable id="HADOOP_DLL" 
    value="ORACLE_HOME/common/ODBC/Merant/7.0.1/lib/ARhive27.so"/>
  6. ファイルを保存して閉じます。

  7. OPMNを再起動します。

  8. ソフト・リンクlibARicu27.so pointing to libARicu26.soを作成します。

    例:

    cd /usr/Oracle_BI1/common/ODBC/Merant/7.0.1/lib/
    ln -s libARicu26.so libARicu27.so
    
管理ツールを使用したデータ・インポートの有効化のためのWindowsドライバの取得

管理ツールを使用したメタデータのインポートは、DataDirect 7.0.1 ODBCドライバを介してサポートされます。インポートの実行に必要なWindowsドライバを取得するには、My Oracle Support Webサイト、support.oracle.comにログインしてDocID 1520733.1にアクセスします。このDocIDに関連付けられているテクニカル・ノートには、必須のWindowsドライバが、ドライバのインストール手順およびHiveデータ・ソースからのメタデータ・インポートの実行手順とともに含まれています。

Apache Hive ODBCドライバによる構成と使用方法

この項には次のトピックが含まれます:

Apache Hive ODBCドライバを使用する構成手順

HadoopおよびHiveをOracle Business Intelligenceに統合する前に、Hive実装にHiveODBCコンポーネントが組み込まれていることを確認する必要があります。これを実現するには、次の手順を実行します。

  1. Apache Hive ODBCドライバをOracle BI Serverコンピュータにインストールします。次のサイトにあるHive ODBCドライバのインストール手順に従います。

    https://cwiki.apache.org/Hive/hiveodbc.html

  2. Oracle BIサーバーのコンピュータで、Hive ODBCドライバを使用して、Hiveデータ・ソース名(DSN)に対するエントリを次のodbc.iniファイルに作成します。

    ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/setup/odbc.ini
    

    例:

    [HiveDSN] 
    Driver = /scratch/mydir/installs/lib/libodbchive.so 
    Description = Hive Driver v1 
    DATABASE = default 
    HOST = localhost 
    PORT = 10000 
    FRAMED = 0
    

    Hive ODBCドライバへのパス、Hive(通常はデフォルト)での接続先データベース、およびHiveが常駐しているホスト名とポートを指定する必要があります。

    Hive DSNが定義された後、ユーザーはnqcmd (たとえば、nqcmd -dHiveDSN)を使用してHiveに接続できます。

  3. 環境変数HADOOP_DLLをHive ODBCドライバのファイル名に設定し、ドライバDLLと、これが再帰的に依存しているその他のDLLがライブラリ・パスに入るようにライブラリ・パスを設定します。

Apache Hadoopからのデータのインポート

Hive ODBCドライバはLinuxでのみサポートされているため、管理ツールを使用してデータをインポートすることはできません。かわりに、Oracle BIサーバーのXMLスキーマを使用してメタデータをXMLファイルにインポートするためにコマンドライン・ユーティリティnqsimporttoolを実行することも含めたプロセスに従う必要があります。

nqsimporttoolは次のディレクトリに格納されています。

ORACLE_HOME/bifoundation/server/bin

nqsimporttoolの実行前に、bi-initを実行して、適切に初期化されたコマンド・プロンプトを起動する必要があります。詳細は、「Oracleインスタンスに初期化したシェル・ウィンドウを起動するためのbi-initの実行」を参照してください。

Hadoopデータをインポートするには、次の手順を実行します。

  1. コマンド・プロンプトで次のコマンドを実行します。

    nqsimporttool -D datasource_name [-U username] [-P password] [-O output_file_name] -d database_name [-c catalog_name] [-s schema_name] [-h]  [-v]
    

    Hive DSN (-Dパラメータ)のデータ・ソース名と、RPD (-dパラメータ)の物理レイヤーに存在するデータベース・オブジェクトの名前を指定する必要があります。

    -uパラメータと-pパラメータの場合:

    • -uパラメータを省略すると、nqsimporttoolはHiveに匿名でログインしようとします(-pパラメータを指定したかどうかは関係ありません)。

    • -uパラメータが指定されても、-pパラメータが指定されない場合、nqsimporttoolはセキュア・モードでパスワードを入力するようプロンプトします。

    -oパラメータの場合:

    • output_file_nameは、スタンドアロン・ファイル名(現行ディレクトリにあるファイルの場合)、または完全ディレクトリ+ファイル名のいずれでもかまいません。

    • -oパラメータが指定されていない場合、XML出力は端末のstderrストリームに送られます。これにより、XMLが端末に表示されます。

    -cパラメータと-sパラメータの場合:

    • -cパラメータは、RPDにおける物理データベースの一部として作成される物理カタログの名前の指定に使用します。-cパラメータが指定されない場合、nqsimporttoolはカタログのXMLを生成しません。

    • -sパラメータは、RPDにおける物理データベースの一部として作成されるスキーマの名前の指定に使用します。-sパラメータが指定されない場合、nqsimporttoolはスキーマのXMLを生成しません。

      パラメータがXMLデータベース・オブジェクトの作成にどのように影響するかを示すため、Hiveデータベースに単一の表TTが含まれているとします。

      nqsimporttoolオプション -d DD -c CC -s SSを指定すると、次のオブジェクトがRPDの物理レイヤーに作成されます。

      • DD => CC => SS => TT(ここで、=>はコンテナシップを表します)

      -d DDのように、 -cオプションと-sオプションを指定しないでインポートが実行されると、作成されるオブジェクトは次にようになります。

      • DD => TT

    -hは、nqsimporttoolパラメータに対するヘルプ情報を表示します。

    -vは、インポート・プロセスの各ステップにおける追加情報を表示します。たとえば、インポートされたオブジェクトのリスト、特に表と、表ごとの列とその属性が表示されます。

  2. Hadoopメタデータが含まれているXMLファイルを生成した後で、biserverxmlexecを使用して、そのXMLファイルをRPDファイルに対して実行します。

    例:

    • biserverxmlexec -I my_hadoop_metadata.xml -B rp1.rpd -O rp2.rpd

    プロンプトが表示されたら、RPDのパスワードを指定します。

    このステップは、LinuxまたはWindowsのいずれでも実行できます。

  3. 結果のRPDファイルをWindowsにコピーし、それを管理ツールにおいて、オフライン・モードで開きます。

    Hadoopの物理レイヤー・オブジェクトがリポジトリに表示されます。

    HiveODBCドライバでは結合をインポートできないため、物理レイヤーの結合をメタデータに手動で再作成する必要があります。

  4. 物理レイヤーのメタデータをビジネス・モデルとマッピング・レイヤーおよびプレゼンテーション・レイヤーにドラッグ・アンド・ドロップします。

Oracle Business IntelligenceでのHadoopおよびHiveの使用上の制限

この項では、HadoopおよびHiveをOracle Business Intelligenceで使用する際の制限事項について説明しますが、そのうちの多くは既知のHiveの制限です。

日付に関するHiveの制限

Hiveには、DateおよびDatetimeのデータ型がありません。日付と日時は、Stringデータ型(HiveのVarcharと同等)を使用してエンコードされます。Hiveでは、日付をyyyy-mm-ddのフォーマットでエンコードする必要があります。日時の値についても同様に、文字列のフォーマットをyyyy-mm-dd hh:mm:ssとする必要があります。Hiveのバックエンドでは、日付列は文字列として入力されますが、RPDではそのまま日付または日時として入力する必要があります。その理由として、Oracle Business Intelligenceでは、日付と日時の値に対してのみカレンダ操作が許可されるためです。

Hiveではカウント(個別M)とグループ化Mとの同時使用をサポートしていません

次のフォームの問合せでは、

  • SELECT M, COUNT(DISTINCT M) ... FROM ... GROUP BY M ...

Hiveがクラッシュする可能性があります。

一般的な状況として、COUNT(DISTINCT...)定義における属性が直接問合せの対象となり、その属性が表または外部キーまたはレベル・キーの一部でもある場合があります。

COUNT(DISTINCT X)がGROUP BY Xと同時に使用された場合は常にカウントが1になるため、このケースが多発する可能性はほとんどありません。

このようなエラーを回避するために、COUNT(DISTINCT...)をメジャーで使用するときには、同じレベルに完全属性またはその他の属性を含めないようにしてください。

Hiveではケース・タイプの区別をサポートしていません

Hiveでは、ケース文の各部分のタイプに対して厳密なチェックが要求されます。このため、Hiveでは、次のようなプレゼンテーション問合せは失敗します。

select supplierid, case supplierid when 10 then 'EQUAL TO TEN' when 20 then 
'EQUAL TO TWENTY' else 'SOME OTHER VALUE' end as c2 from supplier order by c2
asc, 1 desc 

この問合せに対するHiveの完全なエラー・メッセージは次のようになります。

FAILED: Error in semantic analysis: Line 2:32 Argument type mismatch '10': 
The expressions after WHEN should have the same type with that after CASE: 
"smallint" is expected but "int" is found 

この問題は、次のサイトに記録されています。

https://issues.apache.org/jira/browse/HIVE-3183

範囲外の開始位置の値を示すLocate関数に対して例外をスローします

Locate関数の完全な構文のフォームは次のとおりです。

LOCATE ( charexp1, charexp2, [, startpos] )

ここで、charexp1は、文字列charexp2の中で検索の対象となる文字列です。

オプションのパラメータstartposは、charexp2の中で検索開始を示す文字の位置です。

次の例に示すように、startposの値がcharexp2の長さよりも長い場合、

select locate('c', 'abcde', 9) from employee 

Hiveは0を返すのではなく、例外をスローします。

Hiveは部分文字列を使用する問合せでクラッシュすることがあります

開始位置パラメータの値を指定してSubstring関数を使用する問合せでは、次の例に示すように、Hiveがクラッシュすることがあります。

select substring(ProductName, 2) from Products 

部分文字列の問題の詳細は、次のサイトにあります。

https://reviews.facebook.net/D2727

Hiveでは表の作成をサポートしていません

Apache Hive ODBCドライバは、表の作成に使用するSQLTransactをサポートしていないため、Hiveでは表の作成をサポートしていません。

Hiveは複数のAND句とOR句を含む長い問合せで失敗することがあります

次のWHERE句は、問合せの長さが過剰なためにHiveで失敗する可能性のある条件の例です。

例1

        WHERE (Name = 'A' AND Id in (1))
           OR (Name = 'B' AND Id in (2))
           OR  .......
           OR (Name = 'H' AND Id in (8))

例2

        WHERE (Id BETWEEN '01' AND '02')
           OR (Id BETWEEN '02' AND '03')
           OR  .......
           OR (Id BETWEEN '07' AND '08'))

一般に、長い問合せはHiveで失敗する可能性がありますが、前述の例に示すように、多くのOR句を使用する条件が指定されていて、それぞれのグループがANDおよびBETWEENの副次句で組み合されている場合に特にその可能性が高くなります。

UnicodeはHiveではサポートされません

Unicodeデータのある列を選択する問合せは、失敗するか、予測不可能な結果を生じます。Apache Hive ODBCドライバはUnicodeをサポートしていません。DataDirect ODBCドライバでUnicodeがサポートされるようになるには、製品の拡張が必要です。

サブクエリー式が含まれている問合せは失敗することがあります

サブクエリー式が含まれている問合せは、Hiveでは失敗することがあります。サブクエリー式が使用されている場合は、Oracle BIサーバーによって生成された物理問合せで等価条件にデータ型を混成して含めることもできます。等価演算子におけるHiveの問題により、問合せ結果が正しくない場合があります。

たとえば、次の問合せを考えてみます。

select ReorderLevel from Product where ReorderLevel in 
  (select AVG(DISTINCT ReorderLevel) from Product);

Oracle BIサーバーでは、'ReorderLevel = 15.0'が含まれている次の物理問合せを生成します。ここで、ReorderLevelのデータ型はIntであり、15.0はFloatとして扱われます。

Select T3120.ReorderLevel as c1 from Products T3120 
where (T3120.ReorderLevel = 15.0)

これは、次のコマンドを使用して訂正できます。

select ReorderLevel from Product where ReorderLevel in 
  (select cast(AVG(DISTINCT ReorderLevel) as integer) from Product);

Hiveでは同じSelectリストにある個別MとMをサポートしていません

次のフォームの問合せでは、

  • SELECT DISTINCT M, M  ... FROM TABX

Hiveではサポートされていません。

この問題の詳細は、次のサイトにあります。

https://issues.apache.org/jira/browse/HIVE-2597

LinuxおよびUNIXでのEssbaseデータソースの構成

Oracle BIサーバーは、Essbaseクライアント・ライブラリを使用してEssbaseデータ・ソースに接続します。Essbaseクライアント・ライブラリは、デフォルトでOracle BI Enterprise Editionとともにインストールされます。Oracle BI Enterprise Editionの完全なインストールに対してEssbaseデータ・ソースのアクセスを有効化するために追加の構成は必要ありません。

ただし、HP-UX Itaniumシステムでは、次の追加の手順も必要です。

  1. ESSLANGおよびLANGを定義します。

    例:

    ESSLANG=English_UnitedStates.UTF-8@Binary
    export ESSLANG
    LANG=en_US.utf8
    export LANG
    
  2. NQSConfig.iniファイル内のLOCALE、SORT_ORDER_LOCALEおよびSORT_TYPEをコメント・アウトします。例:

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

IBM z/OSプラットフォームおよびs/390プラットフォームでのDB2 Connectの構成

IBM DB2 Connectは、自動接続解除のオプションを使用しているアプリケーションが中断要求を受信したときに、このオプションをサポートしません。

ネイティブ・データベースがDB2 Connectワークステーションを使用している場合、パラメータINTERRUPT_ENABLEDの設定を変更する必要があります。このパラメータは、データベースまたは任意のデータソースがz/OSプラットフォームまたはs/390プラットフォームを実行しているメインフレーム上のIBM DB2に常駐している場合、任意のOracle Business Intelligenceコンピュータで変更する必要があります。


注意:

IBM DB2を使用している場合、DB2 ConnectをOracle BIサーバーのコンピュータにインストールする必要があります。DB2 Connectのバージョンは、データソースとして構成された最新のDB2インスタンスと一致している必要があります。


INTERRUPT_ENABLEDパラメータを構成するには:

  1. データベースのエイリアスがネイティブCLIデータソース名として使用されるように構成します。たとえば、DB2 Configuration Assistantを使用して新しいデータベース・エントリを作成します。

  2. 作成したデータベースのエイリアスおよび実際のターゲットDB2データベースの名前を使用して、次の構文を使用してINTERRUPT_ENABLEDパラメータを設定します。

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

    説明:

    • local_dcsnameは、ホストまたはデータベースのローカル名を表します(データベースのエイリアス名)。

    • target_dbnameは、ホスト・システム上またはデータベース・システム上のデータベースの名前を表します。


      注意:

      引用符を文字列の一部として渡すには、円記号を使用します。


      次の例は、OS390 DB2インスタンスを使用しています。

      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