LinuxでのDataDirect Connect ODBCドライバの使用

Oracle Analytics Serverには、MySQL、Sybase ASE、Informix、HiveおよびImpalaの各データベースへの接続性の確保のために、Linuxオペレーティング・システム用にDataDirect Connect ODBCドライバおよびドライバ・マネージャが用意されています。

Amazon Redshiftデータ・ソースもサポートされています。Amazon Webサービスから使用可能なAmazon Redshift ODBCドライバを使用する必要があります。その他のデータ・ソース用にドキュメント化されているステップを使用して、Amazon Redshiftデータ・ソースを構成します。

DataDirectドライバは、Oracle Analytics Serverのインストール・プロセスでインストールされます。DataDirect Connect ODBCドライバは、MW_HOME/bi/modules/oracle.bi.datadirect.odbc/7.1.6/libディレクトリにあります。

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

DataDirectを使用するためのOracle Analytics Serverの構成

Oracle Analytics Serverをインストールすると、必要なDataDirect 7.1.6ドライバがインストールされ、自動的に構成されます。

obis.propertiesおよびodbc.iniファイルのデフォルト設定を定義できます。

既存のデータベース構成を変更して、DataDirectドライバを使用する必要があります。既存のデータベース構成の変更の詳細は、次の手順を参照してください。

Oracle Essbaseのための追加のDataDirect構成

Essbaseデータ・ソースに接続するDataDirectの構成を変更します。

Essbaseとともに使用するDataDirect 7.1.6ドライバ・ファイルの名前は、essbase.cfgです。

  1. 次の場所からessbase.cfgを開いて編集します。

    BI_DOMAIN/config/fmwconfig/biconfig/essbase

  2. 構成ファイルで、BPM_ORACLE_DriverDescriptor要素を見つけて、値を"DataDirect 7.1.6 Oracle Wire Protocol"に変更します。
  3. Fusion Middleware Controlを使用してEssbaseを再起動します。

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

DB2データベースに接続するには、次のステップを使用します。

MySQLデータベースに接続するDataDirect ODBCドライバ・ファイルの名前は、ARdb227.soです。

  1. 次の場所にあるobis.propertiesファイルを開きます。

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. LD_LIBRARY_PATH変数を検索します。次を使用します。
    • Linuxの場合、ライブラリ・パス変数はLD_LIBRARY_PATHです。

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

  3. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。
  4. obis.propertiesPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。
  5. ファイルを保存して閉じます。
  6. odbc.iniファイルを開きます。このファイルは次の場所にあります:

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. データベースのエントリを作成します。

    リポジトリで定義した接続プールに指定されているデータ・ソース名と同じODBC接続名を使用します。

    DriverパラメータをDB2データベース用のDataDirect Connectドライバのファイル名および場所に設定します。NetworkAddressには、IPアドレスまたは完全修飾ホスト名およびポート番号を使用します。

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

    [ABCDEF]
    Driver=/u01/app/product/12.2.1.4.0/obi_1/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib/ARdb227.so
    Description=Oracle 7.1 DB2 Wire Protocol
    AccountingInfo=
    AddStringToCreateTable=
    AlternateID=
    AlternateServers=
    ApplicationName=
    ApplicationUsingThreads=1
    AuthenticationMethod=0
    BulkBinaryThreshold=32
    BulkCharacterThreshold=-1
    BulkLoadBatchSize=1024
    BulkLoadFieldDelimiter=
    BulkLoadRecordDelimiter=
    CatalogSchema=
    CharsetFor65535=0
    ClientHostName=
    ClientUser=
    #Collection applies to z/OS and iSeries only
    Collection=
    ConcurrentAccessResolution=0
    ConnectionReset=0
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    CurrentFuncPath=
    #Database applies to DB2 UDB only
    Database=ABCDEF 
    DefaultIsolationLevel=1
    DynamicSections=1000
    EnableBulkLoad=0
    EncryptionMethod=0
    FailoverGranularity=0
    FailoverMode=0
    FailoverPreconnect=0
    GrantAuthid=PUBLIC
    GrantExecute=1
    GSSClient=native
    HostNameInCertificate=
    IpAddress=10.116.26.27
    KeyPassword=
    KeyStore=
    KeyStorePassword=
    LoadBalanceTimeout=0
    LoadBalancing=0
    #Location applies to z/OS and iSeries only
    Location=
    LogonID=
    MaxPoolSize=100
    MinPoolSize=0
    Password=
    PackageCollection=NULLID
    PackageNamePrefix=DD
    PackageOwner=
    Pooling=0
    ProgramID=
    QueryTimeout=0
    ReportCodePageConversionErrors=0
    TcpPort=50002
    TrustStore=
    TrustStorePassword=
    UseCurrentSchema=0
    ValidateServerCertificate=1
    WithHold=1
    XMLDescribeType=-10
  8. odbc.iniファイルを保存して閉じます。

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

