プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.4.0)
E96106-04
目次へ移動
目次

前
次

5 メタデータのインポートとデータ・ソースの操作

この章では、新しいOracle BIリポジトリを作成し、バックエンド・データ・ソースを設定し、管理ツールのメタデータのインポート・ウィザードを使用してメタデータをインポートする方法について説明します。また、Oracle Business Intelligenceでスタンバイ・データベースを使用する方法についても説明します。

この章のトピックは、次のとおりです:

メタデータのインポートとデータ・ソースの操作について

Oracle BIリポジトリ・ファイルを作成した後、データ・ソースからリポジトリの物理レイヤーにメタデータをインポートできます。

Oracle BI管理ツールの物理レイヤーには、Oracle BIサーバーが問合せを送信するデータ・ソース、および物理データベースと複数のデータ・ソース問合せの処理に使用される他のデータ・ソース間のリレーションシップが含まれます。

Oracle BIリポジトリにインポートされるメタデータには、ODBCまたは基礎となるデータ・ソースへのネイティブ・データベース接続が含まれている必要があります。ODBC接続を使用してMicrosoft Excelなどのソフトウェアからメタデータをインポートすることもできます。

各データ・ソースからメタデータをインポートする場合、データ・ソースの構造も物理レイヤーにインポートされます。Oracle BIサーバーおよび他のクライアントでは、サポートされているデータ・ソースのデータを表示できます。サポートされていないデータ・ソースのメタデータをインポートすることはできません。

メタデータをインポートすると、関連するデータベース・オブジェクトおよび接続プールのプロパティが自動的に設定されます。データベースや接続プールの設定は調整可能です。データベース・オブジェクトおよび接続プールの設定を参照してください。

エラーを防ぐために、手動で物理レイヤーを作成するのではなく、メタデータをインポートすることをお薦めします。

Oracle BIリポジトリの作成

Oracle管理ツールの新規リポジトリの作成ウィザードを使用して、新しいOracle BIリポジトリをバイナリ(RPD)またはMDS XML形式で作成できます。

リポジトリがあると、既存のデータ・ソース設定を別のデータ・ソースに接続するためのテンプレートとして使用できます。既存のデータ・ソース設定を使用し、データベース・タイプと接続プールの情報のみを変更するには、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。

「データ・ソースの事前構成作業の実行」を参照してください。

データ・ソース・タイプの詳細は、次の各項を参照してください。

  1. 管理ツールで、「ファイル」「新規リポジトリ」を選択します。

    既存のリポジトリが開いている場合、変更内容を保存するように求められ、既存のリポジトリが閉じます。

  2. リポジトリをRPD形式で作成するには、「バイナリ」を選択します。リポジトリをMDS XML形式で作成するには、「MDS XMLドキュメント」を選択します。
  3. バイナリ・リポジトリの場合、リポジトリの名前を入力します。メタデータ・ディクショナリのURLに関する問題を避けるため、名前は156文字以内にしてください。RPDファイル拡張子を明示的に指定しなかった場合、自動的に追加されます。
  4. 「場所」については、そのリポジトリ・タイプに適したステップを実行します。
    • バイナリ・リポジトリの場合、RPDファイルの場所を選択します。新しいバイナリ・リポジトリはデフォルトで、ORACLE_INSTANCE\bi\bifoundation\serverにあるリポジトリ・サブディレクトリに保存されます。

    • MDS XML形式のリポジトリの場合、そのMDS XMLファイルのセットのルート・フォルダの場所を選択します。

  5. すぐにメタデータをリポジトリにインポートするには、「メタデータのインポート」について「はい」(デフォルト)を選択します。メタデータをインポートしない場合は、「いいえ」を選択してください。
  6. このリポジトリに使用するパスワードを入力し、確認します。リポジトリ・パスワードは8文字以上で、1つ以上の数字を含める必要があります。

    リポジトリをオンライン・モードまたはオフライン・モードで開くために使用するリポジトリ・パスワードには同じものを入力します。このパスワードは、リポジトリの内容を暗号化するために使用されます。

  7. メタデータのインポート」について「はい」を選択した場合は、「次へ」をクリックします。

    メタデータをインポートする前に、データ・ソースの設定が必要になることがあります。

  8. 「メタデータのインポート」について「いいえ」を選択した場合は、「終了」をクリックして空のリポジトリを作成します。

データ・ソースの事前構成作業の実行

Oracle Business Intelligenceがデータ・ソースにアクセスできるように、構成ステップを実行することが必要になる場合があります。

データ・ソースからリポジトリ・ファイルに物理オブジェクトをインポートしたり、接続プールをデータ・ソースに設定する前に、これらの構成ステップが必要になる場合があります。

多くのデータ・ソースについては、クライアント・コンポーネントをインストールする必要があります。クライアント・コンポーネントは多くの場合、問合せアクセスについてはOracle BIサーバーをホストするコンピュータに、インポートなどのオフライン操作については管理ツールをホストするコンピュータ(異なる場合)にインストールします。場合によっては、JavaHostプロセスが配置されているコンピュータにクライアント・コンポーネントをインストールする必要があります。

この項では、次の項目について説明します。

ODBCデータ・ソース名(DSN)の設定

ODBC接続を介したデータ・ソースからのインポートや、ODBCデータ・ソースへの接続プールの設定を行う前に、クライアント・コンピュータでそのデータ・ソースのODBCデータ・ソース名(DSN)を作成しておく必要があります。

データ・ソースからメタデータをインポートする際、メタデータのインポート・ウィザードでこのDSNを参照します。

ODBC DSNは、Windowsシステムでのみインポートに使用できます。

  1. Windowsで、「ODBCデータ ソース アドミニストレータ」を検索して開きます。「ODBCデータ ソース アドミニストレータ」ダイアログが表示されます。
  2. 「ODBC データ ソース アドミニストレータ」ダイアログで、「システム DSN」タブをクリックし、「追加」をクリックします。
  3. 「データ ソースの新規作成」ダイアログで、データ・ソースに適したドライバを選択し、「完了」をクリックします。

    残りの構成ステップは、構成するデータ・ソースごとに異なります。詳細は、データ・ソースのドキュメントを参照してください。

WindowsシステムのODBC DSNは、初期インポートにも、問合せ実行時のデータ・ソースへのアクセスにも使用されます。UNIXシステムでは、ODBC DSNはデータ・アクセスにのみ使用されます。「LinuxおよびUNIXでのデータソースの設定について」を参照してください。

「Teradataデータ・ソースの設定」を参照してください。

Oracle Databaseデータ・ソースの設定

Oracle Databaseデータ・ソースからメタデータをインポートする場合や接続プールを設定する場合、データ・ソース名として接続文字列全体を入力することも、tnsnames.oraファイルで定義されているネット・サービス名を使用することもできます。

ネット・サービス名のみを入力するには、Oracle BIサーバーがそのエントリを特定できるように、Oracle Business Intelligence環境の次の場所でtnsnames.oraファイルを設定する必要があります。

BI_DOMAIN/bidata/components/core/serviceinstances/ssi/oracledb

Oracle DatabaseからのメタデータのインポートやOracle Databaseへの接続には常にOracle Call Interface (OCI)を使用する必要があります。スキーマのインポートや、接続プールの設定を行う前に、TNS名のエントリをtnsnames.oraファイルに追加しておく必要があります。詳細は、Oracle Databaseのドキュメントを参照してください。

この項では、次の項目について説明します。

「Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化」を参照してください。

Oracle 12c Database In-Memoryのデータ・ソース

すべてのOracle 12c Database In-Memoryデータ・ソースで、Oracle BIサーバーはメモリー内に表を作成します。

Oracle 12c Database In-Memoryは、高パフォーマンスのインメモリー・データ・マネージャです。インメモリー列ストアを使用して、メモリー内に存在して迅速にスキャンできる特殊な列形式で、表およびパーティションのコピーを格納します。詳細は、12c リリース1の『Oracle Databaseコンセプト・ガイド』および『Oracle Database管理者ガイド』を参照してください。

Exadataを使用するOracle 12c Databaseのデータ・ソース

Exadataを使用するOracle 12c Databaseのデータ・ソースおよびExadataを使用するOracle 12c Database In-Memoryのデータ・ソースで、Oracle BIサーバーはメモリー内に表を作成します。

Oracle BIサーバーは、デフォルトでExadataハイブリッド列圧縮(EHCC)を使用します。

Oracle Exadata Database Machineは、Oracle Databaseを稼働させるために最適化されたプラットフォームです。Oracle 12c DatabaseおよびOracle 12c Database In-Memoryは共に、Oracle Exadata Database Machineで稼働します。詳細は、Exadata Database Machineに含まれるドキュメントを参照してください。

Oracle BIサーバーでサポートされる高度なOracleデータベースの機能

Oracle BIサーバーは圧縮(Exadataハイブリッド列圧縮)機能とインメモリー機能をサポートすることで、Oracle Databaseのネイティブ機能を活用し、問合せ時間を大幅に短縮しています。

メタデータのインポート時またはデータベース・タイプの指定時に、そのデータベース・オブジェクトの機能セットは、データベース・タイプに応じた適切なデフォルト値によって自動的に移入されます。Oracle BIサーバーは、このデータ・ソースに、これらのSQL機能を使用します。「データベース」ダイアログの「機能」タブで、サポートされていることを示すマーク(チェック)が機能に付けられている場合は、Oracle BIサーバーによってデータ・ソースに関数または計算がプッシュされパフォーマンスの向上が図られます。関数または機能がデータ・ソースでサポートされていない場合はOracle BIサーバーで計算または処理が実行されます。

Oracle BIサーバーによってサポートされるOracle Database機能に関する情報を次に示します。

  • 圧縮

    圧縮することで、データベースのサイズが減ります。データを圧縮すると格納に必要なページ数が少なくなるため、問合せでディスクから読み取るページも少なく、その結果、I/Oに過度な負担がかかるワークロードのパフォーマンスを向上させることができます。圧縮はデフォルトで使用されます。Oracleデータベースに集計を作成すると、集計表にはデフォルトで圧縮が適用されます。

    いずれかのOracleデータベースにデータベース・オブジェクトを作成すると、COMPRESSION_SUPPORTED機能がオブジェクトに自動的に適用されます。

  • Exadata Hybrid Columnar Compression (EHCC)

    OracleのEHCCは、Exadata上のデータベース機能およびストレージ機能を使用するために最適化されています。また、パフォーマンスが大きく向上する最高レベルのデータ圧縮が可能です。デフォルトでは、Exadataを使用するOracle 11g Database、Exadataを使用するOracle 12c DatabaseおよびExadataを使用するOracle 12c Database In-Memoryで、このタイプの圧縮が使用されます。

    いずれかのOracleデータベースにデータベース・オブジェクトを作成すると、EHCC_SUPPORTED機能がオブジェクトに自動的に適用されます。

    デフォルトでは、Oracleデータベースのオブジェクトに対して圧縮は無効になっています。オブジェクトの圧縮を有効にするには、オブジェクトのPERF_PREFER_COMPRESSIONフラグをオンに設定してください。

  • インメモリー

    インメモリー検索により、データの問合せの所要時間が削減されます。これは、ディスクよりも迅速で、確実なパフォーマンスです。インメモリー機能は、Oracle 12c Database In-MemoryおよびExadataを使用するOracle 12c Database In-Memoryで、メモリー内に表を作成する機能です。これらのデータベースで集計を作成すると、メモリー内でも集計が作成されます。

    前述のいずれかのOracleデータベースにデータベース・オブジェクトを作成する場合、INMEMORY_SUPPORTED機能がオブジェクトに自動的に適用されます。

Oracle Database高速アプリケーション通知および高速接続フェイルオーバー

高速アプリケーション通知(FAN)イベントと高速接続フェイルオーバー(FCF)がOracle Databaseで有効になっている場合、Oracle Call Interface (OCI)はFANイベントを使用して、Oracle Databaseデータ・ソースのFCFを有効にします。

高速アプリケーション通知(FAN)イベントと高速接続フェイルオーバー(FCF)は、バックグラウンドで実行されます。Oracleデータベースを使用できないためにユーザーが開始したOracle Business Intelligence問合せに失敗した場合、ただちに問合せに失敗し、ユーザーはデータベース・リクエストのタイムアウトを待機せずに問合せを再試行できます。

クライアント・インストールに対する追加のOracle Database構成

クライアント・インストールを実行したコンピュータでOracle Database Clientをインストールする必要があります。

