Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1.3.0) E90110-03 |
|
前 |
次 |
この章のトピックは、次のとおりです:
Oracle BIリポジトリ・ファイルを作成した後、データ・ソースからリポジトリの物理レイヤーにメタデータをインポートできます。
Oracle BI管理ツールの物理レイヤーには、Oracle BIサーバーが問合せを送信するデータ・ソース、および物理データベースと複数のデータ・ソース問合せの処理に使用される他のデータ・ソース間のリレーションシップが含まれます。
Oracle BIリポジトリにインポートされるメタデータには、ODBCまたは基礎となるデータ・ソースへのネイティブ・データベース接続が含まれている必要があります。ODBC接続を使用してMicrosoft Excelなどのソフトウェアからメタデータをインポートすることもできます。
各データ・ソースからメタデータをインポートする場合、データ・ソースの構造も物理レイヤーにインポートされます。Oracle BIサーバーおよび他のクライアントでは、サポートされているデータ・ソースのデータを表示できます。サポートされていないデータ・ソースのメタデータをインポートすることはできません。
メタデータをインポートすると、関連するデータベース・オブジェクトおよび接続プールのプロパティが自動的に設定されます。データベースや接続プールの設定は調整可能です。データベース・オブジェクトおよび接続プールの設定を参照してください。
エラーを防ぐために、手動で物理レイヤーを作成するのではなく、メタデータをインポートすることをお薦めします。
Oracle管理ツールの新規リポジトリの作成ウィザードを使用して、新しいOracle BIリポジトリをバイナリ(RPD)またはMDS XML形式で作成できます。
リポジトリがあると、既存のデータ・ソース設定を別のデータ・ソースに接続するためのテンプレートとして使用できます。既存のデータ・ソース設定を使用し、データベース・タイプと接続プールの情報のみを変更するには、「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。
「データ・ソースの事前構成作業の実行」を参照してください。
データ・ソース・タイプの詳細は、次の各項を参照してください。
Oracle Business Intelligenceがデータ・ソースにアクセスできるように、構成ステップを実行することが必要になる場合があります。
データ・ソースからリポジトリ・ファイルに物理オブジェクトをインポートしたり、接続プールをデータ・ソースに設定する前に、これらの構成ステップが必要になる場合があります。
多くのデータ・ソースについては、クライアント・コンポーネントをインストールする必要があります。クライアント・コンポーネントは多くの場合、問合せアクセスについてはOracle BIサーバーをホストするコンピュータに、インポートなどのオフライン操作については管理ツールをホストするコンピュータ(異なる場合)にインストールします。場合によっては、JavaHostプロセスが配置されているコンピュータにクライアント・コンポーネントをインストールする必要があります。
この項では、次の項目について説明します。
ODBC接続を介したデータ・ソースからのインポートや、ODBCデータ・ソースへの接続プールの設定を行う前に、クライアント・コンピュータでそのデータ・ソースのODBCデータ・ソース名(DSN)を作成しておく必要があります。
データ・ソースからメタデータをインポートする際、メタデータのインポート・ウィザードでこのDSNを参照します。
ODBC DSNは、Windowsシステムでのみインポートに使用できます。
WindowsシステムのODBC DSNは、初期インポートにも、問合せ実行時のデータ・ソースへのアクセスにも使用されます。UNIXシステムでは、ODBC DSNはデータ・アクセスにのみ使用されます。「LinuxおよびUNIXでのデータソースの設定について」を参照してください。
「Teradataデータ・ソースの設定」を参照してください。
Oracle Databaseデータ・ソースからメタデータをインポートする場合や接続プールを設定する場合、データ・ソース名として接続文字列全体を入力することも、tnsnames.oraファイルで定義されているネット・サービス名を使用することもできます。
ネット・サービス名のみを入力するには、Oracle BIサーバーがそのエントリを特定できるように、Oracle Business Intelligence環境の次の場所でtnsnames.ora
ファイルを設定する必要があります。
BI_DOMAIN\config\fmwconfig\bienv\core
Oracle DatabaseからのメタデータのインポートやOracle Databaseへの接続には常にOracle Call Interface (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 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機能がオブジェクトに自動的に適用されます。
高速アプリケーション通知(FAN)イベントと高速接続フェイルオーバー(FCF)がOracle Databaseで有効になっている場合、Oracle Call Interface (OCI)はFANイベントを使用して、Oracle Databaseデータ・ソースのFCFを有効にします。
高速アプリケーション通知(FAN)イベントと高速接続フェイルオーバー(FCF)は、バックグラウンドで実行されます。Oracleデータベースを使用できないためにユーザーが開始したOracle Business Intelligence問合せに失敗した場合、ただちに問合せに失敗し、ユーザーはデータベース・リクエストのタイムアウトを待機せずに問合せを再試行できます。
クライアント・インストールを実行したコンピュータで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分かかる場合、または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またはユーザー・クライアント・デスクトップの構成を変更する必要はありません。
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 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 Database Clientをインストールする必要があります。
オフライン・インポートについてもオンライン・インポートについても、Oracle OLAPデータ・ソースからインポートするには、biadminservlet
Javaプロセスが実行中である必要があります。Fusion Middleware Controlを使用してbiadminservlet
Javaプロセスのステータスをチェックできます。
「管理者」または「ランタイム」のいずれかのクライアント・インストール・オプションを使用します。
Oracleデータベース・クライアントをインストールしたら、ORACLE_HOMEという環境変数を作成し、その変数をOracleデータベース・クライアント用のOracleホームに設定します。TNS_ADMINという環境変数を作成し、tnsnames.ora
ファイルの場所(BI_DOMAIN\config\fmwconfig\bienv\core
)に設定します。
JDBC接続タイプを使用する場合、リモートJavaデータ・ソースをWeblogic Serverに接続する必要があります。
JDBC(ダイレクト・ドライバ)を使用しない場合、この構成手順は必要ありません。
リポジトリにJDBCおよびJNDIデータ・ソースを含める前に、必要な設定タスクを実行する必要があります。
Oracle WebLogic ServerでJDBCを構成する必要があります。この構成を実行する方法の詳細は、Oracle WebLogic Serverのドキュメントの「WebLogic ServerでのJDBCドライバの使用」を参照してください。
データ・ソースをロードして、リポジトリにインポートする必要があります。Javaデータ・ソースのロードを参照してください。
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データ型のサポートの有効化」を参照してください。
Oracle Business Intelligenceのデータ・ソースとして使用する前に、TimesTenを構成する必要があります。
TimesTenデータベースがTimesTenクライアントと同じコンピュータにインストールされている場合は、メタデータのインポート・ウィザードでデータ・マネージャDSNまたはクライアントDSNを指定できます。
TimesTenソースからデータをインポートした後、または手動でデータベース・オブジェクトおよび接続プールを設定するときに、「データベース」ダイアログの「一般」タブの「データベース」フィールドにデータベース・タイプとバージョンが正しく設定されていることを確認します。また、「接続プール」ダイアログの「一般」タブの「コール・インタフェース」フィールドが正しく設定されていることを確認することも必要です。次を参照してください。
Oracle Exalytics MachineでのTimesTenソースの設定に固有の指示は、Oracle Exalytics In-Memory Machine
Oracle Business Intelligenceに対してサポートされるTimesTenのバージョンについては、「システム要件と動作要件」を参照してください。
システム・メモリー・リソースの使用を向上させるために、TimesTenサーバーの最大接続数を増やすことをお薦めします。
注意:
ロック・タイムアウトを回避するために、デプロイメントに合せて接続のLockWait間隔を調整することもできます。詳細は、TimesTen In-Memory Databaseのリファレンス・ガイドのLockWait
を参照してください。
Oracle BIサーバーは、Essbaseクライアント・ライブラリを使用して、Essbaseデータソースに接続します。
Essbaseクライアント・ライブラリは、デフォルトでOracle BI EEとともにインストールされます。Oracle BI EEの完全なインストールに対してEssbaseデータ・ソースのアクセスを有効化するために追加の構成は必要ありません。
EPMシステム・インストーラでインストールしたEssbaseに対して共有トークンを使用する認証に使用する設定については、「Essbase、Hyperion Financial ManagementまたはHyperion Planningデータ・ソースのSSOの構成」を参照してください。
これらのトピックでは、Windows ODBCドライバおよびCloudera Impalaメタデータについて説明します。
この項では、Cloudera Impalaデータ・ソースをOracle BIリポジトリで設定する方法について説明します。
クライアント・インストールを実行した場合、Cloudera Impalaメタデータのインポートに必要となるWindows ODBCドライバはありません。
Oracle Business Intelligenceインストーラを使用してOracle BI管理ツールをインストールした場合、この手順を実行する必要はありません。
Cloudera Impalaは、Massively Parallel Processing (MPP) SQL問合せエンジンで、元々、Apache Hadoopで稼働しています。この手順を実行して、Cloudera ImpalaメタデータをOracle BIリポジトリにインポートします。
この手順を実行するためには、Windows ODBCドライバを準備する必要があります。管理ツールのクライアント・インストールがある場合、Cloudera用のWindows ODBCドライバの取得の手順に従い、必要なWindows ODBCドライバをインストールする必要があります。
これらのトピックでは、Windows ODBCドライバおよびApache Hiveについて説明します。
この項では、次の項目について説明します。
管理ツールのクライアント・インストールがある場合、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型について制限事項があります。
HiveはTimestamp
データ型をサポートします。リポジトリの物理レイヤーのタイムスタンプ列には、DATE
またはDATETIME
データ型を使用します。
Hiveデータ・ソースの制限事項について学習します。
次に類似の問合せが原因で、Hiveがクラッシュすることがあります。
SELECT M, COUNT(DISTINCT M) ... FROM ... GROUP BY M ...
このような状況では、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関数の完全な構文のフォームは次のとおりです。
LOCATE ( charexp1, charexp2, [, startpos] )
ここで、charexp1
は、文字列charexp2
の中で検索の対象となる文字列です。
オプションのパラメータstartpos
は、charexp2
の中で検索開始を示す文字の位置です。
次の例に示すように、startpos
の値がcharexp2
の長さよりも長い場合、
select locate('c', 'abcde', 9) from employee
Hiveは0を返すのではなく、例外をスローします。
開始位置パラメータの値を指定してSubstring関数を使用する問合せでは、Hiveがクラッシュすることがあります。
次の場合には、Hiveがクラッシュする可能性があります。
select substring(ProductName, 2) from Products
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);
これらの必須のステップを使用して、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パスを構成する場合、バックスラッシュは機能しません。
obijh.properties
は、次の場所にあります。
ORACLE_HOME/bi/modules/oracle.bi.cam.obijh/env/obijh.properties
編集のためにobijh.properties
ファイルを開きます。
OBIJH_ARGS
変数に次の値を追加します。
DEPM_ORACLE_HOME=C:/Oracle/Middleware/EPMSystem11R1 -DEPM_ORACLE_INSTANCE=C:/Oracle/Middleware/user_projects/epmsystem1 -DHFM_ADM_TRACE=2
次の変数をobijh.properties
ファイルの最後に追加します。
EPM_ORACLE_HOME=C:/Oracle/Middleware/EPMSystem11R1
EPM_ORACLE_INSTANCE=C:/Oracle/Middleware/user_projects/epmsystem1
loaders.xml
ファイルは次の場所にあります。
ORACLE_HOME/bi/bifoundation/javahost/config/loaders.xml
loaders.xml
ファイルで、<!-- 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 Business Intelligence JavaHostプロセスを実行している各コンピュータでこれらのステップを繰り返します。
Oracle Business Intelligence Enterprise Edition Plus Clientインストーラを使用して管理ツールをインストールする場合は、Hyperion Financial Managementのデータ・ソースからオフライン・インポートを実行する前に追加の構成を実行する必要があります。
Hyperion Financial Managementデータ・ソースからオフライン・モードでインポートする場合、管理ツールは実行中のJavaHostの場所を指す必要があります。
この項のステップは、管理ツールのクライアント・インストールの場合にのみ必要です。
SAP/BWデータ・ソースに接続するには、XMLA接続タイプ、またはSAP BWネイティブ接続タイプ(BAPI)を使用します。
SAP BWネイティブ接続が、目的のプラットフォームで使用できることを確認する必要があります。
「システム要件と動作保証」を参照してください。
SAP BWネイティブ接続タイプを使用してSAP/BWデータ・ソースに接続するには、まず、OBIEE BAPI Adapter for SAPをダウンロードする必要があります。
ダウンロードに付属しているドキュメントに記載された構成手順を実行します。
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 RPAS ODBCデータソースの構成」を参照してください。
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変数を含める必要があります。
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 Business Intelligence Enterprise Edition論理SQLリファレンス・ガイドの数値リテラルに関する項を参照してください。
NQSConfig.INI
ファイルで、ENABLE_NUMERIC_DATA_TYPE
をYES
に設定します。このファイルは、BI_DOMAIN/config/fmwconfig/biconfig/OBIS
にあります。その他のデータベース・タイプからの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接続プールには、共有ログオンが必要であり、デフォルトで有効になっています。
「接続プール・プロパティ」ダイアログの「一般」タブで、共有ログオン設定を無効にすることはできません。
Oracle BIサーバーのデータ・ソースとして、EPMシステム・インストーラを使用してインストールされたHyperion Financial ManagementまたはHyperion Planningを使用する場合、共有トークンを使用して認証する必要があります。
Oracle BIサーバーのデータ・ソースとして、EPMシステム・インストーラを使用してインストールされたHyperion Financial ManagementまたはHyperion Planningを使用する場合、共有トークンを使用して認証する必要があります。Hyperion Financial ManagementまたはHyperion Planningでは、CSSトークンまたはSSOトークンを使用できます。
Oracle Business IntelligenceのユーザーおよびEnterprise Performance Managementのユーザーは、同じアイデンティティ・ストアを使用する必要があります。
注意:
Essbaseでは、CSSトークン・ベース認証はサポートされなくなりました。結果として、EssLoginAs認証を使用する場合、接続プールを更新する必要があります。EssLoginAS認証では、CSSトークン・ベース認証よりも向上した信頼性の高いパフォーマンスが提供され、接続プール内のEssbase管理者の共有ログオン資格証明を使用できます。
サポートされているリレーショナル・データ・ソース・タイプのメタデータをインポートするには、メタデータのインポート・ウィザードで該当する接続タイプを選択します。
メタデータをインポートするには、ローカル・コンピュータにすべてのデータベース接続を設定しておく必要があります。オフライン・モードとオンライン・モードのどちらでもメタデータをインポートできます。
「マルチディメンション・データ・ソースからのメタデータのインポート」と「ADFデータ・ソースでの作業」を参照してください。
物理表をインポートする際には、作成したビジネス・モデルで使用する可能性があるデータを含む表のみにインポートを制限するよう注意してください。「検索」機能を使用すると、インポートする表を検索して選択することができます。無関係な表やその他のオブジェクトを多数インポートすると、不必要に複雑になるとともに、リポジトリのサイズが大きくなります。
ほとんどのデータ・ソースのメタデータをインポートする際、デフォルトでは、表、主キーおよび外部キーがインポートされます。物理レイヤーにキーが自動的に作成されるように、表とともに主キーと外部キーをインポートすることをお薦めします。キーをインポートしなかった場合、手動でキーを作成する必要があります。このプロセスには時間がかかる可能性があります。
データベース・ビュー、別名、シノニムおよびシステム表をインポートすることもできます。これらのオブジェクトをインポートするのは、Oracle BIサーバーでそれらに対する問合せを生成する場合のみにしてください。
メタデータを物理レイヤーの既存のデータベースにインポートする場合、COUNT_STAR_SUPPORTEDオプションが「データベース・プロパティ」ダイアログの「機能」タブで選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、データベースの物理表の右クリック・メニューに「行数の更新」オプションが表示できなくなります。
他のデータ・ソース・タイプについては、別の項で説明します。
Essbase、XMLA、Oracle OLAP、Hyperion ADMおよびSAP BWネイティブは、マルチディメンション・データ・ソースからのメタデータのインポートを参照してください。この項では、ODBC 3.5を介したOracle RPASデータ・ソースからのインポートについても説明します。
XMLは、XMLデータ・ソースからのメタデータのインポートについてを参照してください。
OracleADF_HTTPは、ADFデータ・ソースでの作業を参照してください。
結合をインポートするには、「キー」と「外部キー」の両方を選択します。システム表をインポートするには、データ・ソースのシステム権限が必要です。カスタマ・リレーションシップ・マネジメント(CRM)表からインポートするには、「CRM表からのメタデータ」を選択します。
特定の項目を検索するには、「検索」ボックスにキーワードを入力し、「下方検索」または「上方検索」をクリックします。
メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時にOracle BIサーバーが正確なデータベース・タイプを特定できず、類似するタイプをデータベース・オブジェクトに割り当てることがまれにあります。「データベース・オブジェクトの設定」および「接続プールの作成または変更」を参照してください。
物理列や物理表など、インポートしたデータを物理レイヤーで視覚的に調べて、インポートが正常に完了していることを確認します。
マルチディメンション・データ・ソースからOracle BIリポジトリの物理レイヤーにメタデータをインポートできます。
マルチディメンション・データ・ソースを使用すると、Oracle BIサーバーは様々なソースからデータに接続し、抽出できます。
インポート・プロセスでは、マルチディメンション・データ・ソースの各キューブが1つの物理キューブ表として作成されます。Oracle BIサーバーでは、メトリック、ディメンション、階層などのキューブ・メタデータがインポートされます。キューブをインポートしたら、物理キューブ列に正しい集計ルールがあり、階層タイプが正しいことを確認する必要があります。「物理階層オブジェクトでの作業」を参照してください。
注意:
マルチディメンション・データ・ソースから物理スキーマを手動で作成すると、多大な労力を要するうえ、エラーが発生しやすくなります。そのため、インポート手法を使用することを強くお薦めします。
ビジネス・モデルで階層や列を使用しない場合は、物理レイヤーから階層と列を削除することをお薦めします。管理ツールで不要なオブジェクトを保守する必要がなくなり、パフォーマンスが向上する可能性があります。
物理レイヤーでメタデータを既存のデータベースにインポートする場合は、「データベース・プロパティ」ダイアログの「機能」タブでCOUNT_STAR_SUPPORTEDオプションが選択されていることを確認します。COUNT_STAR_SUPPORTEDオプションを選択しないでメタデータをインポートすると、「行数の更新」オプションがデータベースの物理表の右クリック・メニューに表示されなくなります。
「マルチディメンション接続オプション」を参照してください。インポートされなかったオブジェクトがあれば、警告メッセージのリストが表示されます。必要に応じて問題を解決します。
メタデータをインポートしたら、データベースと接続プールの設定が正しいことを確認してください。インポート時に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.jar
、ap.jar
、およびHspAdm.jar
ファイルを検索してコピーし、MIDDLEWARE_HOME\oracle_common\modules
に貼り付けます。
ADMシン・クライアント・ドライバを使用するHyperion Planning 11.1.2.4以上では、次の形式を使用してドライバおよびアプリケーション名(キューブ名)を含めます。
adm:thin:com.oracle.hfm.HsvADMDriver:server:application_name
また、使用するデータ・ソースについて、プロバイダ・タイプを選択して、有効なユーザー名およびパスワードを入力します。
メタデータをインポートする前に、オンラインとオフラインの両方の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 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に変更する必要があります。「物理レイヤーにおけるデータベース・オブジェクトの手動作成」を参照してください。
Extensible Markup Language (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サーバーを実行する必要があります。
Oracle BIサーバーXML Gatewayを使用すると、メタデータのインポート・プロセスでXMLドキュメントが表の形にフラット化され、表名の語幹を使用するXMLファイル名が作成されます。XMLドキュメントの第2レベルの要素は、行デリミタとして設定されます。
語幹は、接尾辞のないファイル名です。すべてのリーフ・ノードは表の列としてインポートされます。リーフ・ノードへの階層アクセス・パスもインポートされます。
Oracle BIサーバーXML Gatewayでは、XMLスキーマに格納されたメタデータ情報が使用されます。XMLスキーマはXMLドキュメント内に含まれているか、XMLドキュメントのルート要素内で参照されます。
スキーマが使用可能でない場合は、すべてのXMLデータがテキスト・データとしてインポートされます。リポジトリの作成時に、物理レイヤーの列のデータ型を変更して、スキーマで定義されている対応する列のデータ型を上書きできます。ゲートウェイによって、入力データが物理レイヤーで指定した型に変換されます。CAST
演算子を使用して、管理ツールのビジネス・モデルとマッピング・レイヤーでテキスト・データ型を他のデータ型にマップすることもできます。
Oracle BIサーバーXML Gatewayでは、次の項目はサポートされません。
外部XMLスキーマへの参照を除く、XMLドキュメントに含まれる外部参照の解決。「Oracle BIサーバーXML Gatewayによって生成されるXMLドキュメントの例」を参照してください。
Microsoft XMLスキーマに含まれる要素および属性の継承
混合コンテンツ・モデルの要素タイプ(<p>hello <b>Joe</b>, how are you doing?</p>
のように、要素とCDATAが混在するXML要素など)。
メタデータを物理レイヤーで既存のデータベースにインポートする場合は、「データベース・プロパティ」ダイアログで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での変数の使用」を参照してください。
XMLデータをインポートしたら、接続プールの設定を調整する必要があります。「接続プールの作成または変更」を参照してください。次の操作を実行できます。
「接続プール」ダイアログの「一般」タブで、接続の名前および説明(オプション)を入力します。
「XML」タブをクリックして、URLリフレッシュ間隔や、タイムアウトするまでのURLのロードの待ち時間など、その他の接続プロパティを設定します。
XMLデータ・ソースはリアルタイムで頻繁に更新されるため、Oracle BIサーバーXML Gatewayデータ・ソースのリフレッシュ間隔を指定できます。デフォルトの問合せのタイムアウト間隔(URLのロードのタイムアウト)は15分です。『Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の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
、列名は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
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、c2)。
「XML ODBCを使用したXMLデータ・ソースからのメタデータのインポート」および「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の制限事項により、「メタデータ型の選択」画面で「シノニム」オプションを選択する必要があります。このオプションを選択しなかった場合、表はインポートされません。
この例では、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>
次の様々な状況の例では、Oracle BIサーバーのXMLアクセス方法でそれらの状況がどのように処理されるかを説明します。
XMLドキュメントの83.xmlと8_sch.xmlは、同じ要素宣言を異なるスコープで使用する例を示しています。たとえば、<p3>を<p2>内および<p4>内で使用できます。
前述の例の要素<p3>は2つの異なるスコープに出現するため、インポート・プロセスで2回目にこの要素が出現したときに索引番号を追加することによって、各要素に異なる列名が付けられます。この場合、2回目に出現した要素はp3_1となります。さらに他のコンテキストで<p3>が出現する場合は、p3_2、p3_3となります。
XMLドキュメントの83.xmlと84.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でスタンバイ・データベースを使用する方法について説明します。
スタンバイ・データベース構成には2つのデータベースがあります。すべての書込み操作を処理し、データ整合性のための真実のソースとなるプライマリ・データベースと、読取り専用ソースとして公開されるセカンダリ・データベースです。
Oracle Business Intelligenceでスタンバイ・データベース構成を使用すると、すべての書込み操作がプライマリ・データベースにオフロードされ、読取り操作がスタンバイ・データベースに送信されます。
プライマリ・ソースにルーティングする必要がある書込み操作には、次のようなものがあります。
Oracle BIスケジューラのジョブおよびインスタンス・データ
パフォーマンスを向上させるための一時表
集計の継続性のためのライトバック・スクリプト
使用状況トラッキング・データ(使用状況トラッキングが有効になっている場合)
イベント・ポーリング表のデータ(イベント・ポーリング表を使用する場合)
次に、スタンバイ・データベースを使用するようにOracle BIサーバーを構成する方法の概要を示します。
スタンバイ・データベース構成のデータベース・オブジェクトを1つ作成します。一時表の作成は無効にしてください。
データベース・オブジェクトの接続プールを2つ構成します。
スタンバイ・データベースを指す読取り専用の接続プール
書込み操作に使用するプライマリ・データベースを指す接続プール
データベースへの書込みを行う接続スクリプトを更新して、プライマリ・データベースの接続プールを明示的に指定します。
使用状況トラッキングが有効になっている場合、プライマリ接続を使用するように使用状況のトラッキングの構成を更新します。
イベント・ポーリング表を使用する場合、プライマリ接続を使用するようにイベント・ポーリング・データベースの構成を更新します。
Oracle BIスケジューラがスタンバイ・ソースを使用するように構成されていないことを確認します。
スタンバイ・データベース構成には2つの異なる物理データ・ソースがありますが、物理レイヤーに作成するデータベース・オブジェクトは1つだけです。この図は、物理レイヤーにおけるスタンバイ・データベース構成のデータベース・オブジェクトと接続プールを示しています。
スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成するには、管理ツールを使用します。
データベース・オブジェクトを作成する際には、Oracle BIサーバーがスタンバイ・データベースに一時表を作成しないように、永続接続プールが割り当てられていないことを確認してください。
スタンバイ・データベース構成のデータベース・オブジェクトをリポジトリに作成したら、管理ツールを使用して、2つの接続プールを作成します。スタンバイ・データベースを指す接続プールと、プライマリ・データベースを指す接続プールです。
ほとんどの接続にスタンバイ接続プールが使用されるため、必ず、スタンバイ接続プールが最初に表示されるようにしてください。
注意:
接続プールは、最大接続数に達するまで、表示されている順に使用されます。スタンバイ・データベースのチューニングに合せて最大接続数を設定してください。
「接続プールの作成または変更」を参照してください。
集計の永続性のためのスクリプトなど、データベースに書き込むスクリプトを使用する場合は、プライマリ接続プールを明示的に参照するようにスクリプトを更新する必要があります。
プライマリ接続を介して書き込まれた情報は、プライマリ・データベースとセカンダリ・データベース間の定期的にスケジュールされたレプリケーションによって、自動的にスタンバイ・データベースに転送されます。この情報はスタンバイ接続プールを介して使用できます。
次の例では、プライマリ接続プールを明示的に指定する、集計の永続性のためのライトバック・スクリプトを示します。
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 Business Intelligence Enterprise Editionインテグレーターズ・ガイドのOracle BIスケジューラの構成作業を参照してください。