MySQLデータベースに接続するには、次のステップを使用します。

MySQLデータベースに接続するDataDirect ODBCドライバ・ファイルの名前は、ARmysql27.soです。

  1. 次の場所にあるobis.propertiesファイルを開きます。

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. LD_LIBRARY_PATH変数を検索します。次を使用します。
    • Linuxの場合、ライブラリ・パス変数はLD_LIBRARY_PATHです。

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

    たとえば、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. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。たとえば、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. obis.propertiesPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。
  5. ファイルを保存して閉じます。
  6. odbc.iniファイルを開きます。このファイルは次の場所にあります:

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. データベースのエントリを作成します。

    リポジトリで定義した接続プールに指定されているデータ・ソース名と同じODBC接続名を使用します。

    DriverパラメータをMySQLデータベース用のDataDirect Connectドライバのファイル名および場所に設定します。NetworkAddressには、IPアドレスまたは完全修飾ホスト名およびポート番号を使用します。

    次の例では、DriverパラメータはDataDirect Connectドライバに設定されており、データソース名はMySQL_DBです。

    [MySQL Wire Protocol]
    Driver=/refresh/home/oracle/middleware/oracle_home/bi/modules/oracle.bi.datadirect.odbc/7.1.6/lib/ARmysql27.so
    Description=Oracle 7.1 MySQL Wire Protocol
    AlternateServers=
    ApplicationUsingThreads=1
    ConnectionReset=0
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    Database=<database_name>
    DefaultLongDataBuffLen=1024
    EnableDescribeParam=0
    EncryptionMethod=0
    FailoverGranularity=0
    FailoverMode=0
    FailoverPreconnect=0
    HostName=<MySQL_host>
    HostNameInCertificate=
    InteractiveClient=0
    LicenseNotice=You must purchase commercially licensed MySQL database software or a MySQL Enterprise subscription in order to use the DataDirect Connect for ODBC for MySQL Enterprise driver with MySQL software.
    KeyStore=
    KeyStorePassword=
    LoadBalanceTimeout=0
    LoadBalancing=0
    LogonID=
    LoginTimeout=15
    MaxPoolSize=100
    MinPoolSize=0
    Password=
    Pooling=0
    PortNumber=<MySQL_server_port>
    QueryTimeout=0
    ReportCodepageConversionErrors=0
    TreatBinaryAsChar=0
    TrustStore=
    TrustStorePassword=
    ValidateServerCertificate=1
  8. odbc.iniファイルを保存して閉じます。

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