Oracleデータベース・クライアントをインストールしたら、ORACLE_HOMEという環境変数を作成し、その変数をOracleデータベース・クライアント用のOracleホームに設定します。TNS_ADMINという環境変数を作成し、その変数をtnsnames.oraファイルの場所(BI_DOMAIN/bidata/components/core/serviceinstances/ssi/oracledb)に設定します。

Firewallを使用している場合のOracle BIサーバーの構成

Oracle BI ServerとOracle Databaseの間にファイアウォールがあると、問合せ時間が長くなります。

単一のnqcmd問合せの使用時に結果が返されるまでに2分から3分かかる場合、またはAnswersの使用時にプレゼンテーション・サービスで開始したSQL文の実行または検証後に応答がない場合は、問合せ時間が長くなる可能性があります。

問合せ時間を改善するためには、次のようにして、BI_DOMAIN\config\fmwconfig\bienv\core内のsqlnet.oraファイルで、BREAK_POLL_SKIPパラメータおよびDISABLE_OOBパラメータを追加します。

BREAK_POLL_SKIP=10000
DISABLE_OOB=ON 

この構成変更はOracle BIサーバーでのみ実行できます。Oracle Databaseまたはユーザー・クライアント・デスクトップの構成を変更する必要はありません。

DataDirectドライバとOracle Database

ODBCデータ・ソースへの接続を確立するには、ODBC DataDirectドライバを使用する必要があります。

ODBC DataDirectドライバは、Oracle Platform Security Services (OPSS)のセキュリティ・ストアの実装で資格証明にアクセスするためにも使用されます。

Oracle BI Enterprise Editionでは、追加の構成なしで、DataDirect ODBCフレームワークのバージョン8.0.2およびOracle Wire Protocolのバージョン8.0.0は、Oracle Database 12cの接続をサポートし、データ・ソース名(DSN)およびDNSなしの接続のために構成されます。

動作保証されたOracle Databaseバージョンには次のものがあります。

  • 12.2.1.2以上

  • 11.2.0.4以上

DataDirectドライバに関するその他の情報は、次のOracle BI Enterprise Edition 12cインストール・ディレクトリにあるProgress DataDirectのドキュメントで確認できます。

  • mwhome\bi\common\ODBC\Merant\7.1.6\help

  • mwhome\bi\common\ODBC\Merant\8.0.0\help

  • mwhome\bi\common\ODBC\Merant\8.0.2\help

Windows 7 64ビット環境でのOracle Database接続エラー

Windows 7 64ビット・コンピュータでOracle BI EEを実行している場合は、デフォルトの認証サービスがWindowsドメインの資格証明を使用するように設定されていないことを確認する必要があります。

管理ツールがWindowsドメインの資格証明を使用してログインしようとするため、Oracle Databaseからのインポート時に接続エラーが発生する可能性があります。

BI_DOMAIN\config\fmwconfig\bienv\core内のsqlnet.oraファイルをチェックして、AUTHENTICATION_SERVICESパラメータが次のようになっていることを確認してください。

SQLNET.AUTHENTICATION_SERVICES= (NONE)

Oracle OLAPデータ・ソースの設定について

Oracle OLAPデータ・ソースからインポートする前に、データ・ソースが標準形式のアナリティック・ワークスペースであることを確認してください。

Oracle OLAPソースからインポートする前に、クライアント・インストールを実行したコンピュータにOracle Database Clientをインストールする必要があります。

オフライン・インポートについてもオンライン・インポートについても、Oracle OLAPデータ・ソースからインポートするには、biadminservlet Javaプロセスが実行中である必要があります。Fusion Middleware Controlを使用してbiadminservlet Javaプロセスのステータスをチェックできます。

「管理者」または「ランタイム」のいずれかのクライアント・インストール・オプションを使用します。

Oracleデータベース・クライアントをインストールしたら、ORACLE_HOMEという環境変数を作成し、その変数をOracleデータベース・クライアント用のOracleホームに設定します。TNS_ADMINという環境変数を作成し、その変数をtnsnames.oraファイルの場所(BI_DOMAIN/bidata/components/core/serviceinstances/ssi/oracledb)に設定します。

Javaデータ・ソース

JDBC接続タイプを使用する場合、リモートJavaデータ・ソースをWeblogic Serverに接続する必要があります。

JDBC(ダイレクト・ドライバ)を使用しない場合、この構成手順は必要ありません。

リポジトリにJDBCおよびJNDIデータ・ソースを含める前に、必要な設定タスクを実行する必要があります。

Oracle WebLogic ServerでJDBCを構成する必要があります。この構成を実行する方法の詳細は、Oracle WebLogic Serverのドキュメントの「WebLogic ServerでのJDBCドライバの使用」を参照してください。

データ・ソースをロードして、リポジトリにインポートする必要があります。Javaデータ・ソースのロードを参照してください。

Javaデータ・ソースのロード

リポジトリにインポートするためにJavaデータ・ソースを使用できるようにするには、最初にJavaデータソース・サーバーに接続してJavaメタデータをロードする必要があります。

  1. Oracle BI管理ツールで、「ファイル」を選択してから、「Javaデータソースのロード」を選択します。
  2. 「Javaデータソース・サーバーに接続」ダイアログで、ホスト名、ポートおよび資格証明を入力してサーバーにアクセスし、Javaメタデータをロードします。
  3. 「OK」をクリックします。
Javaメタデータがサーバーからロードされ、リポジトリにインポートするために使用できるようになります。

Oracle TimesTen In-Memory Databaseデータ・ソースの設定について

Oracle TimesTen In-Memory Databaseは、ODBCインタフェースとJDBCインタフェースの両方をサポートする、高性能なインメモリー・データ・マネージャです。

これらの事前構成手順は、Oracle TimesTenがすでにインストールされていることを想定しています。詳細は、Oracle Data Integratorを参照してください。

ノート:

TimesTenソース上に集計を作成する予定である場合は、そのインスタンスに対してPL/SQLが有効化されており、そのPL/SQLの最初の接続属性PLSQLが1に設定されていることも確認する必要があります。PL/SQLは、インストール時に有効にすることも、インストール後にttmodinstallユーティリティを実行して有効にすることもできます。詳細は、『TimesTen In-Memory Databaseリファレンス』を参照してください。

この項では、次の項目について説明します。

「Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化」を参照してください。

TimesTenデータ・ソースの構成

Oracle Business Intelligenceのデータ・ソースとして使用する前に、TimesTenを構成する必要があります。

  1. TimesTenがインストールされているコンピュータで、データ・マネージャDSNを(システムDSNとして)作成します。
  2. データ・ソースへの初期接続を実行してTimesTenデータベースをメモリーにロードし、ユーザーを作成して、権限を付与します。データ・ストアのデフォルト・ユーザーはインスタンス管理者、つまりデータベースをインストールしたオペレーティング・システム・ユーザーになります。
  3. Oracle BIサーバーを実行しているコンピュータに、TimesTenクライアントをインストールします。
  4. TimesTenクライアントがインストールされているコンピュータで、クライアントDSNを(システムDSN)として作成します。

TimesTenデータベースがTimesTenクライアントと同じコンピュータにインストールされている場合は、メタデータのインポート・ウィザードでデータ・マネージャDSNまたはクライアントDSNを指定できます。

TimesTenソースからデータをインポートした後、または手動でデータベース・オブジェクトおよび接続プールを設定するときに、「データベース」ダイアログの「一般」タブの「データベース」フィールドにデータベース・タイプとバージョンが正しく設定されていることを確認します。また、「接続プール」ダイアログの「一般」タブの「コール・インタフェース」フィールドが正しく設定されていることを確認することも必要です。次を参照してください。

Oracle Business Intelligenceに対してサポートされるTimesTenのバージョンについては、「システム要件と動作要件」を参照してください。

TimesTenデータ・ソースでのシステム・メモリー・リソースの使用の向上

システム・メモリー・リソースの使用を向上させるために、TimesTenサーバーの最大接続数を増やすことをお薦めします。

  1. TimesTen環境で、編集のためにttendaemon.optionsファイルを開きます。このファイルは次の場所にあります:

    install_dir\srv\info

  2. 次の行を追加します。
    -MaxConnsPerServer number_of_connections
    

    number_of_connectionsを求めるには、次の式を使用します。Oracle BIリポジトリに接続プールごとに接続がM個あり、Oracle BIリポジトリに接続プールがN個あり、Oracle BIサーバーがP台ある場合、必要な接続の総数はM * N * Pとなります。

  3. ファイルを保存して閉じます。
  4. TimesTenサーバーへの接続に使用しているODBC DSNで、Connectionsパラメータを、ステップ2で入力した値と同じ値に設定します。
    • Windowsでは、Windows ODBC データ ソース アドミニストレータからTimesTen ODBCセットアップ・ウィザードを開きます。「接続」パラメータは「最初の接続」タブにあります。

    • UNIXでは、odbc.INIファイルを開き、次のようにTimesTen DSNエントリにConnections属性を追加します。

      Connections=number_of_connections
      
  5. ttisqlプロセスやOracle BIサーバーなど、TimesTenに接続しているすべてのプロセスを停止します。
  6. TimesTenプロセスを停止します。
  7. TimesTenプロセスが停止されていることを確認した後、TimesTenプロセスを再開します。

ノート:

ロック・タイムアウトを回避するために、デプロイメントに合せて接続のLockWait間隔を調整することもできます。詳細は、TimesTen In-Memory Databaseのリファレンス・ガイドのLockWaitを参照してください。

WindowsのTimesTen DLLにアクセスするためのOBISの構成

OBISを起動するユーザーが、彼らのオペレーティング・システムのPATH変数にTimesTen DLL ($TIMESTEN_HOME\lib)へのパスを設定していない場合、obis.propertiesファイルの変数としてTimesTen DLLパスを追加する必要があります。

  1. 編集のためにobis.propertiesを開きます。obis.propertiesは、次の場所にあります。

    BI_DOMAIN\config\fmwconfig\bienv\obis

  2. 次の例のように、必要なTimesTen変数TIMESTEN_DLLを追加し、LD_LIBRARY_PATH変数も更新します。
    TIMESTEN_DLL=$TIMESTEN_HOME\lib\libttclient.so
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TIMESTEN_HOME\lib
    
  3. ファイルを保存して閉じます。
  4. OBIS1を再起動します。
  5. Oracle BIサーバー・プロセスを実行している各コンピュータで前述のステップを繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、obis.propertiesで各インスタンスについてias-componentタグを適切に更新してください(ias-component id="coreapplication_obis1"ias-component id="coreapplication_obis2"など)。

Essbaseデータ・ソースの設定について

Oracle BIサーバーは、Essbaseクライアント・ライブラリを使用して、Essbaseデータソースに接続します。

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

EPMシステム・インストーラでインストールしたEssbaseに対して共有トークンを使用する認証に使用する設定については、「Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成」を参照してください。

Cloudera Impalaデータ・ソースの設定について

これらのトピックでは、Windows ODBCドライバおよびCloudera Impalaメタデータについて説明します。

この項では、Cloudera Impalaデータ・ソースをOracle BIリポジトリで設定する方法について説明します。

Cloudera用のWindows ODBCドライバの取得

クライアント・インストールを実行した場合、Cloudera Impalaメタデータのインポートに必要となるWindows ODBCドライバはありません。

Oracle Business Intelligenceインストーラを使用してOracle BI管理ツールをインストールした場合、この手順を実行する必要はありません。

  1. ClouderaのWebサイトに移動します。
  2. 「Downloads」リンク、「Impala ODBC Drivers & Connectors」リンクの順にクリックします。
  3. 「Download」リストで、使用する管理ツール・プラットフォームで必要なODBCドライバを特定し、「Download Bits」をクリックしてインストーラをダウンロードします。
  4. ODBCドライバ・インストーラを実行して、ドライバをインストールします。

Windows ODBCを使用したCloudera Impalaメタデータのインポート

Cloudera Impalaは、Massively Parallel Processing (MPP) SQL問合せエンジンで、元々、Apache Hadoopで稼働しています。この手順を実行して、Cloudera ImpalaメタデータをOracle BIリポジトリにインポートします。

