Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1) E70045-01 |
|
![]() 前 |
![]() 次 |
この章では、新しいOracle BIリポジトリを作成し、バックエンド・データ・ソースを設定し、Oracle BI管理ツールのメタデータのインポート・ウィザードを使用してメタデータをインポートする方法について説明します。また、Oracle Business Intelligenceでスタンバイ・データベースを使用する方法についても説明します。
この章には次のトピックが含まれます:
Oracle BIリポジトリ・ファイルを作成した後、データ・ソースからリポジトリの物理レイヤーにメタデータをインポートできます。管理ツールの物理レイヤーでは、Oracle BIサーバーが問合せを送信するデータ・ソース、および物理データベースと複数のデータ・ソース問合せの処理に使用される他のデータ・ソース間のリレーションシップが定義されます。
Oracle BIリポジトリへのメタデータのインポートは、ODBCまたは基礎となるデータ・ソースへのネイティブ・データベース接続を介して行う必要があります。ODBC接続を介してMicrosoft Excelなどのソフトウェアからメタデータをインポートすることもできます。
各データ・ソースからメタデータを直接インポートすると、物理レイヤーの構造をインポートできるため、時間と労力が節減されます。これらのソースのデータは、Oracle BIインタラクティブ・ダッシュボードおよびその他のクライアントで表示できます。メタデータは、サポートされているデータ・ソースからのみインポート可能です。
メタデータをインポートすると、通常は、関連するデータベース・オブジェクトおよび接続プールのプロパティが自動的に設定されます。ただし、データベースや接続プールの設定は調整可能です。詳細は、第7章「データベース・オブジェクトおよび接続プールの設定」を参照してください。
メタデータをインポートするかわりに物理レイヤーを手動で作成することもできますが、多大な労力を要するうえ、エラーが発生しやすくなります。メタデータをインポートすることを強くお薦めします。
管理ツールの新規リポジトリの作成ウィザードを使用して、新しいOracle BIリポジトリをバイナリ(RPD)またはMDS XML形式で作成できます。
既存のリポジトリがすでにある場合、リポジトリを新しく作成する必要はありません。既存のリポジトリは、そのファイル内の既存のデータ・ソース設定を、別のデータ・ソースに接続するためのテンプレートとして使用できます。そのためには、既存のデータ・ソース設定を使用し、データベース・タイプと接続プールの情報のみを変更します。詳細は、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。
新しいOracle BIリポジトリを作成する手順は、次のとおりです。
管理ツールで、「ファイル」を選択し、「新規リポジトリ」を選択します。新規リポジトリの作成ウィザードが表示されます。
既存のリポジトリが開いている場合、変更内容を保存するように求められ、既存のリポジトリが閉じます。
リポジトリをRPD形式で作成する場合は、「バイナリ」を選択します。リポジトリをMDS XML形式で作成するには、「MDS XMLドキュメント」を選択します。
バイナリ・リポジトリの場合、リポジトリの名前を入力します。メタデータ・ディクショナリのURLに関する問題を避けるため、名前は156文字以内にしてください。RPDファイル拡張子を明示的に指定しなかった場合、自動的に追加されます。
「場所」については、そのリポジトリ・タイプに適した手順を実行します。
バイナリ・リポジトリの場合、RPDファイルの場所を選択します。新しいバイナリ・リポジトリはデフォルトで、ORACLE_INSTANCE\bi\bifoundation\serverにあるリポジトリ・サブディレクトリに保存されます。
MDS XML形式のリポジトリの場合、そのMDS XMLファイルのセットのルート・フォルダの場所を選択します。
すぐにメタデータをリポジトリにインポートするには、「メタデータのインポート」について「はい」(デフォルト)を選択します。メタデータをインポートしない場合は、「いいえ」を選択してください。
このリポジトリに使用するパスワードを入力し、確認します。リポジトリ・パスワードは8文字以上で、1つ以上の数字を含める必要があります。
リポジトリ・パスワードは、リポジトリをオンライン・モードで開くときにもオフライン・モードで開くときにも入力します。このパスワードは、リポジトリの内容を暗号化するために使用されます。
「メタデータのインポート」について「はい」を選択した場合は、「次へ」をクリックします。
インポート画面については、データ・ソース・タイプに応じて次の項を参照してください。
情報をリポジトリにインポートする前に、データ・ソースの設定が必要になる場合があります。詳細は、「データ・ソースの事前構成作業の実行」を参照してください。
「メタデータのインポート」について「いいえ」を選択した場合は、「終了」をクリックして空のリポジトリを作成します。
場合によっては、Oracle Business Intelligenceがデータ・ソースにアクセスできるように構成手順を実行する必要があります。データ・ソースからリポジトリ・ファイルに物理オブジェクトをインポートしたり、接続プールをデータ・ソースに設定する前に、これらの構成手順が必要になる場合があります。
多くのデータ・ソースについては、クライアント・コンポーネントをインストールする必要があります。クライアント・コンポーネントは通常、問合せアクセスについてはOracle BIサーバーをホストするコンピュータに、インポートなどのオフライン操作については管理ツールをホストするコンピュータ(異なる場合)にインストールします。場合によっては、JavaHostプロセスが配置されているコンピュータにクライアント・コンポーネントをインストールする必要があります。
注意: 次の関連トピックを参照してください。
|
この項には次のトピックが含まれます:
ODBC接続を介したデータ・ソースからのインポートや、ODBCデータ・ソースへの接続プールの設定を行う前に、クライアント・コンピュータでそのデータ・ソースのODBCデータ・ソース名(DSN)を作成しておく必要があります。データ・ソースからメタデータをインポートする際、メタデータのインポート・ウィザードでこのDSNを参照します。
ODBC DSNは、Windowsシステムでのみインポートに使用できます。
WindowsでODBC DSNを設定するには:
Windowsで、「ODBC Data Source Administrator」を検索して開きます。「ODBCデータ ソース アドミニストレータ」ダイアログが表示されます。
「ODBC データ ソース アドミニストレータ」ダイアログで、「システム DSN」タブをクリックし、「追加」をクリックします。
「データ ソースの新規作成」ダイアログで、データ・ソースに適したドライバを選択し、「完了」をクリックします。
残りの構成手順は、構成するデータ・ソースごとに異なります。詳細は、データ・ソースのドキュメントを参照してください。
WindowsシステムのODBC DSNは、初期インポートにも、問合せ実行時のデータ・ソースへのアクセスにも使用されます。UNIXシステムでは、ODBC DSNはデータ・アクセスにのみ使用されます。UNIXでのODBCデータ・ソースの設定については、第16章「LinuxおよびUNIXでのデータソースの設定」を参照してください。
Teradataに固有の追加情報は、「Teradataデータ・ソースの設定」も参照してください。
Oracle Databaseデータ・ソースからメタデータをインポートする場合や接続プールを設定する場合、データ・ソース名として接続文字列全体を入力することも、tnsnames.oraファイルで定義されているネット・サービス名を使用することもできます。
ネット・サービス名のみを入力するには、Oracle BIサーバーがそのエントリを特定できるように、Oracle Business Intelligence環境の次の場所でtnsnames.oraファイルを設定する必要があります。
BI_DOMAIN\config\fmwconfig\bienv\core
Oracle Databaseからメタデータをインポートする場合やOracle Databaseに接続する場合は必ず、OCIを使用する必要があります。スキーマのインポートや、接続プールの設定を行う前に、TNS名のエントリをtnsnames.oraファイルに追加しておく必要があります。詳細は、Oracle Databaseのドキュメントを参照してください。
この項には次のトピックが含まれます:
関連情報は、「Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化」を参照してください。
すべての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 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 Database機能を利用し、問合せ時間を大幅に改善するため、Oracle BIサーバーは、Exadataハイブリッド列圧縮およびIn-Memory機能をサポートします。
「データベース」ダイアログの「一般」タブでメタデータのインポートまたはデータベース・タイプの指定を行うと、データベース・タイプに応じて適切なデフォルト値がデータベース・オブジェクトの機能セットに自動的に移入されます。これらは、Oracle BIサーバーでこのデータ・ソースに対して使用されるSQL機能です。「データベース」ダイアログの「機能」タブで、機能にサポートされていることを示すマーク(チェック)が付けられている場合、通常はOracle BIサーバーによってデータ・ソースに関数または計算がプッシュされパフォーマンスの向上が図られます。関数または機能がデータ・ソースでサポートされていない場合はOracle BIサーバーで計算または処理が実行されます。
Oracle BIサーバーによってサポートされるOracle Database機能の次の情報に注意してください。
圧縮 - 圧縮することで、データベースのサイズが減ります。データを圧縮すると格納に必要なページ数が少なくなるため、問合せでディスクから読み取るページも少なく、その結果、I/Oに過度な負担がかかるワークロードのパフォーマンスを向上させることができます。圧縮は、デフォルトでOracle 11g Database、Oracle 12c DatabaseおよびOracle 12c Database In-Memoryで使用されます。Oracle 11gおよびOracle 12cデータベースで集計を作成する場合、集計表には圧縮がデフォルトで適用されます。
前述のいずれかの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フラグをOnに設定してください。
インメモリー – インメモリー検索により、データの問合せの所要時間が削減されます。これは、ディスクよりも迅速で、確実なパフォーマンスです。インメモリー機能は、Oracle 12c Database In-MemoryおよびExadataを使用するOracle 12c Database In-Memoryで、メモリー内に表を作成する機能です。これらのデータベースで集計を作成すると、メモリー内でも集計が作成されます。
前述のいずれかのOracleデータベースにデータベース・オブジェクトを作成する場合、INMEMORY_SUPPORTED機能がオブジェクトに自動的に適用されます。
高速アプリケーション通知(FAN)イベントと高速接続フェイルオーバー(FCF)がOracle Databaseで有効になっている場合、BIサーバーによってロードされたOracle Call Interface (OCI)はFANイベントを利用し、Oracle Databaseデータ・ソースのFCFを有効にします。
この機能は、バックグラウンドで実行します。Oracleデータベースを使用できないために分析ユーザーが開始したOracle Business Intelligence問合せに失敗した場合、ただちに問合せに失敗し、ユーザーはデータベース・リクエストのタイムアウトを待機せずに問合せを再試行できます。
クライアント・インストールを実行したコンピュータでOracle Database Clientをインストールする必要があります。Oracle Databaseソースからインポートする前に、Oracle Database Clientインストールを実行する必要があります。「管理者」または「ランタイム」のいずれかのクライアント・インストール・オプションを使用します。
Oracleデータベース・クライアントをインストールしたら、ORACLE_HOMEという環境変数を作成し、その変数をOracleデータベース・クライアント用のOracleホームに設定します。その後、TNS_ADMINという環境変数を作成し、tnsnames.oraファイルの場所(BI_DOMAIN\config\fmwconfig\bienv\core)に設定します。
Oracle BI ServerとOracle Databaseの間にファイアウォールがあると、問合せ時間が長くなります。たとえば、単一のnqcmdを使用する場合、問合せは結果を戻すまでに2から3分かかります。または、Presentation Servicesで初期化されたSQL文の実行または検証後は、Answersが応答しません。
問合せ時間を改善するためには、次のようにして、BI_DOMAIN\config\fmwconfig\bienv\core内のsqlnet.oraファイルで、BREAK_POLL_SKIP
パラメータおよびDISABLE_OOB
パラメータを追加します。
BREAK_POLL_SKIP=10000 DISABLE_OOB=ON
この構成は、Oracle BIサーバーでのみ実行する必要があります。この構成は、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データ・ソースからインポートするには、biadminservlet Javaプロセスが実行中である必要があります。Fusion Middleware Controlを使用してbiadminservlet Javaプロセスのステータスをチェックできます。
Oracle OLAPソースからインポートする前に、クライアント・インストールを実行したコンピュータにOracle Database Clientをインストールする必要があります。「管理者」または「ランタイム」のいずれかのクライアント・インストール・オプションを使用します。
Oracleデータベース・クライアントをインストールしたら、ORACLE_HOMEという環境変数を作成し、その変数をOracleデータベース・クライアント用のOracleホームに設定します。その後、TNS_ADMINという環境変数を作成し、tnsnames.oraファイルの場所(BI_DOMAIN\config\fmwconfig\bienv\core)に設定します。
リポジトリにJDBCおよびJNDIデータ・ソースを含める前に、この項の必要な設定タスクを実行する必要があります。
JDBC(JNDI)接続タイプを使用する場合、リモートJavaデータ・ソースをWeblogic Serverに接続する必要があります。Weblogic ServerのJNDIを構成して、これを実行します。JDBC(ダイレクト・ドライバ)を使用する場合、この構成手順は必要ありません。
この構成の実行方法の詳細は、BEA Weblogic ServerおよびWeblogic Express 8.1ドキュメント・ライブラリのJavaクライアントを単一サーバーに接続するためのWebLogic JNDIの使用に関する項を参照してください。
リポジトリにインポートするためにJavaデータ・ソースを使用できるようにするには、最初にJavaデータソース・サーバーに接続してJavaメタデータをロードする必要があります。
Javaメタデータをロードするには:
管理ツールで、「ファイル」をクリックし、「Javaデータソースのロード」をクリックします。「Javaデータソース・サーバーに接続」ダイアログが表示されます。
ホスト名、ポートおよび資格証明を入力してサーバーにアクセスし、Javaメタデータをロードします。
「OK」をクリックします。Javaメタデータがサーバーからロードされ、リポジトリにインポートするために使用できるようになります。
これらの事前構成手順は、TimesTenがすでにインストールされていることを想定しています。詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。Oracle TimesTen In-Memory Databaseは、ODBCインタフェースとJDBCインタフェースの両方をサポートする、高性能なインメモリー・データ・マネージャです。
注意: TimesTenソース上に集計を作成する予定である場合は、そのインスタンスに対してPL/SQLが有効化されており、そのPL/SQLの最初の接続属性PLSQLが1に設定されていることも確認する必要があります。PL/SQLは、インストール時に有効にすることも、インストール後にttmodinstallユーティリティを実行して有効にすることもできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。 |
この項には次のトピックが含まれます:
関連情報は、「Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートの有効化」を参照してください。
Oracle Business Intelligenceのデータ・ソースとして使用する前に、TimesTenを構成する必要があります。
TimesTenデータ・ソースを設定するには:
TimesTenがインストールされているコンピュータで、データ・マネージャDSNを(システムDSNとして)作成します。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・マネージャDSNの定義に関する項を参照してください。
データ・ソースへの初期接続を実行してTimesTenデータベースをメモリーにロードし、ユーザーを作成して、権限を付与します(この作業をまだ行っていない場合)。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のアクセス制御の管理に関する項を参照してください。データ・ストアのデフォルト・ユーザーはインスタンス管理者、つまりデータベースをインストールしたオペレーティング・システム・ユーザーです。
Oracle BIサーバーを実行しているコンピュータに、TimesTenクライアントをインストールします。詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
TimesTenクライアントがインストールされているコンピュータで、クライアントDSNを(システムDSN)として作成します。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のクライアントDSNの作成に関する項を参照してください。
LinuxまたはUNIXでOracle BIサーバーを実行している場合にこの手順を実行する方法については、「ネイティブODBCドライバを使用したデータベース接続の構成」を参照してください。
TimesTenデータベースがTimesTenクライアントと同じコンピュータにインストールされている場合は、メタデータのインポート・ウィザードでデータ・マネージャDSNまたはクライアントDSNを指定できます。
TimesTenソースからデータをインポートした後、または手動でデータベース・オブジェクトおよび接続プールを設定するときに、「データベース」ダイアログの「一般」タブの「データベース」フィールドにデータベース・タイプとバージョンが正しく設定されていることを確認します。「接続プール」ダイアログの「一般」タブの「呼出しインタフェース」フィールドが正しく設定されていることも確認する必要があります。次の資料も参照してください。
『Oracle Fusion Middleware Oracle Exalytics In-Memory Machineインストレーションおよび管理ガイド』(Oracle Exalytics Machine上のTimesTenソースの設定の具体的な手順)
Oracle Business Intelligenceに対してサポートされるTimesTenのバージョンについては、「システム要件と動作要件」を参照してください。
システム・メモリー・リソースの使用を向上させるために、TimesTenサーバーの最大接続数を増やすことをお薦めします。
TimesTen環境で、編集のためにttendaemon.optionsファイルを開きます。このファイルは次の場所にあります。
install_dir\srv\info
次の行を追加します。
-MaxConnsPerServer number_of_connections
number_of_connectionsを求めるには、次の式を使用します。Oracle BIリポジトリに接続プールごとに接続がM個あり、Oracle BIリポジトリに接続プールがN個あり、Oracle BIサーバーがP台ある場合、必要な接続の総数はM * N * Pとなります。
ファイルを保存して閉じます。
TimesTenサーバーへの接続に使用しているODBC DSNで、Connectionsパラメータを、ステップ2で入力した値と同じ値に設定します。
Windowsでは、Windows ODBC データ ソース アドミニストレータからTimesTen ODBCセットアップ・ウィザードを開きます。「接続」パラメータは「最初の接続」タブにあります。
UNIXでは、odbc.INIファイルを開き、次のようにTimesTen DSNエントリにConnections属性を追加します。
Connections=number_of_connections
ttisqlプロセスやOracle BIサーバーなど、TimesTenに接続しているすべてのプロセスを停止します。
TimesTenプロセスを停止します。
TimesTenプロセスが停止されていることを確認した後、TimesTenプロセスを再開します。
注意: ロック・タイムアウトを回避するために、デプロイメントに合せて接続のLockWait間隔を調整することもできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のLockWaitに関する項を参照してください。 |
OBISを起動するユーザーが、彼らのオペレーティング・システムのPATH変数にTimesTen DLL ($TIMESTEN_HOME\lib)へのパスを設定していない場合、obis.propertiesファイルの変数としてTimesTen DLLパスを追加する必要があります。
obis.propertiesを更新してWindowsのTimesTen変数を含める手順は、次のとおりです。
編集のためにobis.propertiesを開きます。obis.propertiesは、次の場所にあります。
BI_DOMAIN\config\fmwconfig\bienv\obis
次の例のように、必要なTimesTen変数TIMESTEN_DLL
を追加し、LD_LIBRARY_PATH
変数も更新します。
TIMESTEN_DLL=$TIMESTEN_HOME\lib\libttclient.so LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TIMESTEN_HOME\lib
ファイルを保存して閉じます。
OBIS1を再起動します。
Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、obis.propertiesで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。
Oracle BIサーバーは、Essbaseクライアント・ライブラリを使用してEssbaseデータ・ソースに接続します。Essbaseクライアント・ライブラリは、デフォルトでOracle BI Enterprise Editionとともにインストールされます。Oracle BI Enterprise Editionの完全なインストールに対してEssbaseデータ・ソースのアクセスを有効化するために追加の構成は必要ありません。
この項では、Cloudera Impalaデータ・ソースをOracle BIリポジトリで設定する方法について説明します。この節の内容は以下のとおりです。
クライアント・インストールを実行した場合、Cloudera Impalaメタデータのインポートに必要なWindows ODBCドライバは必要ありません。
必要なドライバを取得するためには、次の手順を実行する必要があります。Oracle Business Intelligenceインストーラを使用して管理ツールをインストールした場合、この手順を実行する必要はありません。
次のようにして、Windows ODBCドライバを取得します。
次の場所にあるClouderaのWebサイトに移動します。
「Downloads」リンク、「Impala ODBC Drivers & Connectors」リンクの順にクリックします。
「Download」リストで、使用する管理ツール・プラットフォームで必要なODBCドライバを特定し、「Download Bits」をクリックしてインストーラをダウンロードします。
ODBCドライバ・インストーラを実行して、ドライバをインストールします。
Cloudera Impalaは、Massively Parallel Processing (MPP) SQL問合せエンジンで、元々、Apache Hadoopで稼働しています。この手順を実行して、Cloudera ImpalaメタデータをOracle BIリポジトリにインポートします。
この手順を実行するためには、Windows ODBCドライバを準備する必要があります。管理ツールのクライアント・インストールがある場合、「クライアント・インストールでのWindows ODBCドライバの取得」の手順に従い、必要なWindows ODBCドライバをインストールする必要があります。
Windowsで、「ODBCデータ ソース アドミニストレータ」を検索して開きます。「ODBCデータ ソース アドミニストレータ」ダイアログが表示されます。
「ODBC データ ソース アドミニストレータ」ダイアログで、「システム DSN」タブをクリックし、「追加」をクリックします。「新しいData Sourceの作成」ダイアログが表示されます。
ドライバ・リストから、Cloudera Impalaドライバを検索して選択します。「終了」をクリックします。「Impala DSN設定のCloudera ODBCドライバ」ダイアログが表示されます。
使用するImpalaインスタンスの接続詳細を入力します。次の点に注意してください。
「データ ソース名」フィールドに、リポジトリで定義した接続プールに指定されているデータソース名を入力します。
「ホスト」フィールドに、完全修飾ホスト名またはIPアドレスを入力します。
「ポート」フィールドにポート番号を入力します。デフォルトは、21050です。
「データベース」フィールドで、データベースを指定します。通常、この値は「デフォルト」です。
Cloudera Impalaドライバでデータ・ソースを設定している場合、「テスト」をクリックします。DataDirect Impalaドライバでデータ・ソースを設定している場合、「テスト接続」をクリックします。「テスト結果」ダイアログが表示されます。
管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。
「データ・ソースの選択」画面で、「接続タイプ」フィールドにODBC 3.5が表示されていることを確認します。次に、作成したImpala DSNを選択し、ユーザー名およびパスワードを入力します。「次」をクリックします。
「メタデータ型の選択」画面で、「次」をクリックしてデフォルト値を受け入れます。
「メタデータ・オブジェクトの選択」画面で、「データソース・ビュー」リストからインポートするImpala表を選択し、>(選択項目をインポート)ボタンをクリックして、それらの表を「リポジトリ・ビュー」リストへ移動します。
「終了」をクリックします。Impalaデータベースが、Oracle BIリポジトリの物理レイヤーに表示されます。
物理レイヤーのリポジトリで、Impalaデータベースをダブルクリックします。「データベース」ダイアログが表示されます。
「データベース・タイプ」フィールドから、「Cloudera Impala.」を選択します。「OK」をクリックします。
「保存」をクリックして、リポジトリを保存します。
(オプション)必要に応じて、新しくインポートしたデータを、「ビジネス・モデルとマッピング」レイヤーおよび「プレゼンテーション」レイヤーでモデリングします。
この節の内容は以下のとおりです。
管理ツールのクライアント・インストールがある場合、Apache Hiveメタデータをインポートするために必要なWindows ODBCドライバが必要ありません。
インポートの実行に必要なWindowsドライバを取得するには、My Oracle Support Webサイト、support.oracle.comにログインしてDocID 1520733.1にアクセスします。このDocIDに関連付けられているテクニカル・ノートには、必須のWindowsドライバが、ドライバのインストール手順およびHiveデータ・ソースからのメタデータ・インポートの実行手順とともに含まれています。
この項では、Oracle Business IntelligenceでHadoopおよびHiveを使用する場合の制限について説明します。この項には次のトピックが含まれます:
Hiveはタイムスタンプ・データ型をサポートします。タイムスタンプ列は、リポジトリの物理レイヤーのDATEまたはDATETIME型を指定する必要があります。
次のフォームの問合せでは、
SELECT M, COUNT(DISTINCT M) ... FROM ... GROUP BY M ...
Hiveがクラッシュする可能性があります。
このような状況では、COUNT(DISTINCT...)定義における属性が直接問合せの対象となり、その属性が表または外部キーまたはレベル・キーの一部でもある場合があります。
COUNT(DISTINCT X)がGROUP BY Xと同時に使用された場合は常にカウントが1になるため、このケースが多発する可能性はほとんどありません。
このようなエラーを回避するために、COUNT(DISTINCT...)をメジャーで使用するときには、同じレベルに完全属性またはその他の属性を含めないようにしてください。
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 ( charexp1, charexp2, [, startpos] )
ここで、charexp1
は、文字列charexp2
の中で検索の対象となる文字列です。
オプションのパラメータstartpos
は、charexp2
の中で検索開始を示す文字の位置です。
次の例に示すように、startpos
の値がcharexp2
の長さよりも長い場合、
select locate('c', 'abcde', 9) from employee
Hiveは0を返すのではなく、例外をスローします。
開始位置パラメータの値を指定してSubstring関数を使用する問合せでは、次の例に示すように、Hiveがクラッシュすることがあります。
select substring(ProductName, 2) from Products
Apache Hive ODBCドライバは、表の作成に使用するSQLTransactをサポートしていないため、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.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 DISTINCT M, M ... FROM TABX
この項では、データ・ソースとしてHyperion Financial Managementを使用する際の必須の構成手順について説明します。
Hyperion Financial Management 11.1.2.3.xまたは11.1.2.4.xは、ADMネイティブ・ドライバまたはADMシン・クライアント・ドライバを使用できます。ADMシン・クライアント・ドライバをインストールおよび構成できるのは、Linuxのみです。
注意: Oracle BI EEでHyperion Financial Management 11.1.2.3.xおよび11.1.2.4.xデータ・ソースは、Oracle BI EEがWindowsまたは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サーバーに接続するためのユーザーとしてドメイン・ユーザーを入力します。ADMシン・ドライバをLinux用に構成している場合、この手順を実行する必要はありません。
さらに、Oracle BI JavaHostプロセスを実行している各システムでobijh.propertiesファイルを編集し、Hyperion Financial Managementに必要な環境変数を追加する必要があります。
オフライン・インポートについてもオンライン・インポートについても、Hyperion Financial Managementデータ・ソースからインポートするには、JavaHostプロセスが実行中である必要があります。管理ツールのクライアント・インストールがある場合、JavaHostの構成手順の詳細は、「クライアント・インストールに対する追加のHyperion構成の実行」も参照してください。
Hyperion Financial Managementを構成するには:
setOBIJHEnvコマンドを実行して、Oracle BI Javahost環境を正しく設定します。たとえば、Windowsの場合は、ORACLE_HOME\bi\modules\oracle.bi.cam.obijh\setOBIJHEnv.cmdを実行します。
次の例をガイドとして使用できます。インストールに応じて、実際の値を更新してください。
SET EPM_ORACLE_HOME=C:\Oracle\Middleware\EPMSystem11R1 SET EPM_ORACLE_INSTANCE=C:\Oracle\Middleware\user_projects\epmsystem1 # SET HFM_ADM_TRACE=2 SET OBIJH_ARGS=%OBIJH_ARGS% -DEPM_ORACLE_HOME=%EPM_ORACLE_HOME% SET OBIJH_ARGS=%OBIJH_ARGS% -DEPM_ORACLE_INSTANCE=%EPM_ORACLE_INSTANCE% SET OBIJH_ARGS=%OBIJH_ARGS% -DHFM_ADM_TRACE=2
編集のためにobijh.propertiesファイルを開きます。obijh.propertiesは、次の場所にあります。
ORACLE_HOME\bi\modules\oracle.bi.cam.obijh\env\obijh.properties
OBIJH_ARGSセクションで、DEPM_ORACLE_HOMEおよびDEPM_ORACLE_INSTANCE構成プロパティを追加します。
次の例をガイドとして使用できます。インストールに応じて、実際の値を更新してください。
-DEPM_ORACLE_HOME=C:\Oracle\Middleware\EPMSystem11R1 -DEPM_ORACLE_INSTANCE=C:\Oracle\Middleware\user_projects\epmsystem1 -DHFM_ADM_TRACE=2
編集のためにloaders.xmlファイルを開きます。loaders.xmlは、次の場所にあります。
ORACLE_HOME\bi\bifoundation\javahost\config\loaders.xml
Hyperion Financial Managementに必要な新しい変数を追加します。次の例をガイドとして使用できます。インストールに応じて、実際の値を更新してください。
EPM_ORACLE_HOME=\scratch\aime1\Oracle\Middleware\EPMSystem11R1; EPM_ORACLE_INSTANCE=scratch\aime1\Oracle\Middleware\user_projects\epmsystem1
<!-- BI Server integration code -->を検索し、<ClassPath>でfm-adm-driver.jar、fm-web-objectmodel.jar、epm_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>
ファイルを保存して閉じます。
ORACLE_HOME\bi\bifoundation\javahost\lib\obisintegration\admディレクトリに移動して、admintegration.jarおよびadmimport.jar以外のすべてのjarファイルを削除します。
OBIS1を再起動します。
Oracle BI JavaHostプロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のJavaHostインスタンスを実行している場合は必ず、obis.propertiesで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obijh1"、ias-component id="coreapplication_obijh2"など)。
JavaHostがHyperion Financial Managementへのアクセスのシングル・ポイント障害とならないように、複数のJavaHostプロセスを実行します。そのためには、Fusion Middleware Controlを使用してJavaHostプロセスをスケールアウトします。プロセスのスケールアウトの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の「デプロイメントのスケーリング」を参照してください。
Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合は、Hyperion Financial Managementのデータ・ソースからオフライン・インポートを実行する前に追加の構成を実行する必要があります。Hyperion Financial Managementデータ・ソースからオフライン・モードでインポートするには、管理ツールが実行中のJavaHostの場所を指す必要があります。
この項の手順は、管理ツールのクライアント・インストールの場合にのみ必要です。
管理ツールが実行中のJavaHostを指すようにする手順は次のとおりです。
管理ツールが開いている場合は閉じます。
管理ツールと同じコンピュータ上で、テキスト・エディタを使用してローカルのNQSConfig.INIファイルを開きます。このファイルは次の場所にあります。
BI_DOMAIN\config\fmwconfig\biconfig\OBIS
ファイルの最下部付近にあるJAVAHOST_HOSTNAME_OR_IP_ADDRESSESパラメータを検索します。完全修飾ホスト名またはIPアドレスとポート番号を使用して、実行中のJavaHostを指すようにこのパラメータを更新します。例:
JAVAHOST_HOSTNAME_OR_IP_ADDRESSES = "myhost.example.com:9810"
Oracle Business Intelligenceの(クライアントではない)フル・インストールでは、この設定はOracle Enterprise Manager Fusion Middleware Controlによって管理されるので、手動では編集できません。
ファイルを保存して閉じます。
SAP/BWデータ・ソースに接続するには、XMLA接続タイプ、またはSAP BWネイティブ接続タイプ(BAPI)を使用します。プラットフォームによっては、SAP BWネイティブ接続を使用できない場合があります。
詳細は、「システム要件と動作要件」を参照してください。
SAP BWネイティブ接続タイプを使用してSAP/BWデータ・ソースに接続するには、まず、次のBristlecone WebサイトからOBIEE BAPI Adapter for SAPをダウンロードする必要があります。
http://www.bristleconelabs.com/edel/downloads.html
次に、ダウンロードに付属しているドキュメントに記載された構成手順を実行します。
XMLA経由でSAP/BWに接続する場合、事前構成手順は必要ありません。
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 BIサーバーを実行している場合にOracle RPASデータ・ソースへのODBCアクセスを有効にする方法については、「AIX UNIXでのOracle RPAS ODBCデータ・ソースの構成」を参照してください。
ODBCを使用してTeradataデータ・ソースにアクセスできます。
Teradataに対するODBC接続の設定の詳細は、「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変数を含める必要があります。
obis.propertiesを更新してWindowsのTeradata変数を含める手順は、次のとおりです。
編集のためにobis.propertiesを開きます。obis.propertiesは、次の場所にあります。
BI_DOMAIN\config\fmwconfig\bienv\obis
PATH
、LD_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文字の制限を超える可能性があります。この問題を回避するには、Teradataクライアントを短いパス名(C:\TDなど)を持つディレクトリにインストールするか、短い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 |
ファイルを保存して閉じます。
OBIS1を再起動します。
Oracle BIサーバー・プロセスを実行している各コンピュータで前述の手順を繰り返します。同じコンピュータで複数のOracle BIサーバー・インスタンスを実行している場合は必ず、obis.propertiesで各インスタンスについてias-componentタグを適切に更新してください(例: ias-component id="coreapplication_obis1"、ias-component id="coreapplication_obis2")。
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データ型のサポートを有効にすることができます。NUMERICデータ型のサポートが有効になっていると、Oracle DatabaseおよびTimesTenのデータ・ソースのNUMBER列がOracle Business IntelligenceでNUMERICとして扱われるため、精度が向上します。さらに、Oracle DatabaseおよびTimesTenのデータ・ソースのリテラルが、DOUBLEではなく、NUMERICとしてインスタンス化されます。
関連情報については、「数値リテラル」を参照してください。
Oracle DatabaseおよびTimesTenに対するNUMERICデータ型のサポートを有効にする手順は次のとおりです。
NQSConfig.INIで、ENABLE_NUMERIC_DATA_TYPE
をYES
に設定します。手順については、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のENABLE_NUMERIC_DATA_TYPEに関する項を参照してください。
物理レイヤーのデータベース・オブジェクトでNUMERIC_SUPPORTEDデータベース機能を有効にします。データベース機能の設定方法については、「データ・ソースでサポートされるSQL機能の指定」を参照してください。
これらの手順を実行した後、Oracle DatabaseおよびTimesTenからOracle BIリポジトリにインポートされたデータの10進/数値データはNUMERICに設定され、ユーザーが入力した10進/数値SQLはNUMERICとして扱われます。このパラメータがYESに設定されていても、他のデータベース・タイプからインポートされた10進/数値データはDOUBLEとしてマップされます。
この設定を変更する前にインポートされた物理列のデータ型は変更されません。つまり、NUMBERではなくDOUBLEとして宣言されたOracle DatabaseまたはTimesTenの列は、このパラメータの設定に関係なく、Oracle Business IntelligenceにそのままDOUBLEとしてインポートされます。既存のDOUBLE物理列については、必要に応じてデータ型を手動でNUMBERに更新してください。
次の点に注意してください。
数値データ型は、他の数字データ型との間で互いにキャストすることができます。
数値データ型のサポートは、Oracle BI ServerのJDBCドライバを通した場合は使用できません。
数値データ型を有効にするとパフォーマンスのオーバーヘッドが生じることがありますが、これは数値データのほうがビット数が多いためです。
Essbaseキューブ・デプロイメント・サービス・ウィザードを使用してOracle BIリポジトリに新しいEssbase接続プールを作成する場合、共有ログオン・ユーザー名とパスワードを入力できません。ただし、現在のバージョンのOracle BIでは、共有ログオンがすべてのEssbase接続プールに必要です。
共有ログオンなしで構成されるEssbase接続プールにより、Oracle BIサーバーがOracle BIからのEssbase接続に対してサポートされなくなったCSS共有トークン認証を使用します。これにより、Visual Analyzerなどの特定のOracle BIコンポーネントからのEssbase接続が次のエラーで失敗する場合があります。
[nQSError: 96002] Essbase Error: Login failed with error 1051293. Verify the URL and the login credentials.
この問題を回避するには2つの方法があります。
Essbaseキューブ・デプロイメント・サービス・ウィザードを使用する場合、ユーザーは共有ログオン情報がすでに用意されているリポジトリから既存のEssbaseデータ・ソースおよび接続プールを選択できます。
Essbaseキューブ・デプロイメント・サービス・ウィザードを完了した後、ユーザーは管理ツールのリポジトリを開き、ウィザードで作成された接続プールを手動で更新して必要な共有ログオン情報を指定できます。不要な場合、ユーザーはSSOオプションの選択を解除することもできます。
Essbase接続プールのSSOおよび共有ログオン・オプションを使用する方法の詳細は、「「一般」タブの多次元接続プールのプロパティ」を参照してください。
サポートされているリレーショナル・データ・ソース・タイプのメタデータをインポートするには、メタデータのインポート・ウィザードで該当する接続タイプを選択します。メタデータをインポートするには、ローカル・コンピュータにすべてのデータベース接続を設定しておく必要があります。オフライン・モードとオンライン・モードのどちらでもメタデータをインポートできます。
他のデータ・ソースからのインポートについては、「マルチディメンション・データ・ソースからのメタデータのインポート」および第6章「ADFデータ・ソースでの作業」を参照してください。
物理表をインポートする際には、作成したビジネス・モデルで使用する可能性があるデータを含む表のみにインポートを制限するよう注意してください。「検索」機能を使用すると、インポートする表を検索して選択することができます。無関係な表やその他のオブジェクトを多数インポートすると、不必要に複雑になるとともに、リポジトリのサイズが大きくなります。
ほとんどのデータ・ソースのメタデータをインポートする際、デフォルトでは、表、主キーおよび外部キーがインポートされます。物理レイヤーにキーが自動的に作成されるように、表とともに主キーと外部キーをインポートすることをお薦めします。キーをインポートしなかった場合、手動でキーを作成する必要があります。このプロセスには時間がかかる可能性があります。
データベース・ビュー、別名、シノニムおよびシステム表をインポートすることもできます。これらのオブジェクトをインポートするのは、Oracle BIサーバーでそれらに対する問合せを生成する場合のみにしてください。
メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートする場合、「行数の更新」オプションはデータベースの物理表の右クリック・メニューに表示されません。
リレーショナル・データ・ソースからメタデータをインポートするには:
管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。
注意: 既存のデータベースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。 |
図5-1に、メタデータのインポート・ウィザードを示します。
「データ・ソースの選択」画面の「接続タイプ」フィールドで、データ・ソースに適した接続のタイプ(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」リストで、スキーマのインポート元のデータ・ソースを選択します。次に、データ・ソースの有効なユーザー名とパスワードを入力します。
Oracle BIサーバー経由でインポートする場合、DSNエントリは、ローカル・コンピュータ上ではなくOracle BIサーバー・コンピュータ上にあります。
OCI 10g/11gおよびDB2 CLI (Unicode)データ・ソースについては、「データ・ソース名」フィールドにデータ・ソースの名前を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。
Oracle Databaseデータ・ソースについては、データ・ソース名として接続文字列全体またはtnsnames.oraファイル内のネット・サービス名を入力できます。ネット・サービス名を入力する場合は、次でOracle Business Intelligence環境内のtnsnames.oraファイルを設定していることを確認する必要があります。
BI_DOMAIN\config\fmwconfig\bienv\core
他のデータ・ソース・タイプについては、別の項で説明します。
Essbase、XMLA、Oracle OLAP、Hyperion ADMおよびSAP BWネイティブについては、「マルチディメンション・データ・ソースからのメタデータのインポート」を参照してください。この項では、ODBC 3.5を介したOracle RPASデータ・ソースからのインポートについても説明します。
XMLについては、「XMLデータ・ソースからのメタデータのインポートについて」を参照してください。
OracleADF_HTTPについては、第6章「ADFデータ・ソースでの作業」を参照してください。
「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。「メタデータ型の選択」画面が表示されます。
インポートするオブジェクトのタイプに対応するオプション(「表」、「キー」、「外部キー」など)を選択します。一部のオプションは自動的に選択されます。デフォルトで選択されるオブジェクト・タイプはデータ・ソースのタイプごとに異なり、データ・ソースの一般的なオブジェクトに基づきます。
結合をインポートするには、「キー」と「外部キー」の両方を選択します。システム表をインポートするには、データ・ソースのシステム権限が必要です。カスタマ・リレーションシップ・マネジメント(CRM)表からインポートするには、「CRM表からのメタデータ」を選択します。
「次へ」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。
インポートするオブジェクトを「使用可能」リストで選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「選択済」リストに移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「選択済」リストから「使用可能」リストにオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。
すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。
「終了」をクリックします。
インポートできなかったオブジェクトがある場合、警告メッセージのリストが表示されます。メッセージが表示されたダイアログで、次の処理を実行できます。
特定の用語を検索するには、「検索」、「再検索」の順にクリックします。
別のファイルにメッセージを貼り付けることができるようにウィンドウの内容をコピーするには、「コピー」をクリックします。
メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時にOracle BIサーバーが正確なデータベース・タイプを特定できず、類似するタイプをデータベース・オブジェクトに割り当てることがまれにあります。このようなオブジェクトの処理の詳細は、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。
また、物理列や物理表など、インポートしたデータを物理レイヤーで視覚的に調べて、インポートが正常に完了していることを確認することをお薦めします。
「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、ADFデータ・ソースでのみ使用することができます。
「論理モデルへのマップ」画面の詳細は、「論理モデルへのフレックス・オブジェクト変更の自動マッピング」を参照してください。
マルチディメンション・データ・ソースからOracle BIリポジトリの物理レイヤーにメタデータをインポートできます。マルチディメンション・データ・ソースを使用できることで、Oracle BIサーバーは、Essbase、Oracle OLAP、Hyperion Financial Management、Hyperion Planning、Microsoft Analysis Services、SAP/BW (SAP/ビジネスウェアハウス)などのソースのデータに接続して抽出できます。
マルチディメンション・データ・ソースとリレーショナル・データ・ソースの設定の主な違いは、物理レイヤーにあります。ビジネス・モデルとプレゼンテーション・レイヤーにおけるマルチディメンション・データ・ソースとリレーショナル・データ・ソースの設定は、ほとんど同じです。
インポート・プロセスでは、マルチディメンション・データ・ソースの各キューブが1つの物理キューブ表として作成されます。Oracle BIサーバーでは、メトリック、ディメンション、階層などのキューブ・メタデータがインポートされます。キューブをインポートしたら、物理キューブ列に正しい集計ルールがあり、階層タイプが正しいことを確認する必要があります。詳細は、「物理階層オブジェクトでの作業」を参照してください。
注意: マルチディメンション・データ・ソースから物理スキーマを手動で作成すると、多大な労力を要するうえ、エラーが発生しやすくなります。そのため、インポート手法を使用することを強くお薦めします。 |
ビジネス・モデルで使用しない階層や列は、物理レイヤーから削除することをお薦めします。これによって、管理ツールで不要なオブジェクトを保守する必要がなくなり、パフォーマンスが向上する可能性があります。
メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートする場合、「行数の更新」オプションはデータベースの物理表の右クリック・メニューに表示されません。
マルチディメンション・データ・ソースからメタデータをインポートするには:
管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。
注意: 既存のデータベースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。この方法を使用して、増分インポートを実行することもできます。 |
図5-2に、メタデータのインポート・ウィザードを示します。
「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、ADFデータ・ソースでのみ使用可能なことに注意してください。詳細は、「「論理モデルへのマップ」画面と「ウェアハウスに公開」画面について」を参照してください。
「データ・ソースの選択」画面の「接続タイプ」フィールドで、データ・ソースに適した接続のタイプを選択します。
「データ・ソースの選択」画面の残りのフィールドやオプションは、選択した接続タイプによって異なります。表5-1に、マルチディメンション接続タイプを示します。
表5-1 マルチディメンション接続オプション
接続タイプ | 説明 |
---|---|
ODBC 3.5 |
ODBC 3.5接続タイプは、Oracle RPASデータ・ソースに使用します。DSNエントリを選択し、選択したデータ・ソースのユーザー名とパスワードを入力します。詳細は、「ODBCデータ・ソース名(DSN)の設定」を参照してください。 |
Essbase 9+ |
このオプションは、Essbase 9またはEssbase 11で使用します。「Essbase Server」フィールドに、Essbaseサーバーを実行しているコンピュータのホスト名を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。この情報は、データ・ソース管理者から入手してください。 Essbase Serverがデフォルト以外のポートで実行していたり、Essbase Clusterの一部である場合には、ポート番号をhostname 次の点に注意してください。
|
XMLA |
XMLA接続タイプは、Microsoft Analysis ServicesおよびSAP/BWに使用します。スキーマのインポート元のデータ・ソースのURLを入力します。次に、プロバイダ・タイプ(Analysis Services 2000やSAP/BW 3.5/7.0など)と、データ・ソースの有効なユーザー名およびパスワードを入力します。 「ターゲット・データベース」については、次のいずれかを実行します。
|
Oracle OLAP |
「データ・ソース名」フィールドにデータ・ソースの名前(ネット・サービス名)を入力し、データ・ソースの有効なユーザー名とパスワードを入力します。データ・ソース名は、tnsnames.oraファイルに作成したエントリと同じです。必ず、Oracle Business Intelligence環境のtnsnames.oraファイル内の名前を使用してください。ネット・サービス名のかわりに、接続文字列全体を入力することもできます。 URLの場合は、biadminservletのURLを指定します。このサーブレットは、Oracle OLAPメタデータ・インポートに使用されます。サーブレットの名前は http://localhost:9704/biadminservlet/services これを使用するためには、サーブレットは稼動中である必要があります。インポート・エラーを受信した場合、管理コンソールでサーブレットのステータスをチェックします。管理サーバーの診断ログおよびドメイン・ログを参照することもできます。 Oracle OLAPデータ・ソースのデータを物理レイヤーでモデリングする方法については、「Oracle OLAPデータ・ソースでの作業」を参照してください。 注意: OLAPオプションを使用するOracle Databaseデータ・ソースには、リレーショナル表とマルチディメンショナル表の両方を含めることができます。ただし、管理ツールで同じデータベース・オブジェクトに両方の表タイプを持つことは避けてください。表タイプ別に異なるデータベース機能セットを指定することが必要な場合があるためです。 たとえば、データベース機能 リレーショナル表とマルチディメンション表について、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.jar、ap.jarおよびHspAdm.jarファイルを検索してコピーし、 ADMシン・クライアント・ドライバを使用するHyperion Planning 11.1.2.4以上では、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。 adm:thin:com.hyperion.ap.hsp.HspAdmDriver:[server]%3A[port]:[application_name 例: adm:thin:com.hyperion.ap.hsp.HspAdmDriver:server_name.example.com%3A8300:PFP_OFP3 また、使用するデータ・ソースについて、プロバイダ・タイプを選択して、有効なユーザー名およびパスワードを入力する必要があります。 JavaHostプロセスを実行して、オフラインおよびオンラインのインポートに対し、Hyperion Financial Managementデータ・ソースまたはHyperion Planningデータ・ソースから、インポートする必要があります。 詳細は、「Hyperion Financial Managementデータ・ソースおよびHyperion Planningデータ・ソースでの作業」を参照してください。 注意: インポート前に、「Hyperion Financial Managementデータ・ソースの設定について」に記載されている事前構成手順を必ず実行してください。 |
SAP BWネイティブ |
次の情報を指定します。
最初の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 注意: インポート前に、「SAP/BWデータ・ソースの設定」に記載されている事前構成手順を必ず実行してください。 |
他のデータ・ソース・タイプについては、別の項で説明します。
XMLについては、「XMLデータ・ソースからのメタデータのインポートについて」を参照してください。
ODBC 2.0、OCI 10g/11gおよびDB2 CLI (Unicode)については、「リレーショナル・データ・ソースからのメタデータのインポート」を参照してください。
OracleADF_HTTPについては、第6章「ADFデータ・ソースでの作業」を参照してください。
「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。
Oracle RPASデータ・ソースの場合のみ、「メタデータ型の選択」画面が表示されます。Oracle RPASについては、「表」、「キー」および「外部キー」を選択してください。次に、「次へ」をクリックします。
詳細は、「Oracle RPASデータ・ソースからのメタデータのインポートについて」を参照してください。
「メタデータ・オブジェクトの選択」画面で、インポートするオブジェクトを「使用可能」リストから選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「選択済」リストに移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「選択済」リストから「使用可能」リストにオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。
すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。
Essbaseデータ・ソースの場合、UDA(ユーザー定義属性)をインポートするには、「UDAのインポート」を選択します。
「終了」をクリックします。
インポートできなかったオブジェクトがある場合、警告メッセージのリストが表示されます。メッセージが表示されたダイアログで、次の処理を実行できます。
特定の用語を検索するには、「検索」、「再検索」の順にクリックします。
別のファイルにメッセージを貼り付けることができるようにウィンドウの内容をコピーするには、「コピー」をクリックします。
メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時にOracle BIサーバーが正確なデータベース・タイプを特定できず、類似するタイプをデータベース・オブジェクトに割り当てることがまれにあります。このようなオブジェクトの処理の詳細は、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。
また、物理列や階層レベルなど、インポートしたデータを物理レイヤーで視覚的に調べて、インポートが正常に完了していることを確認することをお薦めします。
Essbaseデータ・ソースについては、すべての階層がデフォルトで非バランス型としてインポートされます。物理階層ごとに「階層タイプ」プロパティを確認し、必要に応じて値を変更してください。Essbaseでサポートされている階層タイプは、「非バランス型」、「完全なバランス型」および「値」です。
この項では、管理ツールを使用した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 Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』を参照してください。
Oracle RPASデータ・ソースからのメタデータのインポート後に、スキーマのデータベース・オブジェクトが自動的に作成されます。RPASのバージョンによっては、「データ・ソース定義」:「データベース・プロパティ」(「データベース」ダイアログの「一般」タブにあります)を次の理由で調節する必要が生じる場合もあります。
RPASが「データ・ソース定義」の「データベース」フィールドで指定されていて、RPASのバージョンが1.2.2以前である場合、BIサーバーでは、SQLが生成されてデータベースに送信されるときに集計ナビゲーションを実行しますが、これは論理表ソースのナビゲーションで通常に実行される方法とは異なります。生成済SQLで使用される表名は自動的に生成されるため、生成済SQLとデータベース表名との間で不一致が生じます。SQLを実行可能にするには、次のように処理する必要があります。
メタデータにリストされた表の名前を変更して、生成された名前が正しくなるようにします。
生成された名前と同じ名前の表をデータベースに作成します。
データベースに同じ名前の表がなかったり、標準の集計ナビゲーションをOracle Business Intelligence内に入れる場合には、「データ・ソース定義」の「データベース」フィールドをRPASからODBC Basicに変更する必要があります。詳細は、「物理レイヤーでのデータベース・オブジェクトの手動での作成」を参照してください。
この項では、Extensible Markup Language (XML)ドキュメントからメタデータをインポートする方法について説明します。Oracle BIサーバーでは、Oracle BIサーバーXML Gatewayを使用したアクセスと、XML ODBCドライバを使用したアクセスという、2つの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データ・ソースを作成することもできます。変数の詳細は、第19章を参照してください。
Oracle BIサーバーがローカル以外のファイル(ネットワーク・ファイルやインターネット上のファイルなど)にアクセスする必要がある場合は、それらのリモート・ファイルにアクセスするための十分なネットワーク権限がある、有効なユーザーIDとパスワードを使用してOracle BIサーバーを実行する必要があります。
Oracle BIサーバーXML Gatewayを使用すると、メタデータのインポート・プロセスによって、XMLドキュメントが、XMLファイル名の語幹(接尾辞のないファイル名)を表名として使用し、XMLドキュメントの第2レベルの要素を行デリミタとして使用して、表形式にフラット化されます。すべてのリーフ・ノードは、その表に属する列としてインポートされます。リーフ・ノードへの階層アクセス・パスもインポートされます。
Oracle BIサーバーXML Gatewayでは、XMLスキーマに格納されたメタデータ情報が使用されます。XMLスキーマはXMLドキュメント内に含まれているか、XMLドキュメントのルート要素内で参照されます。
使用可能なスキーマがない場合は、すべてのXMLデータがテキスト・データとしてインポートされます。リポジトリの作成時に、物理レイヤーの列のデータ型を変更して、スキーマで定義されている対応する列のデータ型を上書きできます。ゲートウェイによって、入力データが、物理レイヤーで指定した目的の型に変換されます。CAST
演算子を使用して、管理ツールのビジネス・モデルとマッピング・レイヤーでテキスト・データ型を他のデータ型にマップすることもできます。
Oracle BIサーバーXML Gatewayでは、次の項目はサポートされません。
XMLドキュメントに含まれる外部参照の解決(「Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントの例」のサンプル・ファイルに示されている外部XMLスキーマへの参照を除く)
Microsoft XMLスキーマに含まれる要素および属性の継承
混合コンテンツ・モデルの要素タイプ(<p> hello <b>Joe</b>, how are you doing?</p>のように、要素とCDATAが混在するXML要素など)
メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートする場合、「行数の更新」オプションはデータベースの物理表の右クリック・メニューに表示されません。
Oracle BIサーバーXML Gatewayを使用してXMLデータをインポートするには:
管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが表示されます。
注意: 既存のデータベースおよび接続プールをすでに定義している場合は、物理レイヤーの接続プールを右クリックし、「メタデータのインポート」を選択します。メタデータのインポート・ウィザードが開き、情報があらかじめ入力された「データ・ソースの選択」画面が表示されます。 |
図5-3に、メタデータのインポート・ウィザードを示します。
「論理モデルへのマップ」画面および「ウェアハウスに公開」画面は、ADFデータ・ソースでのみ使用可能なことに注意してください。詳細は、「「論理モデルへのマップ」画面と「ウェアハウスに公開」画面について」を参照してください。
「データ・ソースの選択」画面の「接続タイプ」フィールドで「XML」を選択します。続いて、次の値を指定します。
「URL」フィールドで、XMLデータ・ソースのURLを指定します。Oracle BIサーバーXML Gatewayでは、前の項で説明したすべてのデータ・ソースがサポートされます。
URLには、リポジトリ変数またはセッション変数を含めることができます。変数の詳細は、第19章を参照してください。
「参照」をクリックすると、「XMLファイルの選択」ダイアログが表示され、ファイルを1つ選択できます。XMLドキュメントの場合、URL内でファイル名を指定する際に拡張子.xml
を付ける必要があります。拡張子を付けなかった場合、ドキュメントはHTMLドキュメントとして処理されます。
該当するフィールドに、HTTP基本認証セキュリティ・モードを採用しているHTTPサイトへの接続に使用するユーザー名とパスワードを入力します(オプション)。
HTTP基本認証セキュリティ・モードに加え、Oracle BIサーバーXML Gatewayでは、セキュアHTTPプロトコル、および以前はNTLMまたはWindows NT Challenge/Response認証と呼ばれていた統合Windows認証(Windows 2000の場合)もサポートされます。
「データ・ソースの選択」画面で情報を入力し終わったら、「次へ」をクリックします。「メタデータ型の選択」画面が表示されます。
インポートするオブジェクトのタイプに対応するオプション(「表」、「キー」、「外部キー」など)を選択します。最も一般的なオプションは自動的に選択されます。
結合をインポートするには、「キー」と「外部キー」の両方を選択します。システム表をインポートするには、データ・ソースのシステム権限が必要です。
「次へ」をクリックします。「メタデータ・オブジェクトの選択」画面が表示されます。
インポートするオブジェクトを「使用可能」リストで選択し、「>」(選択対象をインポート)ボタンまたは「>>」(すべてインポート)ボタンを使用して「選択済」リストに移動します。「<」(選択対象を削除)ボタンおよび「<<」(すべて削除)ボタンを使用して、「選択済」リストから「使用可能」リストにオブジェクトを戻すこともできます。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。
すでにインポートされているオブジェクトを含め、すべてのオブジェクトを表示するには、「完全な構造の表示」を選択します。このオプションの選択を解除すると、インポート可能なオブジェクトのみが表示されます。このオプションを選択した場合、すでにインポートされているオブジェクトはグレー表示されます。
「終了」をクリックします。
XMLデータをインポートしたら、接続プールの設定を調整する必要があります。詳細は、「接続プールの作成または変更」を参照してください。少なくとも、次の作業を実行する必要があります。
「接続プール」ダイアログの「一般」タブで、接続の名前および説明(オプション)を入力します。
「XML」タブをクリックして、URLリフレッシュ間隔や、タイムアウトするまでのURLのロードの待ち時間など、その他の接続プロパティを設定します。
一般に、XMLデータ・ソースはリアルタイムで頻繁に更新されるため、Oracle BIサーバーXML Gatewayデータ・ソースのリフレッシュ間隔を指定できます。デフォルトの問合せのタイムアウト間隔(URLのロードのタイムアウト)は15分です。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のXMLデータ・ソースのリフレッシュ間隔に関する項を参照してください。
この項の例に、Oracle BIサーバー XML Gatewayによって生成されるXMLドキュメントのサンプルおよび対応する列を示します。
例5-1 外部ファイルに格納された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
、列名はp1
、p3
、p6
、p7
、p5
および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
例5-2 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
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)。
その他のXMLの例については、「XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート」および「XMLドキュメントの例」を参照してください。
XML ODBCデータベース・タイプを使用すると、ODBCインタフェースを介してXMLデータ・ソースにアクセスできます。物理表の物理列を表すXML要素のデータ型は、XMLスキーマで定義されたXML要素のデータ型から派生します。
適切なXMLスキーマがない場合は、デフォルトの文字列データ型が使用されます。物理レイヤーにおけるデータ型の設定によって、XMLデータ・ソースで定義されたデータ型が上書きされることはありません。XMLスキーマがないXMLデータにアクセスする場合は、CAST
演算子を使用して、管理ツールのビジネス・モデルとマッピング・レイヤーでデータ型の変換を実行してください。
メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートする場合、「行数の更新」オプションはデータベースの物理表の右クリック・メニューに表示されません。
ODBCを使用してXMLデータをインポートするには:
ODBC経由でXMLデータ・ソースにアクセスするには、まず、XML ODBCドライバのライセンスを入手し、インストールする必要があります。
アクセスするXMLデータ・ソースを指すODBC DSNを作成し、XML ODBCデータ・ソース・タイプを選択していることを確認します。
管理ツールで、「ファイル」を選択し、「メタデータのインポート」を選択します。
ダイアログの指示に従って、ODBC DSNをリポジトリにインポートします。詳細は、「リレーショナル・データ・ソースからのメタデータのインポート」を参照してください。
注意: XML ODBCの制限事項により、「メタデータ型の選択」画面で「シノニム」オプションを選択する必要があります。このオプションを選択しなかった場合、表はインポートされません。 |
この項の例に、Microsoft ADOの保存ファイル形式によるXML ODBCデータ・ソースを示します。データとスキーマの両方を同じドキュメントに含めることができます。
例5-3 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.xmlと8_sch.xml (例5-4および例5-5を参照)は、異なるスコープで同じ要素宣言を使用する方法を示しています。たとえば、<p3>を<p2>内および<p4>内で使用できます。
前述の例の要素<p3>は2つの異なるスコープに出現するため、インポート・プロセスで2回目にこの要素が出現したときに索引番号を追加することによって、各要素に異なる列名が付けられます。この場合、2回目に出現した要素はp3_1となります。さらに他のコンテキストで<p3>が出現する場合は、p3_2、p3_3となります。
XMLドキュメント83.xmlと84.xml (例5-4および例5-6を参照)は、複数のXMLファイルで同じスキーマ(8_sch.xml)を共有できることを示しています。
Internet Explorerバージョン5以降では、XMLアイランドと呼ばれる埋込みXMLフラグメントを含むHTMLドキュメントがサポートされます。XMLドキュメントisland2.htm (例5-7を参照)は、複数のXMLデータ・アイランドおよび複数の表を1つのドキュメントから生成できる単純な状況を示しています。XMLアイランドのインスタンスごとに表が1つずつ生成されます。表を区別するために、ドキュメント名に適切な索引が追加されます。island2.htmの場合、island2_0およびisland2_1という2つのXML表が生成されます。
例5-4 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>
例5-5 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>
例5-6 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>
例5-7 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でスタンバイ・データベースを使用する方法について説明します。
スタンバイ・データベース構成には2つのデータベースがあります。すべての書込み操作を処理し、データ整合性のための真実のソースとなるプライマリ・データベースと、読取り専用ソースとして公開されるセカンダリ・データベースです。Oracle Business Intelligenceでスタンバイ・データベース構成を使用すると、すべての書込み操作がプライマリ・データベースにオフロードされ、読取り操作がスタンバイ・データベースに送信されます。
プライマリ・ソースにルーティングする必要がある書込み操作には、次のようなものがあります。
Oracle BIスケジューラのジョブおよびインスタンス・データ
パフォーマンスを向上させるための一時表
集計の継続性のためのライトバック・スクリプト
使用状況トラッキング・データ(使用状況トラッキングが有効になっている場合)
イベント・ポーリング表のデータ(イベント・ポーリング表を使用する場合)
次に、スタンバイ・データベースを使用するようにOracle BIサーバーを構成する方法の概要を示します。
Oracle BIサーバーを構成してスタンバイ・データベースを使用するには:
スタンバイ・データベース構成のデータベース・オブジェクトを1つ作成します。一時表の作成は無効にしてください。
データベース・オブジェクトの接続プールを2つ構成します。
スタンバイ・データベースを指す読取り専用の接続プール
書込み操作に使用するプライマリ・データベースを指す接続プール
データベースへの書込みを行う接続スクリプトを更新して、プライマリ・データベースの接続プールを明示的に指定します。
使用状況トラッキングが有効になっている場合、プライマリ接続を使用するように使用状況のトラッキングの構成を更新します。
イベント・ポーリング表を使用する場合、プライマリ接続を使用するようにイベント・ポーリング・データベースの構成を更新します。
Oracle BIスケジューラがスタンバイ・ソースを使用するように構成されていないことを確認します。
スタンバイ・データベース構成には2つの異なる物理データ・ソースがありますが、物理レイヤーに作成するデータベース・オブジェクトは1つだけです。図5-4に、物理レイヤーにおけるスタンバイ・データベース構成のデータベース・オブジェクトと接続プールを示します。
スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成するには、管理ツールを使用します。データベース・オブジェクトを作成する際には、Oracle BIサーバーがスタンバイ・データベースに一時表を作成しないように、永続接続プールが割り当てられていないことを確認してください。
スタンバイ・データベース構成のデータベース・オブジェクトを作成するには:
管理ツールで、物理レイヤーを右クリックし、「新規データベース」を選択します。
データベースの名前を入力し、「データベース」リストでデータベースのタイプを選択します。
「永続化された接続プール」が「未割当て」であることを確認します。
図5-5に、スタンバイ・データベース構成の「データベース」ダイアログを示します。
スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成したら、管理ツールを使用して、2つの接続プールを作成します。スタンバイ・データベースを指す接続プールと、プライマリ・データベースを指す接続プールです。
ほとんどの接続にスタンバイ接続プールが使用されるため、必ず、スタンバイ接続プールが最初に表示されるようにしてください。
注意: 接続プールは、最大接続数に達するまで、表示されている順に使用されます。スタンバイ・データベースのチューニングに合せて最大接続数を設定してください。最大接続数の設定の詳細は、「接続プールの作成または変更」を参照してください。 |
スタンバイ・データベース構成のスタンバイ接続プールを作成するには:
管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。
接続プールの名前を入力し、呼出しインタフェースがスタンバイ・データベース・タイプに適していることを確認します。
スタンバイ・データベースのデータ・ソース名を入力します。
スタンバイ・データベースのユーザー名とパスワードを入力します。
「OK」をクリックします。
図5-6に、スタンバイ接続プールの「接続プール」ダイアログを示します。
スタンバイ・データベース構成のプライマリ接続プールを作成するには:
管理ツールの物理レイヤーで、スタンバイ・データベース構成のデータベース・オブジェクトを右クリックし、「新規オブジェクト」を選択し、「接続プール」を選択します。
接続プールの名前を入力し、呼出しインタフェースがプライマリ・データベース・タイプに適していることを確認します。
プライマリ・データベースのデータ・ソース名を入力します。
プライマリ・データベースのユーザー名とパスワードを入力します。
「OK」をクリックします。
図5-7に、プライマリ接続プールの「接続プール」ダイアログを示します。
集計の永続性のためのスクリプトなど、データベースへの書込みを行うスクリプトを使用する場合は、プライマリ接続プールを明示的に参照するようにスクリプトを更新する必要があります。プライマリ接続を介して書き込まれた情報は、(プライマリ・データベースとセカンダリ・データベース間の定期的にスケジュールされたレプリケーションによって)自動的にスタンバイ・データベースに転送され、スタンバイ接続プールを介して使用できるようになります。
次の例は、プライマリ接続プールを明示的に指定する、集計の永続性のためのライトバック・スクリプトを示しています。
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サーバーでは、使用状況トラッキング・データの収集がサポートされます。使用状況トラッキングが有効な場合、問合せごとに使用状況トラッキング・データが収集され、統計が使用状況トラッキングのログ・ファイルに書き込まれるか、データベース表に直接挿入されます。
直接挿入を使用して、スタンバイ・データベース構成で使用状況トラッキングを有効にするには、使用状況トラッキング・データの保存に使用する表(通常はS_NQ_ACCT
)をプライマリ・データベースに作成する必要があります。その後、管理ツールを使用してリポジトリの物理レイヤーにその表をインポートします。
スタンバイ接続プールとプライマリ接続プールの両方で使用状況トラッキング表のデータベース・オブジェクトが構成されていることを確認する必要があります。その後、使用状況トラッキングのCONNECTION_POOL
パラメータがプライマリ・データベースを指していることを確認してください。たとえば、NQSConfig.iniで次のように構成されている必要があります。
CONNECTION_POOL = "StandbyDatabaseConfiguration".
"Primary Connection";
使用状況トラッキング・データの表を作成する方法や使用状況トラッキングのパラメータを設定する方法など、使用状況トラッキングの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の使用状況トラッキングの管理に関する項を参照してください。
1つ以上の物理表が更新されたことをOracle BIサーバーに通知する方法として、Oracle BIサーバーのイベント・ポーリング表(イベント表)を使用できます。イベント表は、Oracle BIサーバーがアクセス可能なデータベース上の物理表です。通常は管理ツールの物理レイヤーのみに公開され、「物理表」ダイアログでOracle BIサーバーのイベント表として指定されます。
Oracle BIサーバーには、イベント・ポーリング表への書込み権限が必要です。そのため、スタンバイ・データベース構成でイベント・ポーリングを使用する場合は、イベント表のデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。
イベント表を設定、アクティブ化および移入する方法など、イベント・ポーリングの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』のイベント・ポーリング表によるキャッシュ・イベント処理に関する項を参照してください。
Oracle BIスケジューラは、ジョブ(スクリプト化されたジョブとスクリプト化されていないジョブの両方)の管理とスケジュールを行う拡張可能なアプリケーションおよびサーバーです。スタンバイ・データベース構成でOracle BIスケジューラを使用するには、Oracle BIスケジューラのデータベース・オブジェクトがプライマリ接続プールのみを参照するようにする必要があります。
Oracle BIスケジューラの設定と使用の詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイドのOracle BIスケジューラの構成作業に関する項を参照してください。