Sybase ASEデータベースに接続するDataDirect ODBCドライバのファイル名は、ARase27.soです。

  1. 次の場所にあるobis.propertiesファイルを開きます。

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. LD_LIBRARY_PATH変数を見つけて、次の情報を使用します。
    • Linuxの場合、ライブラリ・パス変数はLD_LIBRARY_PATHです。

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

    たとえば、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. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。

    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/lib
    
  4. PATH変数を見つけて、必要に応じてDataDirectドライバ・パスを含めます。
  5. ファイルを保存して閉じます。
  6. 次の場所にあるodbc.iniファイルを開きます。

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. データベースのエントリを作成します。

    リポジトリで定義した接続プールに指定されているデータ・ソース名と同じODBC接続名を使用します。

    DriverパラメータをSybase ASEデータベース用のDataDirect Connectドライバのファイル名および場所に設定します。NetworkAddressには、IPアドレスまたは完全修飾ホスト名およびポート番号を指定します。

    次の例は、DataDirect Connectドライバに設定されたDriverパラメータと、データ・ソース名としてSybaseASE_DBを示しています。

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

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

Informixデータベースに接続するDataDirect ODBCドライバ・ファイルを構成するには、次のステップを使用します。使用するファイルはARifcl27.soです。

  1. 次の場所にあるobis.propertiesファイルを開きます。

    BI_DOMAIN/config/fmwconfig/bienv/OBIS

  2. LD_LIBRARY_PATH変数を見つけて、次の情報を使用します。
    • Linuxの場合、ライブラリ・パス変数はLD_LIBRARY_PATHです。

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

    たとえば、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. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。

    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,
    $MW_INSTANCE$:$MW_HOME/lib
    
  4. obis.propertiesでPATH変数を検索し、必要に応じ、DataDirectドライバ・パスを含めます。
  5. ファイルを保存して閉じます。
  6. 次の場所にあるodbc.iniファイルを開きます。

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. データベースのエントリを作成します。

    リポジトリで定義した接続プールに指定されているデータ・ソース名と同じODBC接続名を使用する必要があります。

    DriverパラメータをInformix用のDataDirect Connectドライバのファイル名および場所に設定します。HostNameパラメータ(完全修飾ホスト名またはIPアドレスを使用可能)とPortNumberパラメータを指定する必要があります。

    次の例では、DriverパラメータはDataDirect Connectドライバに設定されており、データソース名は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. odbc.iniファイルを保存して閉じます。

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

Cloudera Impalaデータベースに接続するためのDataDirect ODBCドライバ・ファイルの名前は、ARimpala27.soです。