この手順を実行するためには、Windows ODBCドライバを準備する必要があります。管理ツールのクライアント・インストールがある場合、Cloudera用のWindows ODBCドライバの取得の手順に従い、必要なWindows ODBCドライバをインストールする必要があります。

  1. Windowsで、「ODBCデータ ソース アドミニストレータ」を検索して開きます。
  2. 「ODBC データ ソース アドミニストレータ」ダイアログで、「システム DSN」タブをクリックし、「追加」をクリックします。
  3. ドライバ・リストから、Cloudera Impalaドライバを検索して選択します。「終了」をクリックします。
  4. Impala DSN設定用のCloudera ODBCドライバで、これらのフィールドにImpalaインスタンスの接続の詳細を入力します。
    • 「データ ソース名」フィールドに、リポジトリで定義した接続プールに指定されているデータソース名を入力します。

    • 「ホスト」フィールドに、完全修飾ホスト名またはIPアドレスを入力します。

    • 「ポート」フィールドにポート番号を入力します。デフォルトは21050です。

    • 「データベース」フィールドで、データベースを指定します。通常、この値は「デフォルト」です。

  5. Cloudera Impalaドライバでデータ・ソースを設定している場合、「テスト」をクリックします。
  6. DataDirect Impalaドライバでデータ・ソースを設定している場合、「テスト接続」をクリックします。
  7. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。
  8. メタデータのインポート・ウィザードの「データ・ソースの選択」画面で、「接続タイプ」フィールドにODBC 3.5が表示されていることを確認します。
  9. Impala DSNを選択し、ユーザー名とパスワードを入力し、「次」をクリックします。
  10. 「メタデータ型の選択」画面で、「次」をクリックしてデフォルト値を受け入れます。
  11. 「メタデータ・オブジェクトの選択」画面で、「データソース・ビュー」リストからインポートするImpala表を選択し、>(選択項目をインポート)ボタンをクリックして、それらの表を「リポジトリ・ビュー」リストへ移動します。
  12. 「終了」をクリックします。
  13. 物理レイヤーのリポジトリで、Impalaデータベースをダブルクリックします。「データベース」ダイアログが表示されます。
  14. 「データベース・タイプ」フィールドから、Cloudera Impalaを選択し、「OK」をクリックします。
  15. 「保存」をクリックして、リポジトリを保存します。
  16. (オプション)必要に応じて、新しくインポートしたデータを、「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーでモデリングします。

Apache Hiveデータソースの設定について

これらのトピックでは、Windows ODBCドライバおよびApache Hiveについて説明します。

この項では、次の項目について説明します。

クライアント・インストールでのWindows ODBCドライバの取得

管理ツールのクライアント・インストールがある場合、Apache Hiveメタデータをインポートするために必要なWindows ODBCドライバはありません。

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

Oracle Business IntelligenceでのApache Hiveの使用上の制限

これらのトピックでは、Oracle Business IntelligenceでHadoopおよびHiveを使用する場合の制限事項について説明します。

この項では、次の項目について説明します。

日付に関するHiveの制限

Hiveデータ・ソースの場合、DATE型について制限事項があります。

HiveはTimestampデータ型をサポートします。リポジトリの物理レイヤーのタイムスタンプ列には、DATEまたはDATETIMEデータ型を使用します。

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

Hiveデータ・ソースの制限事項について学習します。

次に類似の問合せが原因で、Hiveがクラッシュすることがあります。

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

このような状況では、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 
範囲外の開始位置の値を示すLocate関数に対して例外をスローします

Locate関数の構文の使用方法について学習します。

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

LOCATE ( charexp1, charexp2, [, startpos] )

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

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

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

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

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

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

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

次の場合には、Hiveがクラッシュする可能性があります。

select substring(ProductName, 2) from Products 
Hiveでは表の作成をサポートしていません

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

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

Hiveデータ・ソースが失敗する可能性のある条件の例を示します。

次の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の副次句で組み合されている場合に特にその可能性が高くなります。

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

サブクエリー式が含まれている問合せは、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.0Floatとして扱われます。

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をサポートしていません

Hiveデータ・ソースでSELECTを使用する場合の制限事項について学習します。

次のような形の問合せは、Hiveでサポートされていません。

  • SELECT DISTINCT M, M  ... FROM TABX
    

Hyperion Financial Managementデータ・ソースの設定について

これらの必須のステップを使用して、Hyperion Financial Managementデータ・ソースを構成します。

Hyperion Financial Management 11.1.2.3.xまたは11.1.2.4.xは、ADMネイティブ・ドライバまたはADMシン・クライアント・ドライバを使用できます。LinuxおよびSolarisオペレーティング・システム上でADMシン・クライアント・ドライバをインストールおよび構成できます。

ノート:

Oracle BI EEでHyperion Financial Management 11.1.2.3.xおよび11.1.2.4.xデータ・ソースは、Oracle BI EEがWindows、SolarisまたはLinuxのデプロイメントで実行されている場合に使用できます。

Hyperion Financial Management ADMドライバには、ADMネイティブ・ドライバおよびADMシン・クライアント・ドライバが含まれます。WindowsおよびLinuxの両デプロイで、Enterprise Performance Managementコンフィギュレータを使用して、必ず構成を実行してください。

  • Windows構成およびLinux構成では、Hyperion Shared Servicesデータベースの詳細を指定し、FoundationサーバーおよびHyperion Financial Managementサーバーに登録します。

  • 構成中は、DCOM構成を必ず有効にしてください。

  • Windows用に構成をする場合、DCOMユーザー詳細ページで、Hyperion Financial Managementサーバーに接続するためのユーザーとしてドメイン・ユーザーを入力します。Linux用のADMシン・クライアント・ドライバを構成している場合は、このステップを実行する必要はありません。

さらに、Oracle Business Intelligence JavaHostプロセスを実行している各システムでobijh.propertiesファイルを編集し、Hyperion Financial Managementに必要な環境変数を追加する必要があります。

ノート:

オフライン・インポートについてもオンライン・インポートについても、Hyperion Financial Managementデータ・ソースからインポートするには、JavaHostプロセスが実行中である必要があります。管理ツールのクライアント・インストールがある場合は、JavaHostの構成ステップについて、「クライアント・インストールに対する追加のHyperion構成の実行」を参照してください。

重要:

obijh.propertiesファイルでEPMパスを構成する場合は、バックスラッシュ(\)ではなく常にスラッシュ(/)を使用する必要があります。

Windows上のEPMパスには、スラッシュが必要です。obijh.propertiesファイルでEPMパスを構成する場合、バックスラッシュは機能しません。

  1. obijh.propertiesは、次の場所にあります。

    ORACLE_HOME/bi/modules/oracle.bi.cam.obijh/env/obijh.properties

  2. 編集のためにobijh.propertiesファイルを開きます。

  3. OBIJH_ARGS変数に次の値を追加します。

    DEPM_ORACLE_HOME=C:/Oracle/Middleware/EPMSystem11R1 
    -DEPM_ORACLE_INSTANCE=C:/Oracle/Middleware/user_projects/epmsystem1 
    -DHFM_ADM_TRACE=2
  4. 次の変数をobijh.propertiesファイルの最後に追加します。

    EPM_ORACLE_HOME=C:/Oracle/Middleware/EPMSystem11R1

    EPM_ORACLE_INSTANCE=C:/Oracle/Middleware/user_projects/epmsystem1

  5. loaders.xmlファイルは次の場所にあります。

    ORACLE_HOME/bi/bifoundation/javahost/config/loaders.xml

  6. loaders.xmlファイルで、<!-- BI Server integration code -->を見つけます。

  7. <ClassPath>で、fm-adm-driver.jarfm-web-objectmodel.jarepm_j2se.jarおよびepm_hfm_web.jarファイルを次に示すフォーマットを使用して追加します。

    <ClassPath>
    {%EPM_ORACLE_HOME%}/common/hfm/11.1.2.0/lib/fm-adm-driver.jar;
    {%EPM_ORACLE_HOME%}/common/hfm/11.1.2.0/lib/fm-web-objectmodel.jar;
    {%EPM_ORACLE_HOME%}/common/jlib/11.1.2.0/epm_j2se.jar;
    {%EPM_ORACLE_HOME%}/common/jlib/11.1.2.0/epm_hfm_web.jar;
    </ClassPath>
  8. 保存してファイルを閉じます。

  9. ORACLE_HOME/bi/bifoundation/javahost/lib/obisintegration/admディレクトリに移動して、admintegration.jarおよびadmimport.jar以外のすべてのjarファイルを削除します。

  10. OBIS1を再起動します。

  11. Oracle Business Intelligence JavaHostプロセスを実行している各コンピュータでこれらのステップを繰り返します。

クライアント・インストールに対する追加のHyperion構成の実行

Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合は、Hyperion Financial Managementのデータ・ソースからオフライン・インポートを実行する前に追加の構成を実行する必要があります。

Hyperion Financial Managementデータ・ソースからオフライン・モードでインポートする場合、管理ツールは実行中のJavaHostの場所を指す必要があります。

この項のステップは、管理ツールのクライアント・インストールの場合にのみ必要です。

  1. 管理ツールを閉じます。
  2. 管理ツールと同じコンピュータ上で、テキスト・エディタを使用して、次の場所にあるNQSConfig.INIファイルを開きます。

    BI_DOMAIN\config\fmwconfig\biconfig\OBIS

  3. JAVAHOST_HOSTNAME_OR_IP_ADDRESSESパラメータを見つけます。
  4. 完全修飾ホスト名またはIPアドレスとポート番号を使用して、実行中のJavaHostを指すように、JAVAHOST_HOSTNAME_OR_IP_ADDRESSESを更新します。例:

    JAVAHOST_HOSTNAME_OR_IP_ADDRESSES = "myhost.example.com:9810"

    ノート:

    Oracle Business Intelligenceの(クライアントではない)フル・インストールでは、JAVAHOST_HOSTNAME_OR_IP_ADDRESSES設定はFusion Middleware Controlによって管理されるため、手動では編集できません。

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

SAP/BWデータ・ソースの設定

SAP/BWデータ・ソースに接続するには、XMLA接続タイプ、またはSAP BWネイティブ接続タイプ(BAPI)を使用します。

SAP BWネイティブ接続が、目的のプラットフォームで使用できることを確認する必要があります。

「システム要件と動作保証」を参照してください。

SAP BWネイティブ接続タイプを使用してSAP/BWデータ・ソースに接続するには、まず、OBIEE BAPI Adapter for SAPをダウンロードする必要があります。

ダウンロードに付属しているドキュメントに記載された構成手順を実行します。

XMLA経由でSAP/BWに接続する場合、事前構成ステップは必要ありません。

Oracle RPASデータ・ソースの設定

Oracle BIサーバーは、ODBC DSNを使用してOracle RPAS (Retail Predictive Application Server)データ・ソースに接続できます。

Oracle RPASデータ・ソースを設定するには、まず、Oracle RPAS ODBCドライバをインストールする必要があります。ODBC DSNの設定時には、SQLExtendedFetchオプションを選択し、認証方法リストからDBMSを選択して、ディメンション表の正規化リストからいいえを選択します。「Oracle RPASデータ・ソースからのメタデータのインポートについて」を参照してください。

Windowsシステムでは、初期インポートの場合にも、問合せ実行時のデータ・ソースへのアクセスの場合にもOracle RPASデータ・ソースに接続できます。UNIXシステムでは、Oracle RPASデータ・ソースに接続できるのはデータ・アクセスの場合のみです。

「AIX UNIXでのOracle RPAS ODBCデータソースの構成」を参照してください。

Teradataデータ・ソースの設定

ODBCを使用してTeradataデータ・ソースにアクセスできます。

「ODBCデータ・ソース名(DSN)の設定」を参照してください。

最新のTeradata ODBCドライバをインストールし、ODBC DSNを設定した後、Teradataデータ・ソースのlibディレクトリをWindowsシステムのパス環境変数に追加する必要があります。例:

C:\Program Files\Teradata\Client\15.00\ODBC Driver for Teradata nt-x8664\Lib