Impala 1.3.xを構成してLIMIT句を含めるを参照してください。

  1. 次の場所にあるobis.propertiesファイルを開きます。
    BI_DOMAIN/config/fmwconfig/bienv/OBIS
  2. LD_LIBRARY_PATH変数を検索します。
    ライブラリ・パス変数は、次のようになります。
    • Linuxの場合: LD_LIBRARY_PATH

    • AIXの場合: LIBPATH

    たとえば、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. 必要に応じ、DataDirectドライバのパスが含まれるようにLD_LIBRARY_PATH変数を更新します。
    たとえば、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. obis.propertiesPATH変数を検索して、必要に応じてDataDirectドライバ・パスを含めます。
  5. ファイルを保存して閉じます。
  6. odbc.iniファイルを開きます。このファイルは、次の場所にあります。

    BI_DOMAIN/config/fmwconfig/bienv/core

  7. データベースのエントリを作成し、HostNameパラメータを指定します。

    HostNameパラメータとしての完全修飾ホスト名またはIPアドレスと、PortNumberパラメータを使用できます。

    • ODBC接続名は、リポジトリで定義した接続プールに指定されているデータ・ソース名と同じにします。

    • Driverパラメータは、Cloudera Impala用のDataDirect Connectドライバのファイル・パスに設定します。

    • HostNameパラメータは完全修飾ホスト名を使用するか、HostNameパラメータとしてのIPアドレスとPortNumberを使用します。

    次の例は、DataDirect Connectドライバに設定されたDriverパラメータと、Impala_DBデータ・ソース名を示しています。

    [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. odbc.iniファイルを保存して閉じます。
    Impala 1.3.xを使用している場合は、LIMIT句セクションを含めた構成が必要になります。Impala 1.4 (CDH 5.1)以上を使用している場合、追加のステップをスキップできます。

Impala 1.3.xを構成してLIMIT句を含める

Impala 1.3.xでは、ORDER BY句のある問合せにLIMIT句が含まれている必要があります。

この句を構成で指定する方法は3つあります。Impalaデーモンのデフォルトの問合せオプションを変更する方法の使用をお薦めします。2番目と3番目の方法については、Impala DefaultOrderByLimitを変更する代替方法を参照してください。

次のいずれかの方法で制限したデフォルトの順番を指定すると、句によってORDERのある問合せに対して最大2,000,000列が戻ります。

Impalaデーモンのデフォルトの問合せオプションを変更する方法を使用してLIMIT句を指定したときに、問合せにORDER BY句が含まれていると、Impalaは最大2,000,000列を戻します。この制限を超過すると、Impalaは例外をスローします。

問合せが2,000,000列を超える場合のために、default_order_by_limit値を高く指定します。

Default Order By Limitは、Impalaサーバーのかわりにクライアント使用して指定することもできます。

先の方法を使用してImpalaデーモンを変更する権限がない場合、この方法を使用してください。この方法を使用すると、Impalaにより、値が2,000,000列まで静的に切り詰められます。

  1. Cloudera Managerのホーム・ページに移動し、Impalaサービスをクリックします。
  2. 「Impalaサービス」ページで、「構成」をクリックして、「表示と編集」を選択します。
  3. 「構成」ページで、「Impalaデーモンのデフォルトのグループ」を選択します。
  4. Impala Daemon Query Options Advanced (default_query_optionsとも呼ばれます)を検索し、次のエントリを追加します。
    default_order_by_limit=2000000
    abort_on_default_limit_exceeded=true
  5. 「変更の保存」をクリックします。
  6. Cloudera Managerのホーム・ページで、Impalaサービスを再起動します。

Impala DefaultOrderByLimitを変更する代替方法

Impala環境がCloudera Managerに管理されていない場合は、1番目のDefaultOrderByLimitオプションを使用します。2番目のDefaultOrderByLimitのオプションは、Impalaデーモンを変更するための権限がない場合に使用します。

Cloudera Managerを使用することなくImpalaデーモンのデフォルトの問合せオプションを変更する

Cloudera Managerで管理されている環境を使用していて、必要になる権限を持っている場合は、Impalaデーモンを更新するための推奨方法であるDefaultOrderByLimitを使用してください。Impala 1.3.xを構成してLIMIT句を含めるを参照してください。

Cloudera Managerで管理されていないImpala環境を使用している場合は、LIMIT句の変更に役立つImpala製品のドキュメントを使用します。『CDH 5 Installation Guide』の、コマンドラインを使用したImpalaスタートアップ・オプションの構成に関する項を参照してください。

この方法を使用してLIMIT句を指定し、問合せにORDER BY句が含まれている場合、Impalaは最大2,000,000列を戻します。この制限を超過すると、Impalaは例外をスローします。

  • コマンドラインを使用したImpalaスタートアップ・オプションの構成に関する項のタスクのステップを完了した後、IMPALA_SERVER_ARGSに次のエントリを追加します。

    -default_query_options 'default_order_by_limit=2000000;abort_on_default_limit_exceeded=true'
    

odbc.ini Impala DSNエントリのDefaultOrderByLimitパラメータを変更する

先の方法を使用してImpalaデーモンを変更する権限がない場合、この方法を使用してください。この方法を使用すると、Impalaにより、値が2,000,000列まで静的に切り詰められます。

問合せが戻す数を2,000,000列よりも大きく指定する場合、DefaultOrderByLimitパラメータの値をそれよりも高く指定します。

Default Order By Limitは、Impalaサーバーのかわりにクライアント使用して指定することもできます。

  1. BI_DOMAIN/config/fmwconfig/bienv/coreディレクトリでodbc.iniファイルを開きます。
  2. Impala_DBデータベース・エントリを検索し、DefaultOrderByLimitパラメータを検索します。
  3. 値を2000000に更新します(例: DefaultOrderByLimit=2000000)。
  4. odbc.iniファイルを保存して閉じます。