Oracle BIサーバーを実行している各コンピュータ上のobis.propertiesを編集して、必要なTeradata変数を含める必要があります。

  1. 次の場所にあるobis.propertiesを開きます。:

    BI_DOMAIN\config\fmwconfig\bienv\obis

  2. PATHLD_LIBRARY_PATHおよびLIBPATHで、次の例のように必要な変数情報を入力します。
    PATH=C:\Program Files\Teradata\Client\15.00\ODBC Driver for Teradatant-x8664\Lib;
    LD_LIBRARY_PATH=C:\Program Files\Teradata\Client\15.00\ODBC Driver forTeradata nt-x8664\Lib;
    LIBPATH=C:\Program Files\Teradata\Client\15.00\ODBC Driver for Teradatant-x8664\Lib; 
    

    ノート:

    Teradataクライアントをインストールするときにデフォルトの場所を使用する場合は、PATH変数が、Windowsによって適用される1024文字の制限を超える可能性があります。この問題を回避するには、短いパス名(C:\TDなど)のディレクトリにTeradataクライアントをインストールするか、短い8.3ファイル名(C:\Program Files\Teradata\Client\13.10\ODBC Driver for Teradata\BinのかわりにC:\PROGRA~1\Teradata\Client\13.10\ODBCDR~1\Binなど)を使用します。

    正しい8.3ファイル名を判別するには、該当するディレクトリからdir /xを実行します。例:

    C:\>dir /x
     Volume in drive C has no label.
     Volume Serial Number is 0000-XXXX
     Directory of C:\
    08/25/2008  03:36 PM   <DIR>    DATAEX~1    DataExplorer
    04/20/2007  01:38 PM   <DIR>                dell
    08/28/2010  10:49 AM   <DIR>    DOCUME~1    Documents and Settings
    07/28/2008  04:50 PM   <DIR>    ECLIPS~2    EclipseWorkspace
    09/07/2007  11:50 AM   <DIR>                Ora92
    09/07/2007  11:50 AM   <DIR>                oracle
    05/21/2009  05:15 PM   <DIR>                OracleBI
    05/21/2009  05:12 PM   <DIR>    ORACLE~1    OracleBIData
    03/02/2011  04:51 PM   <DIR>    PROGRA~1    Program Files
  3. ファイルを保存して閉じます。
  4. OBIS1を再起動します。
  5. Oracle BIサーバー・プロセスを実行している各コンピュータで前述のステップを繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、obis.propertiesで各インスタンスについてias-componentタグを適切に更新してください(ias-component id="coreapplication_obis1"ias-component id="coreapplication_obis2"など)。

Teradataデータ・ソースに対する問合せのスプール領域エラーの回避

Teradataに対する問合せでは、データ・ソースからスプール領域不足のエラーを受け取ることがあります。

このエラーは、「アンサー」の「フィルタ」ペインで「全選択項目」を選択した結果、DISTINCTの問合せに対して発生することがあります。

このエラーを回避するために、次の条件を満たすことによって、これらの問合せに対してDISTINCTではなくGROUP BYを使用するように、Oracle BIサーバーによって問合せがリライトされるようにすることができます。

  • プロジェクション・リストのディメンション列が1つのみ存在し、それが結合式ではなくターゲット列です。

  • 「アンサー」からの元の問合せがDISTINCTを要求しており、GROUP BY句が含まれていません。

  • FROM表が不透明なビューではなく実物理表です。

  • FROM表が導出表ではなくアトミック表です。

  • 次の比率が、しきい値未満です:

    (計画された列の個別数) / (FROM表の行数)

    この比率で使用される値はどちらもリポジトリ・メタデータから取得されます。これらの値を移入するには、次の両方のオブジェクトに対して管理ツール「行数の更新」をクリックします。

    • FROM物理表

    • 計画された列の物理列

    デフォルトでは、この比率のしきい値は0.15です。しきい値を変更するには、Oracle BIサーバー・コンピュータ上でSA_CHOICES_CNT_SPARSITYという環境変数を作成し、それを新しいしきい値に設定します。

Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化

Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートを有効にすることができます。

NUMERICデータ型のサポートが有効になっていると、Oracle DatabaseおよびTimesTenのデータ・ソースのNUMBER列がOracle Business IntelligenceでNUMERICとして扱われるため、精度が向上します。さらに、Oracle DatabaseおよびTimesTenのデータ・ソースのリテラルが、DOUBLEではなく、NUMERICとしてインスタンス化されます。

Oracle Business Intelligence Enterprise Edition論理SQLリファレンス・ガイドの数値リテラルに関する項を参照してください。

  1. NQSConfig.INIファイルで、ENABLE_NUMERIC_DATA_TYPEYESに設定します。このファイルは、BI_DOMAIN/config/fmwconfig/biconfig/OBISにあります。
  2. 物理レイヤーのデータベース・オブジェクトでNUMERIC_SUPPORTEDデータベース機能を有効にします。データベース機能の設定方法の詳細は、データ・ソースでサポートされるSQL機能の指定を参照してください。

その他のデータベース・タイプからの10進/数値データは、ENABLE_NUMERIC_DATA_TYPE パラメータがYESに設定されていると、DOUBLEとしてマップされます。

ENABLE_NUMERIC_DATA_TYPEの設定を変更する前にインポートした物理列のデータ型は、そのまま変更されることはありません。既存のDOUBLE物理列については、必要に応じて手動でデータ型をNUMBERに更新する必要があります。

NUMERICデータ型は、その他のNUMBERデータ型に変換します。また、その他のNUMBERデータ型はNUMERICデータ型に変換します。

NUMERICデータ型は、Oracle BI Server JDBCドライバを使用しているときには使用できません。

NUMERICデータ型を有効化すると、パフォーマンスのオーバーヘッドが増加することがあります。これは、NUMERICデータのほうがビット数が多いためです。

共有ログオンを使用するためのEssbaseの構成

すべてのEssbase接続プールには、共有ログオンが必要であり、デフォルトで有効になっています。

「接続プール・プロパティ」ダイアログの「一般」タブで、共有ログオン設定を無効にすることはできません。

Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成

EPMシステム・インストーラでインストールされたHyperion Financial ManagementまたはHyperion Planningをデータ・ソースとして使用するには、SSOと共有ログオンを構成します。

EPMシステム・インストーラでインストールされたHyperion Financial ManagementまたはHyperion PlanningをOracle BIサーバーのデータ・ソースとして使用する場合は、SSOトークン・オプションを共有ログオンとともに使用する必要があります。この場合、Oracle BIサーバーは、偽装を使用してHyperion Planningに接続します。共有ログオンで指定されたユーザー詳細がデータ・ソースへの接続に使用され、実行ユーザーは偽装ユーザーとなります。偽装ユーザーは、Hyperion Financial ManagementまたはHyperion Planningで使用されるアイデンティティ・ストアに存在している必要があります。

ノート:

Essbaseでは、CSSトークン・ベース認証はサポートされなくなりました。結果として、EssLoginAs認証を使用する場合、接続プールを更新する必要があります。EssLoginAS認証では、CSSトークン・ベース認証よりも向上した信頼性の高いパフォーマンスが提供され、接続プール内のEssbase管理者の共有ログオン資格証明を使用できます。

リレーショナル・データ・ソースからのメタデータのインポート

サポートされているリレーショナル・データ・ソース・タイプのメタデータをインポートするには、メタデータのインポート・ウィザードで該当する接続タイプを選択します。

メタデータをインポートするには、ローカル・コンピュータにすべてのデータベース接続を設定しておく必要があります。オフライン・モードとオンライン・モードのどちらでもメタデータをインポートできます。

「マルチディメンション・データ・ソースからのメタデータのインポート」「ADFデータ・ソースでの作業」を参照してください。

物理表をインポートする際には、作成したビジネス・モデルで使用する可能性があるデータを含む表のみにインポートを制限するよう注意してください。「検索」機能を使用すると、インポートする表を検索して選択することができます。無関係な表やその他のオブジェクトを多数インポートすると、不必要に複雑になるとともに、リポジトリのサイズが大きくなります。

ほとんどのデータ・ソースのメタデータをインポートする際、デフォルトでは、表、主キーおよび外部キーがインポートされます。物理レイヤーにキーが自動的に作成されるように、表とともに主キーと外部キーをインポートすることをお薦めします。キーをインポートしなかった場合、手動でキーを作成する必要があります。このプロセスには時間がかかる可能性があります。

データベース・ビュー、別名、シノニムおよびシステム表をインポートすることもできます。これらのオブジェクトをインポートするのは、Oracle BIサーバーでそれらに対する問合せを生成する場合のみにしてください。

メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、データベースの物理表の右クリック・メニューに「行数の更新」オプションが表示できなくなります。

他のデータ・ソース・タイプについては、別の項で説明します。

結合をインポートするには、「キー」と「外部キー」の両方を選択します。システム表をインポートするには、データ・ソースのシステム権限が必要です。カスタマ・リレーションシップ・マネジメント(CRM)表からインポートするには、「CRM表からのメタデータ」を選択します。

特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。

  1. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。
  2. 「データ・ソースの選択」画面の「接続タイプ」フィールドで、データ・ソースに適した接続のタイプ(ODBC 3.5など)を選択します。

    データ・ソースがOracle Databaseの場合は必ず、「OCI 10g/11g」を選択してください。Oracle Databaseへの接続プロトコルとしてOCIを使用すると、パフォーマンスが向上するとともに、ODBC経由では使用できないネイティブなデータベース機能にアクセスできます。

    ノート:

    Oracle Database以外については、日本語の表名や列名など、国際文字を含むスキーマをインポートする際にODBC 3.5またはDB2 CLI (Unicode)を使用することをお薦めします。

    「データ・ソースの選択」画面の残りのフィールドやオプションは、選択した接続タイプによって異なります。

    • ODBC 2.0およびODBC 3.5データ・ソースの場合は、「DSN」リストでスキーマをインポートするデータ・ソースを選択します。次に、データ・ソースの有効なユーザー名とパスワードを入力します。

    • OCI 10/11gおよびDB2 CLI (Unicode)データ・ソースについては、「データ・ソース名」フィールドにデータ・ソースの名前を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。

      Oracle Databaseデータ・ソースについては、データ・ソース名として接続文字列全体またはtnsnames.oraファイル内のネット・サービス名を入力できます。ネット・サービス名を入力する場合は、次でOracle BI EE環境内のtnsnames.oraファイルを設定していることを確認する必要があります。

      BI_DOMAIN/bidata/components/core/serviceinstances/ssi/oracledb

    「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。「メタデータ型の選択」画面が表示されます。

    インポートできなかったオブジェクトがある場合、警告メッセージのリストが表示されます。メッセージが表示されたダイアログで、次の処理を実行できます。

    • 特定の用語を検索するには、「検索」、「再検索」の順にクリックします。

    • 別のファイルにメッセージを貼り付けることができるようにウィンドウの内容をコピーするには、「コピー」をクリックします。

  3. 「表」「キー」および「外部キー」など、インポートするオブジェクト・タイプを選択します。
  4. 「次」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。
  5. インポートするオブジェクトを「使用可能」リストで選択し、「>」(選択項目をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して、「選択済」リストに移動します。
  6. (オプション)「完全な構造の表示」を選択して、すべてのオブジェクトを表示します。

    このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。

  7. 「終了」をクリックします。

メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時にOracle BIサーバーが正確なデータベース・タイプを特定できず、類似するタイプをデータベース・オブジェクトに割り当てることがまれにあります。「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。

物理列や物理表など、インポートしたデータを物理レイヤーで視覚的に調べて、インポートが正常に完了していることを確認します。

マルチディメンション・データ・ソースからのメタデータのインポート

マルチディメンション・データ・ソースからOracle BIリポジトリの物理レイヤーにメタデータをインポートできます。

マルチディメンション・データ・ソースを使用すると、Oracle BIサーバーは様々なソースからデータに接続し、抽出できます。

インポート・プロセスでは、マルチディメンション・データ・ソースの各キューブが1つの物理キューブ表として作成されます。Oracle BIサーバーでは、メトリック、ディメンション、階層などのキューブ・メタデータがインポートされます。キューブをインポートしたら、物理キューブ列に正しい集計ルールがあり、階層タイプが正しいことを確認する必要があります。「物理階層オブジェクトでの作業」を参照してください。

ノート:

マルチディメンション・データ・ソースから物理スキーマを手動で作成すると、多大な労力を要するうえ、エラーが発生しやすくなります。そのため、インポート手法を使用することを強くお薦めします。

ビジネス・モデルで階層や列を使用しない場合は、物理レイヤーから階層と列を削除することをお薦めします。管理ツールで不要なオブジェクトを保守する必要がなくなり、パフォーマンスが向上する可能性があります。

物理レイヤーでメタデータを既存のデータベースにインポートする場合は、「データベース・プロパティ」ダイアログの「機能」タブでCOUNT_STAR_SUPPORTEDオプションが選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、「行数の更新」オプションがデータベースの物理表の右クリック・メニューに表示されなくなります。

「マルチディメンション接続オプション」を参照してください。
  1. 管理ツールで、次のいずれかを実行します。
    • 「ファイル」「メタデータのインポート」の順に選択します。
    • 既存のデータベースから、「物理」レイヤーの接続プールを右クリックして、「メタデータのインポート」を選択します。
  2. 「データ・ソースの選択」画面の「接続タイプ」フィールドで、データ・ソースに適した接続のタイプを選択し、「次へ」をクリックします。
  3. 「メタデータ型の選択」(Oracle RPASデータ・ソースのみ)で、「表」「キー」および「外部キー」を選択し、「次」をクリックします。
  4. メタデータ・オブジェクトの選択」で、「使用可能」リストから「インポート」 >、または「すべてインポート」 >>を使用してインポートするオブジェクトを選択します。
  5. Essbaseデータ・ソースからユーザー定属属性をインポートする場合、「UDAのインポート」を選択します。
  6. 「終了」をクリックします。

インポートされなかったオブジェクトがあれば、警告メッセージのリストが表示されます。必要に応じて問題を解決します。

メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時にOracle BIサーバーが正確なデータベース・タイプを特定できず、類似するタイプをデータベース・オブジェクトに割り当てることがまれにあります。「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。

物理列や物階層レベルなど、物理レイヤーでインポートしたデータを視覚的に調べて、インポートが正常に完了したことを確認してください。

Essbaseデータ・ソースの場合、デフォルトですべての階層が「非バランス型」としてインポートされます。物理階層ごとに「階層タイプ」プロパティを確認し、必要に応じて値を変更してください。Essbaseでサポートされている階層タイプは、「非バランス型」、「完全なバランス型」および「」です。

マルチディメンション・データ・ソース接続オプション

マルチディメンション・データ・ソースをリポジトリにインポートするときにOracle BI管理ツールでは、メタデータのインポート・ウィザードの「データ・ソースの選択」ページでこれらの接続タイプを使用できます。

ODBC 3.5

ODBC 3.5接続タイプは、Oracle RPASデータ・ソースに使用します。DSNエントリを選択し、選択したデータ・ソースのユーザー名とパスワードを入力します。「ODBCデータ・ソース名(DSN)の設定」を参照してください。

Essbase 9+

Essbase 9またはEssbase 11データ・ソースにEssbase 9+の接続タイプを使用します。「Essbase Server」フィールドに、Essbaseサーバーを実行しているコンピュータのホスト名を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。この情報は、データ・ソース管理者から入手してください。

Essbase Serverがデフォルト以外のポートまたはクラスタで実行されている場合、Essbase Serverフィールドにポート番号をhostname:port_numberとして含めます。「Essbaseデータ・ソースでの作業」を参照してください。

XMLA

XMLA接続タイプは、Microsoft Analysis ServicesおよびSAP/BWに使用します。スキーマのインポート元のデータ・ソースのURLを入力します。「プロバイダ・タイプ」(Analysis Services 2000やSAP/BW 3.5/7.0など)と、データ・ソースの有効なユーザー名およびパスワードを指定する必要があります。

新しいまたは既存のターゲット・データベースを使用できます。

Oracle OLAP

「データ・ソース名」フィールドにネット・サービス名、およびデータ・ソースの有効なユーザー名とパスワードを指定します。データ・ソース名は、Oracle Business Intelligence環境内のtnsnames.oraファイルに作成したエントリと同じです。ネット・サービス名のかわりに、接続文字列全体を入力することもできます。

biadminservletのURLを指定します。サーブレット名はservicesです。たとえば、次のようになります。

http://localhost:9704/biadminservlet/services

biadminservletは、使用前に開始しておく必要があります。インポート・エラーを受信した場合、管理コンソールでサーブレットのステータスをチェックします。管理サーバーの診断ログおよびドメイン・ログをチェックすることもできます。

「Oracle OLAPデータ・ソースでの作業」を参照してください。

Oracle Databaseデータ・ソースのデータ・ソースとOLAP接続タイプを使用できます。データ・ソースには、リレーショナル表とマルチディメンション表の両方を含めることができます。表タイプごとに異なるデータベース機能セットを指定する必要がある場合があるため、マルチディメンション表とリレーショナル表は同じデータベース・オブジェクトに置かないでください。

たとえば、データベース機能GROUP_BY_GROUPING_SETS_SUPPORTEDが有効な場合、Oracle OLAP問合せは失敗します。ただし、GROUP_BY_GROUPING_SETS_SUPPORTEDをOracle Databaseリレーショナル表で有効にする必要がある場合があります。

リレーショナル表とマルチディメンション表に1つずつ、2つの異なるデータベース・オブジェクトを作成する必要があります。

Hyperion ADM

Hyperion Financial ManagementまたはHyperion PlanningサーバーのURLを指定します。

ADMネイティブ・ドライバを使用するHyperion Financial Management 11.1.2.1および11.1.2.2では、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。

adm:native:HsvADMDriver:ip_or_host:application_name

例:

adm:native:HsvADMDriver:192.0.2.254:UCFHFM

ADMシン・クライアント・ドライバを使用するHyperion Financial Management 11.1.2.3および11.1.2.4では、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。

adm:thin:com.hyperion.ap.hsp.HspAdmDriver:ip_or_host:port:application_name

例:

adm:thin:com.hyperion.ap.hsp.HspAdmDriver:192.0.2.254:8300:UCFHP

Hyperion Planning 11.1.2.4以上の場合、インストーラはすべての必要なクライアント・ドライバ.jarファイルを配信しません。すべての必要な.jarファイルがあることを確認するには、Hyperionのインスタンスに移動し、adm.jarap.jar、およびHspAdm.jarファイルを検索してコピーし、MIDDLEWARE_HOME\oracle_common\modulesに貼り付けます。

ADMシン・クライアント・ドライバを使用するHyperion Planning 11.1.2.4以上では、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。

adm:thin:com.oracle.hfm.HsvADMDriver:server:application_name?locale=en_US

また、使用するデータ・ソースについて、プロバイダ・タイプを選択して、有効なユーザー名およびパスワードを入力します。

メタデータをインポートする前に、オンラインとオフラインの両方のJavaHostプロセスを開始します。

「Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースでの作業」を参照してください。

インポート前に、「Hyperion Financial Managementデータ・ソースの設定について」に記載されている事前構成ステップを確認して完了してください。

SAP BWネイティブ

SAP BWネイティブ接続タイプには次の情報が必要です。

  • システムIPまたはホスト名: SAPデータ・サーバーのホスト名またはIPアドレス。このフィールドは、SAP/BW接続文字列のパラメータashostに対応します。

  • システム番号: SAPシステム番号。これは、Web Application Server (WAS)とも呼ばれるSAPインスタンスに割り当てられた2桁の番号です。このフィールドは、SAP/BW接続文字列のパラメータsysnrに対応します。

  • クライアント番号: SAPクライアント番号。これは、SAPでクライアントと呼ばれる自己完結型の単位に割り当てられた3桁の番号です。クライアントは、トレーニング、開発、テスト、本番クライアントなどです。また、大企業の個々の部門を表す場合もあります。このフィールドは、SAP/BW接続文字列のパラメータclientに対応します。

  • 「言語」で、データ・ソースへのログイン時に使用されるSAP言語コード(例: 英語の場合はEN、ドイツ語の場合はDE)を指定します。「言語」フィールドは、SAP/BW接続文字列のパラメータlangの値に対応します。

  • 接続文字列の追加パラメータを指定する場合、param=value形式を使用します。複数のパラメータを指定する場合はコロンで区切ります。

  • 有効な「ユーザー名」(データ・ソースの有効なユーザー名とパスワード)を指定します。

最初の5つのフィールドは、SAP/BW接続文字列の要素を構成します。形式は次のとおりです。

ashost=value:sysnr=value:client=value:lang=value:
additional_param=value

例:

ashost=10.30.0.19:sysnr=00:client=100:lang=EN

Oracle RPASデータ・ソースからのメタデータのインポートについて

Oracle BI管理を使用したOracle RPASからのメタデータのインポートについて学習します。

管理ツールを使用して、Oracle RPASからメタデータをインポートする場合:

  • Oracle RPASスキーマはWindowsでのみインポートできます。

  • RPASスキーマをインポートする前に、ODBC DSNセットアップ・ページのディメンション表の正規化フィールドの値をはいに設定する必要があります。理由は次のとおりです。

    • この値をはいに設定すると、適切なスキーマ・モデル(スノーフレーク・スキーマ)が使用されて、結合が正しく作成され、データのドリルダウンが可能になります。

    • この値を「いいえ」に設定すると、すべての表の間で結合が作成されるスター・スキーマ・モデルが使用され、正しくないドリルダウンの原因になります。スター・スキーマで作成される結合の多くは不必要です。不要な結合は手動で削除してください。

    「ODBCデータ・ソース名(DSN)の設定」を参照してください。

  • 管理ツールにRPASスキーマをインポートする場合は、データとともに結合をインポートする必要があります。そのためには、メタデータのインポート・ウィザードでメタデータ型として「キー」および「外部キー」を選択します。

  • RPASスキーマをインポートしたら、ODBC DSNセットアップ・ページのディメンション表の正規化フィールドの値をいいえに変更してください。Oracle BIサーバーでRPASドライバに対する最適化されたSQLが正しく生成されるようにするには、インポート後にこの設定を「いいえ」に戻す必要があります。

    ディメンション表の正規化の設定値を「いいえ」に変更しない場合、ほとんどの問合せは失敗し、次のようなエラー・メッセージが表示されます。

    [nQSError: 16001] ODBC error state: S0022 code: 0 message: [Oracle Retail][RPAS 
    ODBC]Column:YEAR_LABEL not found..[nQSError: 16014] SQL statement preparation 
    failed. Statement execute failed.
    
  • Oracle RPASが唯一のデータ・ソースである場合は、NQSConfig.INIファイルでNULL_VALUES_SORT_FIRSTの値をONに設定する必要があります。NQSConfig.INIでの値の設定については、『Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。

Oracle RPASデータ・ソースからのメタデータのインポート後に、スキーマのデータベース・オブジェクトが自動的に作成されます。RPASのバージョンに応じて、「データベース」プロパティでデータ・ソース定義を調整することが必要になることがあります。

RPASが「データ・ソース定義」の「データベース」フィールドで指定されていて、RPASのバージョンが1.2.2以前である場合、Oracle BIサーバーでは、SQLが生成されてデータベースに送信されるときに、集計ナビゲーションが実行されます。生成済SQLで使用される表名は自動的に生成されるため、生成済SQLとデータベース表名との間で不一致が生じる可能性があります。SQLを実行可能にするには、次のように処理する必要があります。

  • メタデータにリストされた表の名前を変更して、生成された名前が正しくなるようにします。

  • 生成された名前と同じ名前の表をデータベースに作成します。

データベースに同じ名前の表がなかったり、標準の集計ナビゲーションをOracle Business Intelligence内に入れる場合には、「データ・ソース定義」の「データベース」フィールドをRPASからODBC Basicに変更する必要があります。「物理レイヤーにおけるデータベース・オブジェクトの手動作成」を参照してください。

XMLデータ・ソースからのメタデータのインポートについて

Extensible Markup Language (XML)ドキュメントからメタデータをインポートする方法を学習します。

この項では、次の項目について説明します。

データ・ソースとしてのXMLの使用について

Oracle BIサーバーでは、リポジトリの物理レイヤーのデータ・ソースとしてXMLデータ・ソースを使用できます。

XMLデータ・ソースへのアクセスに使用する方法に応じて、URLがデータ・ソースを表す場合があります。

データ・ソースは、次のとおりです。

  • イントラネットやエクストラネットを含めたインターネット上のXMLデータ・アイランドが格納された、静的なXMLファイルまたはHTMLファイル。例:

    tap://216.217.17.176/[DE0A48DE-1C3E-11D4-97C9-00105AA70303].XML

  • サーバー・サイトから生成される動的XML。例:

    tap://www.aspserver.com/example.asp

  • XMLデータ・アイランドが格納された、ローカル・ドライブまたはネットワーク・ドライブ上のXMLファイルまたはHTMLファイル。例:

    d:\xmldir\example.xml

    d:\htmldir\island.htm

    ローカルまたはネットワークXMLファイルのディレクトリ・パスを指定することも、ファイル名でワイルドカードとしてアスタリスク( * )を使用することもできます。ファイル名を指定せずにディレクトリ・パスを指定した場合(例: d:/xmldir)、XML拡張子を持つすべてのファイルがインポートされます。例:

    d:\xmldir\

    d:\xmldir\exam*.xml

    d:\htmldir\exam*.htm

    d:\htmldir\exam*.html

  • 開始および終了の<table>および</table>タグにラップされた表を含むHTMLファイル。HTMLファイルは、インターネット上(イントラネットやエクストラネットなど)にある場合もあれば、ローカル・ドライブまたはネットワーク・ドライブにある場合もあります。「データ・ソースとしてのHTML表の使用について」を参照してください。

URLにリポジトリ変数またはセッション変数を含めると、URLに埋め込まれたユーザーIDおよびパスワードを許可するHTTPデータ・ソースがサポートされます。例:

http://somewebserver/cgi.pl?userid=valueof(session_variable1)&password=
valueof(session_variable2)

この機能では、いくつかのランタイム・パラメータで動的に決定された場所を使用してXMLデータ・ソースを作成することもできます。「Oracle BI Repositoryでの変数の使用」を参照してください。

Oracle BIサーバーがローカル以外のファイル(ネットワーク・ファイルやインターネット上のファイルなど)にアクセスする必要がある場合は、それらのリモート・ファイルにアクセスするための十分なネットワーク権限がある、有効なユーザーIDとパスワードを使用してOracle BIサーバーを実行する必要があります。

XML Gatewayを使用したXMLデータ・ソースからのメタデータのインポート

Oracle BIサーバーXML Gatewayを使用すると、メタデータのインポート・プロセスでXMLドキュメントが表の形にフラット化され、表名の語幹を使用するXMLファイル名が作成されます。XMLドキュメントの第2レベルの要素は、行デリミタとして設定されます。

語幹は、接尾辞のないファイル名です。すべてのリーフ・ノードは表の列としてインポートされます。リーフ・ノードへの階層アクセス・パスもインポートされます。

Oracle BIサーバーXML Gatewayでは、XMLスキーマに格納されたメタデータ情報が使用されます。XMLスキーマはXMLドキュメント内に含まれているか、XMLドキュメントのルート要素内で参照されます。

スキーマが使用可能でない場合は、すべてのXMLデータがテキスト・データとしてインポートされます。リポジトリの作成時に、物理レイヤーの列のデータ型を変更して、スキーマで定義されている対応する列のデータ型を上書きできます。ゲートウェイによって、入力データが物理レイヤーで指定した型に変換されます。CAST演算子を使用して、管理ツールのビジネス・モデルとマッピング・レイヤーでテキスト・データ型を他のデータ型にマップすることもできます。

Oracle BIサーバーXML Gatewayでは、次の項目はサポートされません。

メタデータを物理レイヤーで既存のデータベースにインポートする場合は、「データベース・プロパティ」ダイアログでCOUNT_STAR_SUPPORTEDオプションが選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、「行数の更新」オプションがデータベースの物理表の右クリック・メニューに表示されません。

「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、ADFデータ・ソースでのみ使用することができます。

XMLデータ・ソースのURLにはリポジトリ変数またはセッション変数を含めることができます。XMLデータ・ソースを参照する場合、単一のファイルを選択できます。XMLドキュメントの場合は、URLでファイル名の一部として接尾辞.xmlを指定する必要があります。xml接尾辞を指定しないと、ドキュメントはHTMLドキュメントとして扱われます。

HTTP基本認証セキュリティ・モードを採用しているHTTPサイトへの接続に使用するオプションのユーザー名とパスワードを入力できます。Oracle BIサーバーXML Gatewayでは、セキュアHTTPプロトコル、および以前はNTLMまたはWindows NTチャレンジ/レスポンス認証と呼ばれていた統合Windows認証(Windows 2000の場合)もサポートされます。

「Oracle BI Repositoryでの変数の使用」を参照してください。

  1. 管理ツールで、次のいずれかを実行します。
    1. 「ファイル」「メタデータのインポート」の順に選択します。
    2. 既存のデータベースと接続プールの場合は、「物理」レイヤーで接続プールを右クリックして、「メタデータのインポート」を選択します。
  2. 「メタデータのインポート - データ・ソースの選択」で、「接続タイプ」リストから「XML」を選択します。
  3. 「URL」で、XMLデータ・ソースのURLを指定します。
  4. 「データ・ソースの選択」で、「次」をクリックします。画面が表示されます。
  5. 「メタデータ型の選択」で、インポートするオブジェクトのタイプに対応するオプション(「表」「キー」「外部キー」など)を選択します。

    結合をインポートするには、「キー」と「外部キー」の両方を選択します。システム表をインポートするには、データ・ソースのシステム権限が必要です。

  6. 「次」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。
  7. インポートするオブジェクトを「使用可能」リストで選択し、「>」 (選択項目をインポート)ボタンまたは「>>」 (すべてインポート)ボタンを使用して「選択済」リストに移動します。
  8. 「終了」をクリックします。

XMLデータをインポートしたら、接続プールの設定を調整する必要があります。「接続プールの作成または変更」を参照してください。次の操作を実行できます。

  • 「接続プール」ダイアログの「一般」タブで、接続の名前および説明(オプション)を入力します。

  • 「XML」タブをクリックして、URLリフレッシュ間隔や、タイムアウトするまでのURLのロードの待ち時間など、その他の接続プロパティを設定します。

    XMLデータ・ソースはリアルタイムで頻繁に更新されるため、Oracle BIサーバーXML Gatewayデータ・ソースのリフレッシュ間隔を指定できます。デフォルトの問合せのタイムアウト間隔(URLのロードのタイムアウト)は15分です。『Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のXMLデータ・ソースのリフレッシュ間隔に関する項を参照してください。

Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントの例

これらの例は、Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントのサンプルおよび対応する列を示しています。

外部ファイルに格納されたXMLスキーマ

次のサンプルXMLデータ・ドキュメント(mytest.xml)は、外部ファイルに格納されたXMLスキーマを参照します。スキーマ・ファイルは、データ・ドキュメントの後に示します。これによって生成される、リポジトリにインポート可能なXMLスキーマ情報は最後に示します。

<?xml version="1.0"?>
<test xmlns="x-schema:mytest_sch.xml">

<row>
<p1>0</p1>
<p2 width="5">
      <p3>hi</p3>
      <p4>
         <p6>xx0</p6>
         <p7>yy0</p7>
      </p4>
      <p5>zz0</p5>
</p2>
</row>

<row>
<p1>1</p1>
<p2 width="6">
      <p3>how are you</p3>
      <p4>
         <p6>xx1</p6>
         <p7>yy1</p7>
      </p4>
      <p5>zz1</p5>
</p2>
</row>

<row>
<p1>a</p1>
<p2 width="7">
      <p3>hi</p3>
      <p4>
         <p6>xx2</p6>
         <p7>yy2</p7>
      </p4>
      <p5>zz2</p5>
</p2>
</row>

<row>
<p1>b</p1>
<p2 width="8">
      <p3>how are they</p3>
      <p4>
         <p6>xx3</p6>
         <p7>yy3</p7>
      </p4>
      <p5>zz2</p5>
</p2>
</row>
</test>

対応するスキーマ・ファイルは次のとおりです。

<Schema xmlns="urn:schemas-microsoft-com:xml-data"
      xmlns:dt="urn:schemas-microsoft-com:datatypes">
      <ElementType name="test" content="eltOnly" order="many">
         <element type="row"/>
      </ElementType>
      <ElementType name="row" content="eltOnly" order="many">
      <element type="p1"/>
         <element type="p2"/>
      </ElementType>
      <ElementType name="p2" content="eltOnly" order="many">
         <AttributeType name="width" dt:type="int" />
         <attribute type="width" />
         <element type="p3"/>
         <element type="p4"/>
         <element type="p5"/>
      </ElementType>
      <ElementType name="p4" content="eltOnly" order="many">
         <element type="p6"/>
         <element type="p7"/>
      </ElementType>
      <ElementType name="p1" content="textOnly" dt:type="string"/>
      <ElementType name="p3" content="textOnly" dt:type="string"/>
      <ElementType name="p5" content="textOnly" dt:type="string"/>
      <ElementType name="p6" content="textOnly" dt:type="string"/>
      <ElementType name="p7" content="textOnly" dt:type="string"/>
</Schema>

前述のXMLデータ・ドキュメント(mytest.xml)から生成される表の名前はmytest、列名はp1p3p6p7p5およびwidthとなります。

さらに、各列がドキュメントに出現するコンテキストを保持し、XML要素から派生した、異なるコンテキストで出現する同名の列を区別するために、World Wide Web ConsortiumのXPathに関する勧告に基づいて、列の完全修飾名の次のようなリストが生成されます。

//test/row/p1
//test/row/p2/p3
//test/row/p2/p4/p6
//test/row/p2/p4/p7
//test/row/p2/p5
//test/row/p2@width

XMLドキュメント内のネストされた表構造

次の例はさらに複雑なサンプルで、XMLドキュメントでネストされた表構造を使用する方法を示します。外部スキーマ・ファイルへの参照を省略でき、その場合はすべての要素がVarchar文字型として処理されます。

===Invoice.xml===
<INVOICE>
   <CUSTOMER>
      <CUST_ID>1</CUST_ID>
      <FIRST_NAME>Nancy</FIRST_NAME>
      <LAST_NAME>Fuller</LAST_NAME>
      <ADDRESS>
         <ADD1>507 - 20th Ave. E.,</ADD1>
         <ADD2>Apt. 2A</ADD2>
         <CITY>Seattle</CITY>
         <STATE>WA</STATE>
         <ZIP>98122</ZIP>
      </ADDRESS>
      <PRODUCTS>
           <CATEGORY>
              <CATEGORY_ID>CAT1</CATEGORY_ID>
              <CATEGORY_NAME>NAME1</CATEGORY_NAME>
              <ITEMS>    
                  <ITEM>   
                     <ITEM_ID>1</ITEM_ID>
                     <NAME></NAME>
                     <PRICE>0.50</PRICE>
                     <QTY>2000</QTY>
                  </ITEM>   
                  <ITEM>   
                     <ITEM_ID>2</ITEM_ID>
                     <NAME>SPRITE</NAME>
                     <PRICE>0.30</PRICE>
                     <QTY></QTY>
                  </ITEM>   
              </ITEMS>    
         </CATEGORY>
           <CATEGORY>
              <CATEGORY_ID>CAT2</CATEGORY_ID>
              <CATEGORY_NAME>NAME2</CATEGORY_NAME>
              <ITEMS>    
                  <ITEM>   
                     <ITEM_ID>11</ITEM_ID>
                     <NAME>ACOKE</NAME>
                     <PRICE>1.50</PRICE>
                     <QTY>3000</QTY>
                  </ITEM>   
                  <ITEM>   
                     <ITEM_ID>12</ITEM_ID>
                     <NAME>SOME SPRITE</NAME>
                     <PRICE>3.30</PRICE>
                     <QTY>2000</QTY>
                  </ITEM>   
              </ITEMS>    
         </CATEGORY>
      </PRODUCTS>
   </CUSTOMER>
   <CUSTOMER>
      <CUST_ID>2</CUST_ID>
      <FIRST_NAME>Andrew</FIRST_NAME>
      <LAST_NAME>Carnegie</LAST_NAME>
      <ADDRESS>
         <ADD1>2955 Campus Dr.</ADD1>
         <ADD2>Ste. 300</ADD2>
         <CITY>San Mateo</CITY>
         <STATE>CA</STATE>
         <ZIP>94403</ZIP>
      </ADDRESS>
      <PRODUCTS>
           <CATEGORY>
              <CATEGORY_ID>CAT22</CATEGORY_ID>
              <CATEGORY_NAME>NAMEA1</CATEGORY_NAME>
              <ITEMS>    
                  <ITEM>   
                     <ITEM_ID>122</ITEM_ID>
                     <NAME>DDDCOKE</NAME>
                     <PRICE>11.50</PRICE>
                     <QTY>2</QTY>
                  </ITEM>   
                  <ITEM>   
                     <ITEM_ID>22</ITEM_ID>
                     <NAME>PSPRITE</NAME>
                     <PRICE>9.30</PRICE>
                     <QTY>1978</QTY>
                  </ITEM>   
              </ITEMS>    
         </CATEGORY>
           <CATEGORY>
              <CATEGORY_ID>CAT24</CATEGORY_ID>
              <CATEGORY_NAME>NAMEA2</CATEGORY_NAME>
              <ITEMS>    
                  <ITEM>   
                     <ITEM_ID>19</ITEM_ID>
                     <NAME>SOME COKE</NAME>
                     <PRICE>1.58</PRICE>
                     <QTY>3</QTY>
                  </ITEM>   
                  <ITEM>   
                     <ITEM_ID>15</ITEM_ID>
                     <NAME>DIET SPRITE</NAME>
                     <PRICE>9.30</PRICE>
                     <QTY>12000</QTY>
                  </ITEM>   
              </ITEMS>    
         </CATEGORY>
      </PRODUCTS>
   </CUSTOMER>
   <CUSTOMER>
      <CUST_ID>3</CUST_ID>
      <FIRST_NAME>Margaret</FIRST_NAME>
      <LAST_NAME>Leverling</LAST_NAME>
      <ADDRESS>
         <ADD1>722 Moss Bay Blvd.</ADD1>
         <ADD2> </ADD2>
         <CITY>Kirkland</CITY>
         <STATE>WA</STATE>
         <ZIP>98033</ZIP>
      </ADDRESS>
      <PRODUCTS>
           <CATEGORY>
              <CATEGORY_ID>CAT31</CATEGORY_ID>
              <CATEGORY_NAME>NAMEA3</CATEGORY_NAME>
              <ITEMS>    
                  <ITEM>   
                     <ITEM_ID>13</ITEM_ID>
                     <NAME>COKE33</NAME>
                     <PRICE>30.50</PRICE>
                     <QTY>20033</QTY>
                  </ITEM>   
                  <ITEM>   
                     <ITEM_ID>23</ITEM_ID>
                     <NAME>SPRITE33</NAME>
                     <PRICE>0.38</PRICE>
                     <QTY>20099</QTY>
                  </ITEM>   
              </ITEMS>    
         </CATEGORY>
           <CATEGORY>
              <CATEGORY_ID>CAT288</CATEGORY_ID>
              <CATEGORY_NAME>NAME H</CATEGORY_NAME>
              <ITEMS>    
                  <ITEM>   
                     <ITEM_ID>19</ITEM_ID>
                     <NAME>COLA</NAME>
                     <PRICE>1.0</PRICE>
                     <QTY>3</QTY>
                  </ITEM>   
                  <ITEM>   
                     <ITEM_ID>18</ITEM_ID>
                     <NAME>MY SPRITE</NAME>
                     <PRICE>8.30</PRICE>
                     <QTY>123</QTY>
                  </ITEM>   
              </ITEMS>    
         </CATEGORY>
      </PRODUCTS>
   </CUSTOMER>
</INVOICE>

生成されるXMLスキーマは、次の列名および対応する完全修飾名を持つ1つの表(INVOICE)で構成されます。

完全修飾名

ADD1

//INVOICE/CUSTOMER/ADDRESS/ADD1

ADD2

//INVOICE/CUSTOMER/ADDRESS/ADD2

CITY

//INVOICE/CUSTOMER/ADDRESS/CITY

STATE

//INVOICE/CUSTOMER/ADDRESS/STATE

ZIP

//INVOICE/CUSTOMER/ADDRESS/ZIP

CUST_ID

//INVOICE/CUSTOMER/CUST_ID

FIRST_NAME

//INVOICE/CUSTOMER/FIRST_NAME

LAST_NAME

//INVOICE/CUSTOMER/LAST_NAME

CATEGORY_ID

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/CATEGORY_ID

CATEGORY_NAME

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/CATEGORY_NAME

ITEM_ID

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/ITEM_ID

NAME

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/NAME

PRICE

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/PRICE

QTY

//INVOICE/CUSTOMER/PRODUCTS/CATEGORY/ITEMS/ITEM/QTY

値を持つタグのみが列として抽出されます。XML問合せではタグの完全修飾名が生成されるため、適切な列が取得されていることを確認できます。

次に、INVOICE表に対するサンプル問合せの結果を示します。

SELECT first_name, last_name, price, qty, name FROM invoice
------------------------------------------------------------
FIRST_NAME  LAST_NAME         PRICE   QTY    NAME
------------------------------------------------------------
Andrew      Carnegie           1.58     3    SOME COKE
Andrew      Carnegie          11.50     2    DDDCOKE
Andrew      Carnegie           9.30   12000  DIET SPRITE
Andrew      Carnegie           9.30    1978  PSPRITE
Margar      Leverling          0.38   20099  SPRITE33
Margar      Leverling          1.0      3    COLA
Margar      Leverling         30.50   20033  COKE33
Margar      Leverling          8.30    123   MY SPRITE
Nancy       Fuller             0.30          SPRITE
Nancy       Fuller             0.50    2000
Nancy       Fuller             1.50    3000  ACOKE
Nancy       Fuller             3.30    2000  SOME SPRITE
------------------------------------------------------------
Row count: 12

データ・ソースとしてのHTML表の使用について

Oracle BIサーバーXML Gatewayでは、HTMLファイル内の表をデータ・ソースとして使用することもできます。HTMLファイルは、インターネット(イントラネットやエクストラネットを含む)にあるファイルを指すURLとして指定することも、ローカル・ドライブまたはネットワーク・ドライブにあるファイルとして指定することもできます。

<table>タグと</table>タグのペアで定義される表がHTML 4.0仕様のネイティブな構成メンバーであっても、Webデザイナは多くの場合、これをデータ構造としてではなく、特定の視覚効果を達成するための一般的なフォーマット方法として使用します。Oracle BIサーバーXML Gatewayは、 <th>タグと</th>タグのペアで定義された、特定の列ヘッダーを含む表を現時点で最も効果的に抽出します。

特定の列ヘッダーを含まない表については、Oracle BIサーバーXML Gatewayは、単純な経験則をいくつか採用して、実際のデータ表であると思われるHTMLファイルの部分をできるだけ正しく特定します。

次に、1つの表を含むサンプルHTMLファイルを示します。

<html>
   <body>
      <table border=1 cellpadding=2 cellspacing=0>
         <tr>
            <th colspan=1>Transaction</th>
            <th colspan=2>Measurements</th>
         </tr>
         <tr>
            <th>Quality</th>
            <th>Count</th>
            <th>Percent</th>
         </tr>
         <tr>
            <td>Failed</td>
            <td>66,672</td>
            <td>4.1%</td>
         </tr>
         <tr>
            <td>Poor</td>
            <td>126,304</td>
            <td>7.7%</td>
         </tr>
         <tr>
            <td>Warning</td>
            <td>355,728</td>
            <td>21.6%</td>
         </tr>
         <tr>
            <td>OK</td>
            <td>1,095,056</td>
            <td>66.6%</td>
         </tr>
         <tr>
            <td colspan=1>Grand Total</td>
            <td>1,643,760</td>
            <td>100.0%</td>
         </tr>
      </table>
   </body>
</html>

表名はHTMLファイルの名前から導出され、列名を形成するには、対応する列に対して<th>タグと</th>タグのペアで定義されるヘッダーをアンダースコアで区切って連結します。

サンプル・ファイルの名前を18.htmとすると、その表名には18_0が含まれ(そのHTMLファイルの最初の表であるため)、列名および対応する完全修飾名は次のようになります。

完全修飾名

Transaction_Quality

\\18_0\Transaction_Quality

Measurements_Count

\\18_0\Measurements_Count

Measurements_Percent

\\18_0\Measurements_Percent

表の列ヘッダーが複数の行に出現する場合は、それらのヘッダー行の対応するフィールド・コンテンツを連結することにより列名が形成されます。

ヘッダー・タグのペアがない表の場合、Oracle BIサーバーXML Gatewayは、最初の行のフィールド値(<td>タグと</td>タグのペアで区切られたもの)が列名になると見なします。列には、出現する順に名前が付けられます(例: c0、c1、c2)。

「XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート」および「XMLドキュメントの例」を参照してください。

XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート

ODBCを使用してメタデータをインポートする方法を学習します。

XML ODBCデータベース・タイプを使用すると、ODBCインタフェースを介してXMLデータ・ソースにアクセスできます。物理表の物理列を表すXML要素のデータ型は、XMLスキーマで定義されたXML要素のデータ型から派生します。

適切なXMLスキーマがない場合は、デフォルトの文字列データ型が使用されます。物理レイヤーにおけるデータ型の設定によって、XMLデータ・ソースで定義されたデータ型が上書きされることはありません。XMLスキーマがないXMLデータにアクセスする場合は、CAST演算子を使用して、管理ツールのビジネス・モデルとマッピング・レイヤーでデータ型の変換を実行してください。

「物理」レイヤーでメタデータを既存のデータベースにインポートする場合は、「データベース・プロパティ」ダイアログの「機能」タブでCOUNT_STAR_SUPPORTEDオプションが選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、「行数の更新」オプションがデータベースの物理表の右クリック・メニューに表示されません。

Oracle BIサーバー経由でインポートする場合、データ・ソース名(DSN)エントリはローカル・コンピュータ上ではなく、Oracle BIサーバー・コンピュータ上にあります。

ノート:

XML ODBCの制限事項により、「メタデータ型の選択」画面で「シノニム」オプションを選択する必要があります。このオプションを選択しなかった場合、表はインポートされません。

  1. ODBC経由でXMLデータ・ソースにアクセスするには、まず、XML ODBCドライバのライセンスを入手し、インストールする必要があります。
  2. アクセスするXMLデータ・ソースを指すODBC DSNを作成し、XML ODBCデータ・ソース・タイプを選択していることを確認します。
  3. 管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。
  4. 「データ・ソースの選択」で、「接続タイプ」リストから、データ・ソースの接続タイプ(ODBC 3.5など)を選択します。
  5. 「DSN」リストで、スキーマをインポートするデータ・ソースを選択します。
  6. データ・ソースに対して有効なユーザー名とパスワードを入力し、「次」をクリックします。
  7. 「メタデータ型の選択」で、「表」「キー」「シノニム」および「外部キー」など、インポートするオブジェクトのタイプを選択し、「次」をクリックします。
  8. 「メタデータ・オブジェクトの選択」で、インポートするオブジェクトを「使用可能」リストから選択し、「>」(選択項目をインポート)または「>>」(すべてインポート)を使用して、「選択済」リストに移動します。
  9. (オプション)「完全な構造の表示」を選択して、すべてのオブジェクトを表示します。

    「完全な構造の表示」の選択を解除すると、インポートに使用できるオブジェクトが表示されます。

  10. 「終了」をクリックします。

XML ODBCデータ・ソースの例

この例では、Microsoft ADOの保存ファイル形式によるXML ODBCデータ・ソースを示します。

この項の例に、Microsoft ADOの保存ファイル形式によるXML ODBCデータ・ソースを示します。データとスキーマの両方を同じドキュメントに含めることができます。

XML ODBCの例

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
  xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
  xmlns:rs='urn:schemas-microsoft-com:rowset'
  xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
  <s:ElementType name='row' content='eltOnly' rs:CommandTimeout='30'
  rs:updatable='true'>
    <s:AttributeType name='ShipperID' rs:number='1' rs:writeunknown='true'
    rs:basecatalog='Paint' rs:basetable='Shippers' rs:basecolumn='ShipperID'>
      <s:datatype dt:type='i2' dt:maxLength='2' rs:precision='5'
      rs:fixedlength='true' rs:benull='false'/>
    </s:AttributeType>
    <s:AttributeType name='CompanyName' rs:number='2' rs:writeunknown='true'
    rs:basecatalog='Paint' rs:basetable='Shippers' rs:basecolumn='CompanyName'>
      <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='40'
      rs:benull='false'/>
    </s:AttributeType>
    <s:AttributeType name='Phone' rs:number='3' rs:nullable='true'
    rs:writeunknown='true' rs:basecatalog='Paint' rs:basetable='Shippers'
    rs:basecolumn='Phone'>
      <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='24'
      rs:fixedlength='true'/>
    </s:AttributeType>
    <s:extends type='rs:rowbase'/>
  </s:ElementType>
</s:Schema>
<rs:data>
  <z:row ShipperID='1' CompanyName='Speedy Express' Phone='(503)
  555-9831          '/>
  <z:row ShipperID='2' CompanyName='United Package' Phone='(503)
  555-3199          '/>
  <z:row ShipperID='3' CompanyName='Federal Shipping' Phone='(503)
  555-9931          '/>
</rs:data>
</xml>

XMLドキュメントの例

次の様々な状況の例では、Oracle BIサーバーのXMLアクセス方法でそれらの状況がどのように処理されるかを説明します。

  • XMLドキュメントの83.xml8_sch.xmlは、同じ要素宣言を異なるスコープで使用する例を示しています。たとえば、<p3>を<p2>内および<p4>内で使用できます。

    前述の例の要素<p3>は2つの異なるスコープに出現するため、インポート・プロセスで2回目にこの要素が出現したときに索引番号を追加することによって、各要素に異なる列名が付けられます。この場合、2回目に出現した要素はp3_1となります。さらに他のコンテキストで<p3>が出現する場合は、p3_2、p3_3となります。

  • XMLドキュメントの83.xml84.xmlは、複数のXMLファイルで同じスキーマ(8_sch.xml)を共有できることを示しています。

  • Internet Explorerバージョン5以降では、XMLアイランドと呼ばれる埋込みXMLフラグメントを含むHTMLドキュメントがサポートされます。XMLドキュメントのisland2.htmは、1つのドキュメントから複数のXMLデータ・アイランドおよび複数の表が生成される可能性のある単純な状況を示しています。XMLアイランドのインスタンスごとに表が1つずつ生成されます。表を区別するために、ドキュメント名に適切な索引が追加されます。island2.htmの場合、island2_0およびisland2_1という2つのXML表が生成されます。

83.xml

===83.xml===
<?xml version="1.0"?>
<test xmlns="x-schema:8_sch.xml">|
<row>
<p1>0</p1>
<p2 width="5" height="2">
   <p3>hi</p3>
   <p4>
      <p3>hi</p3>
      <p6>xx0</p6>
      <p7>yy0</p7>
   </p4>
   <p5>zz0</p5>
</p2>
</row>

<row>
<p1>1</p1>
<p2 width="6" height="3">
   <p3>how are you</p3>
   <p4>
      <p3>hi</p3>
      <p6>xx1</p6>
      <p7>yy1</p7>
   </p4>
   <p5>zz1</p5>
</p2>
</row>
</test>

8_sch.xml

===8_sch.xml===
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
         <AttributeType name="height" dt:type="int" />
   <ElementType name="test" content="eltOnly" order="many">
      <AttributeType name="height" dt:type="int" />
      <element type="row"/>
   </ElementType>
   <ElementType name="row" content="eltOnly" order="many">
         <element type="p1"/>
      <element type="p2"/>
   </ElementType>
   <ElementType name="p2" content="eltOnly" order="many">
         <AttributeType name="width" dt:type="int" />
      <AttributeType name="height" dt:type="int" />
         <attribute type="width" />
      <attribute type="height" />
      <element type="p3"/>
      <element type="p4"/>
      <element type="p5"/>
   </ElementType>
   <ElementType name="p4" content="eltOnly" order="many">
      <element type="p3"/>
      <element type="p6"/>
      <element type="p7"/>
   </ElementType>
   <ElementType name="test0" content="eltOnly" order="many">
      <element type="row"/>
   </ElementType>
      <ElementType name="p1" content="textOnly" dt:type="string"/>
      <ElementType name="p3" content="textOnly" dt:type="string"/>
      <ElementType name="p5" content="textOnly" dt:type="string"/>
      <ElementType name="p6" content="textOnly" dt:type="string"/>
      <ElementType name="p7" content="textOnly" dt:type="string"/>
</Schema>

84.xml

===84.xml===
<?xml version="1.0"?>
<test0 xmlns="x-schema:8_sch.xml">
<row>
<p1>0</p1>
<p2 width="5" height="2">
   <p3>hi</p3>
   <p4>
      <p3>hi</p3>
      <p6>xx0</p6>
      <p7>yy0</p7>
   </p4>
   <p5>zz0</p5>
</p2>
</row>

<row>
<p1>1</p1>
<p2 width="6" height="3">
   <p3>how are you</p3>
   <p4>
      <p3>hi</p3>
      <p6>xx1</p6>
      <p7>yy1</p7>
   </p4>
   <p5>zz1</p5>
</p2>
</row>
</test0>

Island2.htm

===island2.htm===
<HTML>
   <HEAD>
<TITLE>HTML Document with Data Island</TITLE>
</HEAD>
   <BODY>
<p>This is an example of an XML data island in I.E. 5</p>
   <XML ID="12345">
   test>
      <row>
         <field1>00</field1>
         <field2>01</field2>
   </row>
      <row>
         <field1>10</field1>
         <field2>11</field2>
   </row>
      <row>
         <field1>20</field1>
         <field2>21</field2>
      </row>
   </test>
</XML>
<p>End of first example.</p>
<XML ID="12346">
   <test>
      <row>
         <field11>00</field11>
         <field12>01</field12>
      </row>
      <row>
         <field11>10</field11>
         <field12>11</field12>
      </row>
      <row>
         <field11>20</field11>
         <field12>21</field12>
      </row>
   </test>
</XML>
<p>End of second example.</p>
</BODY>
</HTML>

Oracle Business Intelligenceでのスタンバイ・データベースの使用について

スタンバイ・データベースは、高可用性およびフェイルオーバー機能で、ならびにプライマリ・データベースのバックアップとして使用してください。

スタンバイ・データベース構成で、プライマリ・データベースからセカンダリ・データベースへの頻繁かつ定期的なレプリケーション・ジョブをスケジュールします。同期やデータ完全性の問題が発生せずに、プライマリ・データベースへの書込みを可能にし、セカンダリ・データベースからの読取りを容易にするために、レプリケーションでは短期の間隔を構成します。

スタンバイ・データベースは本質的に読取り専用データベースであるため、スタンバイ・データベースをビジネス・インテリジェンスの問合せサーバーとして使用することで、プライマリ・データベースのワークロードを軽減し、問合せのパフォーマンスを向上させることができます。

次の項では、Oracle Business Intelligenceでスタンバイ・データベースを使用する方法について説明します。

Oracle Business Intelligenceでのスタンバイ・データベースの構成

スタンバイ・データベース構成には2つのデータベースがあります。すべての書込み操作を処理し、データ整合性のための真実のソースとなるプライマリ・データベースと、読取り専用ソースとして公開されるセカンダリ・データベースです。

Oracle Business Intelligenceでスタンバイ・データベース構成を使用すると、すべての書込み操作がプライマリ・データベースにオフロードされ、読取り操作がスタンバイ・データベースに送信されます。

プライマリ・ソースにルーティングする必要がある書込み操作には、次のようなものがあります。

  • Oracle BIスケジューラのジョブおよびインスタンス・データ

  • パフォーマンスを向上させるための一時表

  • 集計の継続性のためのライトバック・スクリプト

  • 使用状況トラッキング・データ(使用状況トラッキングが有効になっている場合)

  • イベント・ポーリング表のデータ(イベント・ポーリング表を使用する場合)

次に、スタンバイ・データベースを使用するようにOracle BIサーバーを構成する方法の概要を示します。

  1. スタンバイ・データベース構成のデータベース・オブジェクトを1つ作成します。一時表の作成は無効にしてください。

  2. データベース・オブジェクトの接続プールを2つ構成します。

    • スタンバイ・データベースを指す読取り専用の接続プール

    • 書込み操作に使用するプライマリ・データベースを指す接続プール

  3. データベースへの書込みを行う接続スクリプトを更新して、プライマリ・データベースの接続プールを明示的に指定します。

  4. 使用状況トラッキングが有効になっている場合、プライマリ接続を使用するように使用状況のトラッキングの構成を更新します。

  5. イベント・ポーリング表を使用する場合、プライマリ接続を使用するようにイベント・ポーリング・データベースの構成を更新します。

  6. Oracle BIスケジューラがスタンバイ・ソースを使用するように構成されていないことを確認します。

スタンバイ・データベース構成には2つの異なる物理データ・ソースがありますが、物理レイヤーに作成するデータベース・オブジェクトは1つだけです。この図は、物理レイヤーにおけるスタンバイ・データベース構成のデータベース・オブジェクトと接続プールを示しています。

スタンバイ・データベース構成のデータベース・オブジェクトの作成

スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成するには、管理ツールを使用します。

データベース・オブジェクトを作成する際には、Oracle BIサーバーがスタンバイ・データベースに一時表を作成しないように、永続接続プールが割り当てられていないことを確認してください。

  1. 管理ツールで、物理レイヤーを右クリックし、「新規データベース」を選択して、データベース・オブジェクトを作成します。
  2. 「名前」にデータベースの名前を入力します。
  3. 「データベース・タイプ」リストから、データベースのタイプを選択します。
  4. 「永続化された接続プール」フィールドで、値が「未割当て」であることを確認します。

スタンバイ・データベース構成の接続プールの作成

スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成したら、管理ツールを使用して、2つの接続プールを作成します。スタンバイ・データベースを指す接続プールと、プライマリ・データベースを指す接続プールです。

ほとんどの接続にスタンバイ接続プールが使用されるため、必ず、スタンバイ接続プールが最初に表示されるようにしてください。

ノート:

接続プールは、最大接続数に達するまで、表示されている順に使用されます。スタンバイ・データベースのチューニングに合せて最大接続数を設定してください。

「接続プールの作成または変更」を参照してください。

  1. 管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。
  2. 接続プールの名前を入力し、呼出しインタフェースがスタンバイ・データベース・タイプに適していることを確認します。
  3. スタンバイ・データベースのデータ・ソース名を入力します。
  4. スタンバイ・データベースのユーザー名とパスワードを入力します。
  5. 「OK」をクリックします。
  6. 管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。
  7. 接続プールの名前を入力し、呼出しインタフェースがプライマリ・データベース・タイプに適していることを確認します。
  8. プライマリ・データベースのデータ・ソース名を入力します。
  9. プライマリ・データベースのユーザー名とパスワードを入力します。
  10. 「OK」をクリックします。

スタンバイ・データベース構成でのライトバック・スクリプトの更新

集計の永続性のためのスクリプトなど、データベースに書き込むスクリプトを使用する場合は、プライマリ接続プールを明示的に参照するようにスクリプトを更新する必要があります。

プライマリ接続を介して書き込まれた情報は、プライマリ・データベースとセカンダリ・データベース間の定期的にスケジュールされたレプリケーションによって、自動的にスタンバイ・データベースに転送されます。この情報はスタンバイ接続プールを介して使用できます。

次の例では、プライマリ接続プールを明示的に指定する、集計の永続性のためのライトバック・スクリプトを示します。

create aggregates sc_rev_qty_yr_cat for "DimSnowflakeSales"."SalesFacts"
("Revenue", "QtySold") at levels ("DimSnowflakeSales"."Time"."Year",
"DimSnowflakeSales"."Product"."Category") using connection pool
"StandbyDemo"."Primary Connection" in "StandbyDemo"."My_Schema"

スタンバイ・データベース構成での使用状況トラッキングの設定

Oracle BIサーバーでは、使用状況トラッキング・データの収集がサポートされます。

使用状況トラッキングが有効な場合、Oracle BIサーバーは各問合せの使用状況トラッキング・データを収集し、統計を使用状況トラッキング・ログ・ファイルに書き込むか、データベース表に直接挿入します。

直接挿入を使用して、スタンバイ・データベース構成で使用状況トラッキングを有効にするには、使用状況トラッキング・データの保存に使用する表( S_NQ_ACCTなど)をプライマリ・データベースに作成する必要があります。その後、管理ツールを使用してリポジトリの物理レイヤーにその表をインポートします。

スタンバイ接続プールとプライマリ接続プールの両方で使用状況トラッキング表のデータベース・オブジェクトが構成されていることを確認する必要があります。その後、使用状況トラッキングのCONNECTION_POOLパラメータがプライマリ・データベースを指していることを確認してください。たとえば、NQSConfig.iniでは、次のようになります。

CONNECTION_POOL = "StandbyDatabaseConfiguration"."Primary Connection";

Oracle Business Intelligence Enterprise Editionシステム管理者ガイドの使用状況トラッキングの管理に関する項を参照してください。

スタンバイ・データベース構成でのイベント・ポーリングの設定

1つ以上の物理表が更新されたことをOracle BIサーバーに通知する方法として、Oracle BIサーバーのイベント・ポーリング表(イベント表)を使用できます。

イベント表は、Oracle BIサーバーがアクセス可能なデータベース上の物理表です。通常は、管理ツールの物理レイヤーでのみ公開され、「物理表」ダイアログ内でOracle BIサーバー・イベント表として識別されます。

Oracle BIサーバーには、イベント・ポーリング表への書込み権限が必要です。そのため、スタンバイ・データベース構成でイベント・ポーリングを使用する場合は、イベント表のデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。

イベント表を設定、アクティブ化および移入する方法など、イベント・ポーリングの詳細は、Oracle Business Intelligence Enterprise Editionシステム管理者ガイドのイベント・ポーリング表によるキャッシュ・イベント処理を参照してください。

スタンバイ・データベース構成でのOracle BIスケジューラの設定

Oracle BIスケジューラは、ジョブ(スクリプト化されたジョブとスクリプト化されていないジョブの両方)の管理とスケジュールを行う拡張可能なアプリケーションおよびサーバーです。

Oracle BIスケジューラは、ジョブ(スクリプト化されたジョブとスクリプト化されていないジョブの両方)の管理とスケジュールを行う拡張可能なアプリケーションおよびサーバーです。スタンバイ・データベース構成でOracle BIスケジューラを使用するには、Oracle BIスケジューラのデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。

Oracle BIスケジューラの設定および使用の詳細は、Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイドOracle BIスケジューラの構成作業を参照してください。