この章では、Oracle Business Intelligence Applicationsをインストールして配置するための準備について説明します。インストールと配置のプロセスを開始する前に、この章の説明を確認しておいてください。たとえば、Oracle Business Analytics Warehouseの設定に関する一般的なガイドライン、および使用するソースOLTPデータベースに対応するデータベース固有のガイドラインには、最低限目を通しておいてください。
|
注意: サーバー・コンポーネントをインストールするには、『Oracle Business Intelligence Applicationsシステム要件およびサポートされるプラットフォーム』に指定されている条件をコンピュータが満たしている必要があります。 |
この章の内容は次のとおりです。
第3.2項「Oracle Business Analytics Warehouseのオペレーティング・システム、ドライバおよび接続性の要件」
第3.4項「Oracle Business Analytics WarehouseのIBM DB2 UDB固有のデータベースのガイドライン」
第3.5項「IBM DB2 UDB zOSおよびOS/390、またOracle Business Analytics WarehouseのZ/os固有のデータベースのガイドライン」
第3.6項「Oracle Business Analytics WarehouseのOracle固有のデータベースのガイドライン」
第3.7項「Oracle Business Analytics WarehouseでのOracleのパフォーマンスを最適化するためのその他の提案」
第3.8項「Oracle Business Analytics WarehouseのSQL Server固有のデータベースのガイドライン」
第3.9項「Oracle Business Analytics WarehouseのTeradata固有のデータベースのガイドライン」
第3.10項「Latin-1 General、Unicodeおよび英語以外の環境でのOracle Business Analytics Warehouseの配置」
第3.11項「Oracle Business Intelligence Applicationsの配置に関するその他の情報」
次の図に、Oracle Business Analytics Warehouseの推奨される配置構成を示します。
上の図の詳細は、次のとおりです。
コンポーネント1は、ETLサーバー(つまり、Informatica Server、Informatica Repository ServerおよびDACサーバー)をホストしています。
|
注意: Informatica Serverを他のマシンにもインストールすると、パフォーマンスが向上します。その他のETLサーバーを他のマシンでホストすることもできます。 |
コンポーネント2は、すべてのETLクライアント(つまり、Informaticaクライアント・ツールとDACクライアント)をホストします。
コンポーネント3(OLTPデータベース)および4(Data Warehouse(OLAP)データベース)は、1台以上のマシンでホストできるデータベース・インスタンスです。ハードウェア要件は、用途とパフォーマンスの要件によってまったく異なります。前述の各コンポーネントは、その用途に合せて最適化されたパラメータをインスタンス化できるように、各コンポーネント独自のデータベース・インスタンスで定義することを強くお薦めします。
|
注意: ハードウェア要件とソフトウェア要件の詳細は、『Oracle Business Intelligence Applicationsシステム要件およびサポートされるプラットフォーム』を参照してください。 |
表3-1に、Oracle Business Analytics Warehouseのコンポーネントのオペレーティング・システム、ドライバおよび接続ソフトウェアの要件を示します。
|
注意: 表3-1に示されているコンポーネントがサポートされるバージョンについては、『Oracle Business Intelligence Applicationsシステム要件およびサポートされるプラットフォーム』を参照してください。 |
表3-1 Oracle Business Analytics WarehouseのOS、ドライバおよび接続性の要件
| コンポーネント | オペレーティング・システム | ソフトウェア | 接続性とドライバ |
|---|---|---|---|
|
1 ETLサーバー |
|
|
|
|
2 ETLクライアント |
Windows |
|
|
|
3(A) Oracle Business Analytics Warehouse |
|
Oracle Business Analytics Warehouseで動作するデータベース・ソフトウェア |
該当なし |
|
3(B) ETLリポジトリ |
|
ETLリポジトリで動作するデータベース・ソフトウェア |
該当なし |
Oracle Business Analytics Warehouseは、次元スキーマを持つデータベースです。Oracle Business Analytics Warehouseをトランザクション・データベースと同じデータベースに配置することは技術的には可能ですが、パフォーマンス上の理由からお薦めできません。トランザクション・データベースはオンライン・トランザクション処理(OLTP)データベースとして構造化されますが、Oracle Business Analytics Warehouseはオンライン分析処理(OLAP)データベースとして構造化され、それぞれが独自の目的に合せて最適化されます。この2つのデータベースが結合されない理由は、次のとおりです。
トランザクションを個別に入力して管理するトランザクション・データベースの通常の使用が、分析クエリーによって妨げられます。
トランザクション・データベースのデータは、効率よく更新できるように正規化されています。トランザクション・クエリーは、複数の正規化されたテーブルを結合するため、処理が遅くなります(あらかじめ結合された正規化されていない分析テーブルとは対照的です)。
履歴データは、現在のトランザクション処理に不要であっても分析に必要であるため、トランザクション・データベースから削除できません(これに対し、分析データベースは履歴データおよび現在のデータのウェアハウスです)。このために、トランザクション・データベースでの処理がさらに遅くなります。
トランザクション・データベースは、ある特定のアプリケーション向けに調整されています。このような独立したトランザクション・データベースを、通常は複数の機能的アプリケーションにまたがって実行される分析クエリーに使用することは、生産的ではありません。
分析データベースは、分析クエリーおよび抽出-変換-ロード(ETL)処理向けに限定して調整できます。この点は、トランザクション・データベースの要件とかなり異なります。
トランザクション・データベースでは、S_ETLテーブルを別の表領域に配置する必要があります。これらのETLテーブルは、Oracle Business Analytics Warehouseで使用され、定期的なバックアップ・プロセスに組み込むことはできません。
これらのテーブルのリストは、『Oracle Business Analytics Warehouse Data Model Reference』に掲載されています。
Siebel OLTPデータベースでのETLのパフォーマンスを最大化するには、次のSQLコマンドを使用してSiebel OLTPデータベース上に3つのインデックスを作成します。
CREATE INDEX S_AUDIT_ITEM_M100 ON S_AUDIT_ITEM (FIELD_NAME ASC, BUSCOMP_NAME DESC) PCTFREE 10 ALLOW REVERSE SCANS COLLECT DETAILED STATISTICS;
CREATE INDEX S_AUDIT_ITEM_M101 ON S_AUDIT_ITEM (RECORD_ID ASC, FIELD_NAME DESC) PCTFREE 10 ALLOW REVERSE SCANS COLLECT DETAILED STATISTICS;
CREATE INDEX S_OPTY_M102 ON S_OPTY (ROW_ID ASC, PR_POSTN_ID DESC) PCTFREE 10 ALLOW REVERSE SCANS COLLECT DETAILED STATISTICS;
Informaticaリポジトリには、Oracle Business Analytics Warehouseにデータを移入するETLマッピングのInformaticaオブジェクトの定義がすべて格納されます。データベースに格納されるのは一連のリポジトリ・テーブルです。対象となるデータベースは、トランザクション・データベース、分析データベースまたは個別のデータベースです。
Oracle Business Analytics Warehouseは、リレーショナル・データベース管理システムと連携します。使用するDBMSによっては、一般的な要件に加えて、データベース管理システム(DBMS)固有の要件が発生します。
次に示す一般的なガイドラインは、パフォーマンスと拡張に対応するようにデータ・ウェアハウスの物理データベースを設定する際に役立ちます。
少なくとも、データとインデックスの表領域を分離します。使用頻度の高いテーブルとそのインデックスを分離するために、追加の表領域を作成します。
表領域には最大サイズのブロックとページを使用します(たとえば32K)。これにより、4K、8K、16Kの各サイズと比べて、全体的なパフォーマンスが良好となるだけでなく、表領域が拡大する際の上限サイズが小さくなることもありません。
複数のディスク・ストレージ・システムを使用する場合は、表領域コンテナおよび表領域ファイルをできるだけ多くのディスクにわたってストライプします。
未加工のデバイスを表領域に使用すると、加工されたファイル・システムに比べてパフォーマンスが高くなります。
RAID-5は、パフォーマンスと可用性のバランスが優れていることが確認されています。
バッファ・プールのサイズは、表領域のコンテンツとサイズ(表の数とそのサイズ)に基づいて決定します。
データベースには、同じサーバーで他にアプリケーションが実行されていないことを前提として、使用可能なサーバー・メモリの総容量の約75パーセントを割り当てます。
Oracle Business Analytics Warehouseの構成プロセスで、第4.12.2項「データ・ウェアハウス・テーブルの作成方法」の手順に従ってデータ・ウェアハウス・テーブルを作成する際に、テーブルとインデックスを別々の表領域に作成できます。ただし、パフォーマンス上の理由から、表領域は表3-2で説明されているように作成することをお薦めします。
表3-2 推奨される表領域の構成
| 表領域名 | テーブル |
|---|---|
|
DIM_STG |
W_*DS |
|
FACT_STG |
W_*FS |
|
DIM |
W_*DおよびW_*MD |
|
FACT |
W_*F |
|
AGG |
W_*A |
|
OTHER |
残りのW*テーブル |
|
DIM_INDX |
W_*Dテーブルのインデックス (たとえば、他のテーブルにはW*GテーブルやW*GSテーブルが含まれます) |
|
FACT_INDX |
W_*Fテーブルのインデックス |
|
OTHER_INDX |
W*テーブルの残りのインデックス |
|
注意: ETL実行時に致命的なデッドロックが発生しないように、必ずInformaticaで「Session Level Retry on Deadlock」オプションを選択してください。 |
表3-3に、DB2リレーショナル・データベース管理システム(RDBMS)を使用する際のパラメータ設定に関するガイドラインを示します。このガイドラインはベースとして使用してください。具体的なデータベース・サイズ、データ・シェイプ、サーバー・サイズ(CPUとメモリ)およびストレージ・タイプを基に、変更を加える必要があります。データベース管理者は、パフォーマンスの監視とチューニングに関する考慮事項に基づいて、設定に変更を加える必要があります。
表3-3 推奨されるDB2パラメータの設定
| パラメータ | DB2 UDB V7 | DB2 UDB V8 | 備考 |
|---|---|---|---|
|
SHEAPTHRES |
400000 |
400000 |
|
|
ASLHEAPSZ |
15 |
15 |
|
|
RQRIOBLK |
65535 |
65535 |
|
|
QUERY_HEAP_SZ |
16384 |
16384 |
|
|
JAVA_HEAP_SZ |
2048 |
2048 |
|
|
MAXAGENTS |
400 |
400 |
|
|
NUM_INITAGENTS |
10 |
10 |
|
|
NUM_POOLAGENTS |
200 |
200 |
|
|
INTRA_PARALLEL |
YES |
YES |
|
|
FCM_NUM_BUFFERS |
12288 |
12288 |
|
|
SHEAPTHRES_SHR |
N/A |
=SHEAPTHRES |
|
|
DBHEAP |
16384 |
16384 |
|
|
CATALOGCACHE_SZ |
5558 |
5558 |
|
|
LOGBUFSZ |
2048 |
2048 |
|
|
UTIL_HEAP_SZ |
10000 |
10000 |
|
|
NUM_ESTORE_SEGS |
16 |
NIL |
V7ではアドレス可能なメモリが1.75GBに制限されていますが、この制限が撤廃されたDB2 V8 64ビットではリストアが不要です。 |
|
ESTORE_SEG_SZ |
65536 |
NIL |
|
|
LOCKLIST |
25000 |
25000 |
|
|
APP_CTL_HEAP_SZ |
5000 |
5000 |
|
|
SORTHEAP |
4000 |
4000 |
|
|
STMTHEAP |
40960 |
40960 |
|
|
APPLHEAPSZ |
2560 |
2560 |
|
|
PCKCACHESZ |
2560 |
2560 |
|
|
STAT_HEAP_SZ |
20000 |
20000 |
|
|
DLCHKTIME |
10000 |
10000 |
|
|
MAXLOCKS |
50 |
50 |
|
|
LOCKTIMEOUT |
1200 |
1200 |
|
|
MAXAPPLS |
500 |
500 |
|
|
AVG_APPLS |
10 |
10 |
|
|
MAXFILOP |
500 |
500 |
|
|
GROUPHEAP_RATIO |
N/A |
70 |
V8で導入 |
|
APPGROUP_MEM_SZ |
N/A |
30000 |
V8で導入 |
|
DATABASE_MEMORY |
N/A |
AUTOMATIC |
V8で導入 |
|
注意: ETL実行時に致命的なデッドロックが発生しないように、必ずInformaticaで「Session Level Retry on Deadlock」オプションを選択してください。 |
zOSおよびOS/390にIBM DB2 RDBMSを使用する場合は、次の要件が適用されます。
Analyticsアプリケーションは、IBM DB2 UDB for z/OSおよびOS/390(zSeriesサーバー上で稼働)と、IBM DB2 Connectミドルウェアを介して通信します。
サポートされているDB2 Connectのエディションは、次のとおりです。
DB2 Connect Enterprise Edition(EE)。このエディションは、Informaticaサーバー/クライアント、DAC、Oracle Business Intelligenceなどの中間層サーバーにインストールされます。
DB2 Connect Unlimited Edition(UE)。このエディションは、DB2 Connect Enterprise Editionの機能を備えていますが、料金設定が異なります。
すべての接続に使用するODBCドライバで、IBM DB2 ODBC Driverを使用する必要があります。
DB2 Client Configuration Assistantを使用して、適切な接続を作成します。
表3-4の変数設定を使用します。
注意: Oracle Business Intelligence Applicationsリリース7.9.4では、Oracle 11gソース・システムがサポートされません。
Oracleデータベース上でBusiness Analyticsデータ・ウェアハウスをより簡単に構成するには、<DRIVE>:\<BI Apps install directory>\dwrep\Documentation\にある次のinit.oraパラメータ・テンプレート・ファイルを参照してください。たとえば、C:\OracleBI\dwrep\Documentation\にこれらのファイルがあります。
init9iR2.ora: Oracle RDBMS 9iR2のinit.oraテンプレート
init10gR2.ora: Oracle RDBMS 10gR2のinit.oraテンプレート
init.oraパラメータ・テンプレート・ファイルは、Oracle 8iのルールベース・オプティマイザ、およびOracle 9iとOracle 10gのコストベース・オプティマイザに基づいたパラメータのガイドラインとなります。このガイドラインはベースとして使用してください。具体的なデータベース・サイズ、データ・シェイプ、サーバー・サイズ(CPUとメモリ)およびストレージ・タイプを基に、変更を加える必要があります。データベース管理者は、パフォーマンスの監視とチューニングに基づいて、この設定に変更を加える必要があります。
使用するデータベース・バージョンに対応するテンプレート・ファイルを$ORACLE_HOME/dbsディレクトリにコピーし、テンプレート・ファイルに示された推奨事項を確認して、具体的なデータベース・サイズ、データ・シェイプ、サーバー・サイズ(CPUとメモリ)およびストレージのタイプに基づいて変更を加えます。データベース管理者は、パフォーマンスの監視とチューニングに関する考慮事項に基づいて、設定に変更を加える必要があります。
この項では、パフォーマンスを最適化するためのその他の提案を示します。
Oracleを使用するOracle Business Intelligence Applicationsでは、バイナリ・ソートのみがサポートされます。Oracleクライアントを実行している場合は、次のいずれかの操作を行います。
NLS_SORTパラメータをBINARYに設定します。
バイナリを含むNLS_LANG設定を選択します。
専用のWebクライアントで十分なパフォーマンスを得るには、これらの設定が必要です。
Oracleの開発用、テスト用および本番用の各データベースでコストベースの最適化が有効になっていること、および統計が最新であることを確認します。そうでない場合、ルールベース・オプティマイザが使用される場合があります。
Oracleデータベースに外部キーを作成します。ただし、外部キー・リレーションシップを強制しないようにOracleを構成します。外部キーがあると、Oracleで一部のクエリーをより適切に最適化できます。強制をオフにすることで、データベースの負荷に悪影響が生じなくなります。
アプリケーションを分析して、インデックスが付けられた偏りの大きなデータの出現状況を調べます。このインデックスのヒストグラム統計を作成して、オプティマイザがより円滑にクエリーを実行できるようにします。
Oracle BI ServerとOracle間のデータ・スループットを高めるために、listener.oraでのSDUとTDUの設定を変更します。デフォルトは2KBで、8KBまで増やすことができます。
サーバー側で、listener.oraファイルを編集します。特定のSID_LISTエントリの下で、SID_DESCを次のように変更します。
SID_LIST_LISTENER =
SID_LIST =
SID_DESC = (SDU=16384)(TDU=16384)
ORACLE_HOME = /.....)
SID_NAME = SOLAP)
)
)
表領域を、少なくともトランザクション・データベースと同じサイズに設定します。一時表領域に十分なスペースがあることを確認してください。
ログ・ファイル・グループの数を4に設定します。
各ログ・ファイルのサイズを10MBに設定します。
sga_max_sizeを700MBに設定します。
クライアント側で、tnsnames.oraファイルを編集します。TNSの別名を、次のようにSDU=およびTDU=を追加して変更します。
myhost_orcl.world= DESCRIPTION=(SDU=16384)(TDU=16384) ADDRESS = (PROTOCOL = TCP)(HOST=myhost)(PORT=1521)) CONNECT_DATA=(SID=ORCL))
この項では、SQL Serverデータベースの使用方法に関するガイドラインを示します。
|
注意: SQL Serverデータベースは、バイナリ・ソート順序または大文字と小文字を区別するディクショナリ・ソート順序をサポートする照合順序を使用して作成する必要があります。大文字と小文字を区別しないディクショナリ・ソート順序はサポートされていません。たとえば、米国英語キャラクタ・セットでのバイナリ・ソート順序には、Latin1_General_BINという照合を使用します。デフォルトの照合設定であるSQL_Latin1_General_CP1_CI_ASを使用すると、データベースが大文字と小文字を区別しないように設定され、これがサポートされていないためにインデックスの作成が失敗します。 |
この項の内容は次のとおりです。
Oracle Business Intelligence Applicationsでは、SQL Serverデータベースを作成する際にANSI NULLオプションを選択する必要があります。
ANSI NULLオプションを設定するには:
SQL Server 2000の環境では、Analyticsテーブルに各国対応データをロードする際、または複数の言語をロードする際に、DBライブラリ・オプションの設定を変更する必要があります。
Microsoft SQL Serverのプログラム・メニューで、「Client Network Utility」を選択します。
「DB Library Options」タブを選択します。
「Automatic ANSI to OEM」オプションの選択を解除します。
|
注意: SQL Server 2000では、サーバー構成オプションの多くが自動的に調整されるので、管理者が調整を行う必要はほとんどありません。構成オプションは変更可能ですが、一般には、それらのオプションをデフォルト値のままにして、SQL Serverが実行時の状況に応じて自動的に調整されるようにすることをお薦めします。 |
必要に応じて、SQL Serverコンポーネントを表3-5のように構成してパフォーマンスを最適化できます。
表3-5 SQL Serverデータベースの推奨される変数設定
| パラメータ | 推奨される設定 | 備考 |
|---|---|---|
|
affinity mask |
0 |
|
|
allow updates |
0 |
|
|
AWE enabled |
0 |
|
|
C2 audit mode |
0 |
|
|
cost threshold for parallelism |
5 |
|
|
cursor threshold |
–1 |
|
|
default full-text language |
1033 |
|
|
default language |
0 |
|
|
fill factor |
95% |
挿入集約型トランザクションの場合は、fill factorを90〜95%に設定します。クエリーのパフォーマンスを高めるには、fill factorを95%または100%に設定します。 |
|
index create memory |
1024 KB |
デフォルトは0です。 |
|
lightweight pooling |
0 |
|
|
locks |
0 |
|
|
max degree of parallelism |
0 |
デフォルトは0です。この場合は並列処理がオフになります。並列プランの生成を使用する場合は、並列処理の最大限度を0のままにします。マルチスレッド・コンポーネント(複数のEIMスレッドなど)を実行する場合は、1(1つのプロセスのみを使用)に設定する必要があります。 |
|
max server memory |
2000 MB |
デフォルトは2147483647です。 |
|
max text replication size |
65536 B |
|
|
max worker threads |
100 |
デフォルトは255です。 |
|
media retention |
0 |
|
|
min memory per query |
1024 KB |
|
|
min server memory |
500 MB |
デフォルトは0です。 |
|
nested triggers |
1 |
|
|
network packet size |
8192 B |
デフォルトは4096です。 |
|
open objects |
0 |
|
|
priority boost |
0 |
|
|
query governor cost limit |
0 |
CPU使用率が高い場合のみ、60に変更します。 |
|
query wait |
–1秒 |
|
|
recovery interval |
0分 |
|
|
remote access |
1 |
|
|
remote login timeout |
20秒 |
|
|
remote proc trans |
0 |
|
|
remote query timeout |
600秒 |
|
|
scan for startup procs |
0 |
|
|
set working set size |
0 |
|
|
two digit year cutoff |
2049 |
|
|
user connections |
0 |
|
|
user options |
0 |
SQL Serverのメモリ: 使用できるメモリ容量が十分であることを確認します。
トランザクション・ログとTempDB: データベース・データのディスクとは別のディスクに配置します。
完全ロード: データベースの完全復旧モデルです。
増分(リフレッシュ)ロード: 完全復旧モデルを一括ログ復旧モデルに変更します。
この項では、Teradataの配置におけるパフォーマンスを最大化するために推奨されているベスト・プラクティスとガイドラインを示します。この項の内容は次のとおりです。
Teradataデータベースを使用する場合は、次の要件が適用されます。
Informatica Serverがインストールされているマシンに、TeradataのFastLoadおよびTPumpユーティリティをインストールします。
Informatica PowerCenterをインストールする場合は、Informatica Serverのディレクトリ名またはディレクトリ・パスにスペースが含まれていないことを確認します。デフォルト・ディレクトリに含まれているスペースは、手動で削除する必要があります。
Teradata環境にOracle BI Applicationsをインストールする場合は、事前に構築されたInformaticaリポジトリ・ファイル\dwrep\Oracle_BI_DW_Teradata.repをロードする必要があります。詳細は、第4.14.3項「Informaticaへの事前に構築されたリポジトリのロード方法」を参照してください。
スキーマを作成する前に、TeradataのODBC構成で、セッション・モードをANSIに、DateFormatをAAAにそれぞれ設定します。テーブルは、ケース固有として作成する必要があります。スキーマを作成した後にこのODBC構成を行うと、テーブルがケース固有として作成されない場合があります。
算術計算に18,3(精度、スケール)を超える小数データタイプが関係する場合は、オーバーフローが発生しないように、次の静的なソース・システム・パラメータを追加します。
"as decimal(18,3))" for $$Hint_Tera_Post_Cast
"Cast (" for $$Hint_Tera_Pre_Cast $$Hint_Tera_Post_Cast $$Hint_Tera_Pre_Cast)
DACでのソース・システム・パラメータの設定の詳細は、第4.18.3項「DACソース・システム・パラメータの設定方法」を参照してください。
|
注意: ETL実行時に致命的なデッドロックが発生しないように、必ずInformaticaで「Session Level Retry on Deadlock」オプションを選択してください。 |
この項では、Teradataの配置におけるパフォーマンスを最大化するために推奨されているベスト・プラクティスを示します。この項の内容は次のとおりです。
|
注意: 次に示すベスト・プラクティスは、カスタマイズとして扱います。カスタム・ディレクトリにマッピングをコピーするなど、標準的なカスタマイズ方法を使用してください。OTBオブジェクトで直接変更を行うことは避けてください。 |
Teradataは、INNERテーブルが小さい場合を除いて、結合キーに従ってOUTERテーブルを再分散します。INNERテーブルが小さい場合は、INNERテーブルがすべてのAMPにコピーされるだけで、OUTERテーブルは再分散されません。
要素SILマッピングの多くは、ROW_ID/INTEGRATION_IDから次元ROW_WIDを取得する必要があります。たとえば、W_PER_RANK_FS.ACCNT_IDは、W_PER_RANK_Fテーブルにロードする前にACCNT_WIDに変換する必要があります。ACCT_IDはNULL値可能であるため、W_PER_RANK_FSとW_ORG_Dの結合は左側外部結合として定義されます。
ただし、データセットによっては、ACCT_IDカラムでのNULLの割合が50%以上になることがあります。ACCT_IDに従ってW_PER_RANK_FSを再分散すると、ACCT_ID = NULLであるすべての行が1つのAMPに格納されます。
通常、Teradataデータベースには数百ギガバイトのスプール領域が確保されていますが、このスプール領域は何百ものAMPに割り当てられます。各AMPのスプール領域は制限されています(たとえば上限が2ギガバイトなど)。
W_PER_RANK_FSの大部分が1つのAMPに割り当てられると、十分なスプール領域を確保できなくなることがあります。この状況は、スプール領域が小さすぎるために発生するのではなく、1つのAMPにスプールされるデータが多すぎる場合に発生します。
Teradataでのパラレル処理および左側外部結合解決のメカニズムを使用するには、SQLを記述しなおす必要があります。
たとえば、元のSQLが次のように記述されていたとします。
SELECT ... FROM W_PER_RANK_FS FS LEFT OUTER JOIN W_ORG_D ORG ON FS.ACCNT_ID = ORG.INTEGRATION_ID AND FS.DATASOURCE_NUM_ID = ORG.DATASOURCE_NUM_ID
このSQLは、次のようにコーディングしなおす必要があります。
SELECT ... FROM
W_PER_RANK_FS FS LEFT OUTER JOIN
(SELECT
FS.INTEGRATION_ID, FS.DATASOURCE_NUM_ID, ORG.ROW_WID, ORG.GEO_WID
FROM
W_PER_RANK_FS FS, W_ORG_D ORG
WHERE
FS.ACCNT_ID = ORG.INTEGRATION_ID AND FS.DATASOURCE_NUM_ID =
ORG.DATASOURCE_NUM_ID AND FS.ACCNT_ID IS NOT NULL)
ORG ON
FS.DATASOURCE_NUM_ID = ORG.DATASOURCE_NUM_I AND
FS.INTEGRATION_ID = ORG.INTEGRATION_ID
スプール領域の問題が発生している他のソース修飾子にも、同じようにSQLを再コーディングする方法を使用できます。
スプール領域が不足する問題には、別の解決策もあります。この解決策では、次のSQLの例で示すように、均等に分散されているのに一致していない複数の値へNULLを変換します。
SELECT ... FROM W_PER_RANK_FS FS LEFT OUTER JOIN W_ORG_D ORG ON CASE WHEN FS.ACCNT_ID IS NOT NULL THEN FS.ACCNT_ID ELSE '#' || FS.INTEGRATION_ID END = ORG.INTEGRATION_ID AND FS.DATASOURCE_NUM_ID = ORG.DATASOURCE_NUM_ID
|
注意: 太字で示されているのは、再コーディングされたSQLです。 |
この項では、データベースの統計について説明します。
Oracle Business Intelligenceには、一連のカラムおよびインデックス統計収集ステートメントが用意されています。このステートメントは一般にどの状況にも適用できますが、サイトや状況ごとに評価する必要があります。要件によっては、追加の統計が必要となる場合があります。たとえば、Teradataサーバーでスプール領域が不足するエラーを回避するには、一部のワークフローで追加の統計が必要となります。
ステージング・データベースおよびターゲット・データベースにテーブルが作成されたら、指定された統計収集を実行する必要があります。これに失敗すると、ETLのパフォーマンスに影響し、スプール領域エラー(エラー番号2646)が発生する可能性があります。
DACでは、ETLプロセスの一環として統計が再収集されます。ただし、DACではテーブル・レベルで統計収集ステートメントが発行され(たとえばw_org_dで統計を収集)、その対象は既存の統計に限られます。
固有値の数が少ない場合は、GROUP BY句を使用した方が効率的です。固有値の数が多い場合を除いて、DISTINCT句は使用しないでください。
提供されたOTBフィールドをすべて使用しない場合は、無関係のフィールドをマッピングとテーブルから除外することで、パフォーマンスが向上します。
この項では、Teradataで使用できるローダーと、Oracle BI Applicationsでのその用途について説明します。
Teradataには、次の3種類のTeradataローダー・プロセスがあります。
FastLoad
MultiLoad
TPump
各ローダー・プロセスは、次の2種類のモードで使用できます。
ステージ・モード: Informaticaプロセスによって、次の処理が上から順に実行されます。
ソース・データから読み取ります。
データ・ファイルを作成します。
ローダー・プロセスを起動して、作成したデータ・ファイルを使用してテーブルをロードします。
長所: 障害が発生した場合に、Teradataリカバリ・プロセスを使用してリカバリできます。
短所: ステージ・モードはパイプ・モードよりも時間がかかります。また、大きなデータ・ファイルを作成できるため、より大きなディスク領域が必要となります。
パイプ・モード: Informaticaプロセスによってソースからの読取りが行われ、同時にそのデータがローダーにパイプ処理されてターゲット・テーブルのロードが開始されます。
長所: ステージ・モードよりも処理時間が短く、データ・ファイルが作成されないので大量のディスク領域を必要としません。
短所: 障害が発生した場合に、Teradataリカバリ・プロセスを使用してリカバリできません(TPumpでは、FastLoadやMultiLoadとは異なり、行コミットが行われるため)。
FastLoadプロセスは、空のテーブルに対して使用します。たとえば、ステージング・テーブルをロードする場合や、テーブルが空である初期ロードの場合などです。
FastLoadプロセスは、ロードを開始するとターゲット・テーブルをロックします。つまり、他のプロセス(検索など)がそのテーブルにアクセスできなくなります。この問題の解決策として、セッション・レベルで検索の上書きに対してダミーのSQLを指定する方法があります。
|
ヒント: FastLoadプロセスの実行中にセッションが失敗した場合は、SQL Assistantで単純なSQLコマンド(count(*)など)を実行して、テーブルがFastLoadプロセスによってロックされていないかを確認します。 |
テーブル(W_ORG_DSなど)がロックされている場合は、次のスクリプトを使用してロックを解放します。
LOGON DATABASEALIAS/USER,PASSWORD BEGIN LOADING USER.W_ORG_DS ERRORFILES USER.ET_W_ORG_DS,USER.UV_W_ORG_DS; END LOADING;
前述のテキストをtest.ctlというファイルに保存した場合、コマンド・プロンプトで次のコマンドを入力するとこのプロセスを実行できます。
C:\fastload\test.ctl
|
ヒント: テーブルのロード・スクリプトを作成するには、前述のtest.ctlスクリプトを編集してログイン情報を変更し、W_ORG_DSの部分を必要なターゲット・テーブル名ですべて置き換えます。 |
ロード・プロセス・スクリプトが正常に実行されると、ターゲット・テーブルに対してselect count(*)コマンドを実行できるようになります。ロックを解放できない場合は、ロックを削除するためにテーブルの削除と再作成が必要になることがあります。これを行った場合は、統計を再作成する必要があります。
|
ヒント: 一般にFastLoadは、ステージング・テーブルのロードおよび初期ロードをパイプ・モードで行う場合に使用されます。エラーが発生した場合は、データ全体をリロードします。 |
MultiLoadプロセスは、FastLoadより時間がかかりますが、TPumpより早く終了します。MultiLoadプロセスは、空のテーブルとデータを含んだテーブルの両方に対して実行できます。パイプ・モードで実行しているときにエラーが発生した場合は、データをリカバリできません。
TPumpプロセスは、MultiLoadより時間がかかりますが、ODBCより早く終了します。TPumpプロセスでは行コミットが行われるため、パイプ・モードを使用している場合でも、処理済の操作をリカバリできます。つまり、プロセスを再起動すると、最後にコミットされたデータからデータのロードが開始されます。
TPumpは次のモードで使用できます。
Tpump_Insert: 挿入を行う場合に使用します。
Tpump_Update: 更新を行う場合に使用します(このモードを使用するには、Informaticaのターゲット・テーブル定義でプライマリ・キーを定義する必要があります)。
Tpump_Upsert: 更新または更新の対象がなくて挿入を行う場合に使用します(このモードを使用するには、Informaticaのターゲット・テーブルの定義でプライマリ・キーを定義する必要があります)。
Tpump_Delete: 削除を行う場合に使用します(このモードを使用するには、Informaticaのターゲット・テーブル定義でプライマリ・キーを定義する必要があります)。
Informaticaでは、実際のターゲット・テーブル名を使用して、その制御ファイルの生成で使用するエラー・テーブルとログ・テーブルが生成されます。TPumpの2つのインスタンスが、同時に同じターゲット・テーブルへのロードを行う場合は、別々のエラー・テーブル名とログ・テーブル名を使用するようにセッションを変更する必要があります。
パイプ・モードのTPumpロード・プロセスは、増分ロードの際に、またテーブルにデータがある場合に役立ちます。エラーが発生した場合は、プロセスを再起動することで、最後にコミットされたデータからリロードが開始されます。
Teradataのローダーを使用するためのセッションの構成については、Informaticaのドキュメントを参照してください。
この項では、Latin-1 General、Unicodeおよび英語以外の環境でOracle Business Analytics Warehouseを配置する場合の、Informaticaサーバーおよびデータベースの各種設定について説明します。Informatica、Informaticaリポジトリおよびデータベースを構成するときには、この項を参照してください。
|
注意: Oracle Business Analytics WarehouseをUNIX環境にインストールする場合は、Unicode文字データ・モードを使用する必要があります。 |
Oracle Business Analytics Warehouseは、グローバルな配置をサポートするために、さまざまなコード・ページ環境に配置できるようになっています。サポートされているソースおよびデータ・ウェアハウスの構成は、次のとおりです。
Latin-1 General(7ビットASCII)からLatin-1 General(7ビットASCII)。7ビットASCIIは、英語に使用されるキャラクタ・セットです。第3.10.2項「Latin-1 General(7ビットASCII)からLatin-1 General(7ビットASCII)でのソースおよびデータ・ウェアハウスのコード・ページ」を参照してください。
Latin-1 General(8ビットASCII)からLatin-1 General(8ビットASCII)。8ビットASCIIは、アクセント付きローマ字を使用する西ヨーロッパ言語に使用されます。第3.10.3項「Latin-1 General(8ビットASCII)からLatin-1 General(8ビットASCII)でのソースおよびデータ・ウェアハウスのコード・ページ」を参照してください。
|
注意: ソース・データにマルチバイトまたはISO 8859-1(8ビットASCII)データが含まれている場合は、Informatica ServerをUnicodeモードで実行する必要があります。データ移動モードをUnicodeに設定する方法については、第4.5.3項「Informatica Serverの設定方法」を参照してください。 |
UnicodeからUnicode。第3.10.4項「UnicodeからUnicodeでのソースおよびデータ・ウェアハウスのコード・ページ」を参照してください。
コード・ページ(マルチバイトまたはシングルバイト)からUnicode。第3.10.5項「コード・ページからUnicodeでのソースおよびデータ・ウェアハウスのコード・ページ」を参照してください。
コード・ページからコード・ページ(コード・ページが同じである場合)。第3.10.6項「コード・ページからコード・ページでのソースおよびデータ・ウェアハウスのコード・ページ」を参照してください。
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
コード・ページには、1つまたは複数の言語セット内の文字を指定するエンコーディングが備わっています。エンコーディングとは、キャラクタ・セット内の文字に対する数字の割当てです。コード・ページは、さまざまな言語のデータを識別するために使用します。たとえば、日本語のデータをマッピングにインポートする場合は、ソース・データに日本語のコード・ページを選択する必要があります。
コード・ページを設定すると、その設定対象となったアプリケーションやプログラムは、アプリケーションが認識できる文字を表す特定のデータセットを参照するようになります。これは、アプリケーションがデータを格納および送受信する方法に影響します。
コード・ページは、マッピングで使用している文字データに基づいて選択します。文字データは、文字サイズに基づいて文字モードで表すことができます。
文字サイズは、データベースで1文字に必要な格納領域の大きさで測定されます。データベース文字は、シングルバイト、ダブルバイト、マルチバイトのいずれかです。
Informatica ServerがUnicodeデータ移動モードで実行されているときにデータを正確に移動するには、コード・ページ間の互換性が不可欠です。2つのコード・ページに互換性がある場合、双方のコード・ページでエンコードされている文字は事実上同一です。
正確なデータ移動のためには、データ・ウェアハウスのコード・ページがソース・コード・ページのスーパーセットであることが必要です。ソースのコード・ページがデータ・ウェアハウスのコード・ページのスーパーセットであると、データ・ウェアハウスのコード・ページで文字をエンコードできないため、Informatica Serverは文字を処理できません。その結果、データ・ウェアハウスでデータの誤りや欠落が発生します。
この項では、Latin-1 General(7ビットASCII)からLatin-1 General(7ビットASCII)の構成でのコード・ページについて説明します。7ビットASCIIは、英語に使用されるキャラクタ・セットです。
表3-6に、OS ENUが指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-6 OS ENUが指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
データ・ウェアハウスのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Repositoryのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Serverのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
表3-7に、OS ENUが指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-7 OS ENUが指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
データ・ウェアハウスのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Repositoryのコード・ページ |
ISO 8859-1西ヨーロッパ言語 |
|
Informatica Serverのコード・ページ |
ISO 8859-1西ヨーロッパ言語 |
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
表3-8に、どちらもOS ENUが指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページを示します。
表3-8 どちらもOS ENUが指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
データ・ウェアハウスのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Repositoryのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Serverのコード・ページ |
ISO 8859-1西ヨーロッパ言語 |
この項では、Latin-1 General(8ビットASCII)からLatin-1 General(8ビットASCII)の構成でのコード・ページについて説明します。8ビットASCIIは、アクセント付きローマ字を使用する西ヨーロッパ言語に使用されます。
|
注意: ソース・データにマルチバイトまたはISO 8859-1(8ビットASCII)データが含まれている場合は、Informatica ServerをUnicodeモードで実行する必要があります。データ移動モードをUnicodeに設定する手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。 |
表3-9に、OS ENUが指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-9 OS ENUが指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
ISO 8859-1西ヨーロッパ言語 |
|
データ・ウェアハウスのコード・ページ |
ISO 8859-1西ヨーロッパ言語 |
|
Informatica Repositoryのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Serverのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
表3-10に、OS ENUが指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページを示します。
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
表3-11に、どちらもOS ENUが指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページを示します。
ソース・データベースおよびデータ・ウェアハウス・データベースに対してサポートされているコード・ページの一覧は、OracleのSiebel SupportWebで「System Requirements and Supported Platforms」を参照してください。
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
SiebelUnicodeDB。Windowsでの手順については、第4.6.2項「WindowsでのSiebel UnicodeDB環境変数の設定方法」を参照してください。UNIXでの手順については、第5.9項「UNIXでのInformatica Server環境変数の設定方法」を参照してください。
表3-12に、OS ENUが指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-12 OS ENUが指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
UnicodeのUTF-8エンコーディング |
|
データ・ウェアハウスのコード・ページ |
UnicodeのUTF-8エンコーディング |
|
Informatica Repositoryのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Serverのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
表3-13に、OS ENUが指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-14に、どちらもOS ENUが指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページを示します。
表3-14 どちらもOS ENUが指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
UnicodeのUTF-8エンコーディング |
|
データ・ウェアハウスのコード・ページ |
UnicodeのUTF-8エンコーディング |
|
Informatica Repositoryのコード・ページ |
Latin 1のスーパーセットであるMS Windows Latin 1(ANSI) |
|
Informatica Serverのコード・ページ |
ISO 8859-1西ヨーロッパ言語 |
ソース・データベースおよびデータ・ウェアハウス・データベースに対してサポートされているコード・ページの一覧は、OracleのSiebel SupportWebで「System Requirements and Supported Platforms」を参照してください。
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
SiebelUnicodeDB。Windowsでの手順については、第4.6.2項「WindowsでのSiebel UnicodeDB環境変数の設定方法」を参照してください。UNIXでの手順については、第5.9項「UNIXでのInformatica Server環境変数の設定方法」を参照してください。
Informatica ServerがUNIXで実行されている場合は、PMREPCODEPAGE環境変数も適切に設定する必要があります。たとえば、PMREPCODEPAGE=MS932と設定します。
|
注意: Informatica Serverは、ソースのコード・ページに基づく<LANG> OSでのみ実行できます。たとえば、ソース・コード・ページが日本語である場合、Informatica ServerはJPN OSで実行されている必要があります。 |
次の説明では、<LANG>=JPNを例として取り上げています。日本語以外の言語を使用している場合は、コード・ページを該当する言語で置き換えてください。
表3-15に、OS <LANG>が指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-15 OS <LANG>が指定されたWindows上のInformatica ServerおよびRepository Server
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
データ・ウェアハウスのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Repositoryのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Serverのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
表3-16に、OS <LANG>が指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-16 OS <LANG>が指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
データ・ウェアハウスのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Repositoryのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Serverのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
表3-17に、どちらもOS <LANG>が指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページを示します。
表3-17 OS <LANG>が指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
データ・ウェアハウスのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Repositoryのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Serverのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
ソース・データベースおよびデータ・ウェアハウス・データベースに対してサポートされているコード・ページの一覧は、OracleのSiebel SupportWebで「System Requirements and Supported Platforms」を参照してください。
インストール・プロセスを開始する前に、次の環境変数を設定する必要があります。
NLS_LANG(Oracleの場合)。手順については、第3.10.7項「Oracleデータベースに対するNLS_LANG環境変数の設定」を参照してください。
DB2CODEPAGE(DB2の場合)。手順については、第3.10.8項「DB2データベースに対するDB2CODEPAGE環境変数の設定」を参照してください。
構成プロセスで、次の環境変数を設定する必要があります。
Informatica Server Data Movement。手順については、第4.5.3項「Informatica Serverの設定方法」を参照してください。
SiebelUnicodeDB。Windowsでの手順については、第4.6.2項「WindowsでのSiebel UnicodeDB環境変数の設定方法」を参照してください。UNIXでの手順については、第5.9項「UNIXでのInformatica Server環境変数の設定方法」を参照してください。
Informatica ServerがUNIXで実行されている場合は、PMREPCODEPAGE環境変数も適切に設定する必要があります。たとえば、PMREPCODEPAGE=MS932と設定します。
次の説明では、<LANG>=JPNを例として取り上げています。日本語以外の言語を使用している場合は、コード・ページを該当する言語で置き換えてください。
表3-18に、どちらもOS <LANG>が指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-18 OS <LANG>が指定されたWindows上のInformatica ServerおよびRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
データ・ウェアハウスのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Repositoryのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Serverのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
表3-19に、どちらもOS <LANG>が指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページを示します。
表3-19 OS <LANG>が指定されたUNIX上のInformatica ServerおよびRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
データ・ウェアハウスのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Repositoryのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Serverのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
表3-20に、どちらもOS <LANG>が指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページを示します。
表3-20 OS <LANG>が指定されたUNIX上のInformatica ServerおよびWindows上のRepository Serverのコード・ページ
| コンポーネントのコード・ページ | コード・ページ |
|---|---|
|
ソースのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
データ・ウェアハウスのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Repositoryのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
|
Informatica Serverのコード・ページ |
Shift-JISのスーパーセットであるMS Windows日本語 |
次の手順に従って、Oracleデータベースに対してNLS_LANG環境変数を設定します。
|
注意: NLS_LANG環境変数は、Informatica Serverを実行するマシンおよびOracleクライアントを実行するマシンで設定する必要があります。 |
Oracleデータベースに対してNLS_LANG環境変数を設定するには:
NLS_LANGの値を決定します。
データ・ウェアハウス・データベースで、次のコマンドを実行します。
SELECT * FROM V$NLS_PARAMETERS
NLS_LANG値(形式は[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET])を書き留めます。
例: American_America.UTF8
Windowsの場合:
「コントロール パネル」→「システム」に移動し、「詳細設定」タブをクリックします。「環境変数」をクリックします。
「システム環境変数」セクションで「新規」をクリックします。
「変数名」フィールドに「NLS_LANG」と入力します。
「変数値」フィールドに、手順0で返されたNLS_LANG値を入力します。
NLS_LANG値の形式は、[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]にしてください。
例: American_America.UTF8
|
注意: NLS_LANGのキャラクタ・セットには、クライアントのオペレーティング・システムのキャラクタ・セットの設定を反映させる必要があります。たとえば、データベース・キャラクタ・セットがAL32UTF8で、クライアントのオペレーティング・システムがWindowsの場合は、UTF8 WIN32クライアントが存在しないので、NLS_LANGパラメータではクライアント・キャラクタ・セットとしてAL32UTF8を設定しないでください。かわりに、NLS_LANGの設定にクライアントのコード・ページを反映させる必要があります。たとえば、英語版Windowsクライアントでのコード・ページは1252です。NLS_LANGの適切な設定は、AMERICAN_AMERICA.WE8MSWIN1252です。NLS_LANGを適切に設定すると、クライアント・オペレーティング・システムのキャラクタ・セットからデータベース・キャラクタ・セットへと正しく変換できます。これらの設定が同じであると、送受信されるデータはデータベース・キャラクタ・セットと同一のキャラクタ・セットでエンコードされていると見なされるため、キャラクタ・セットの検証や変換が行われない場合があります。このため、クライアントのコード・ページとデータベース・キャラクタ・セットが異なっていて変換が必要な場合に、データが破損する恐れがあります。 |
UNIXの場合は、変数を次のように設定します。
setenv NLS_LANG <NLS_LANG>
例: setenv NLS_LANG American_America.UTF8
データが7ビットまたは8ビットのASCIIで、Informatica ServerがUNIXで実行されている場合は、「NLS_LANG <NLS_LANGUAGE>_<NLS_TERRITORY>.WE8ISO8859P1」を設定します。
|
注意: NLS_LANG変数は、ここに記載された手順に従って適切に設定してください。そうでない場合には、データが正しく表示されません。 |
変数を作成したら、マシンを再起動します。
次の手順に従って、DB2データベースに対してDB2CODEPAGE環境変数を設定します。
DB2データベースに対してDB2CODEPAGE環境変数を設定するには:
DB2CODEPAGEの値を決定します。
次のコマンドを使用して、ソース・データベースに接続します。
SELECT CODEPAGE FROM SYSCAT.DATATYPES WHERE TYPENAME = 'VARCHAR'
結果を書き留めます。
例: 1208
Windowsの場合:
「コントロール パネル」→「システム」に移動し、「詳細設定」タブをクリックします。「環境変数」をクリックします。
「システム環境変数」セクションで「新規」をクリックします。
「変数名」フィールドに「DB2CODEPAGE」と入力します。
「変数値」フィールドに、手順0で返された値を入力します。
UNIXの場合は、変数を次のように設定します。
setenv DB2CODEPAGE <DB2CODEPAGE value>
例: setenv 1208
変数を作成したら、マシンを再起動します。
この項の内容は次のとおりです。
OracleのSiebel Applicationsユーザー向けに、SAシステム・サブジェクトエリアの事前に構成済のマッピングを表3-21に示します。OracleのSiebelトランザクション・データベースにないフィールドは、デフォルトでこの表の値に設定されます。
デフォルトの上書き。S_USERテーブルに対する拡張テーブルを作成することで、これらのフィールドにユーザー固有の値を追加して、ユーザー固有のデフォルトを格納できます。また、デフォルト値はいずれも変更可能です。次の論理テーブルのメタデータを変更して、物理的な拡張テーブルを組み込むことができます。
SA User.(User)
手順については、OracleのSiebel Business Applicationsのテーブルとカラムの構成に関するドキュメントを参照してください。
プロバイダ情報の設定。一般に、Oracle Business Analytics Warehouseでは携帯電話番号とFAX番号にプロバイダ名が含まれません。このため、ポケベルは一般に555-483-3843などの数値に設定されます。このアドレスにプロバイダを追加するには、次のガイドラインに従ってください。
会社全体が同じプロバイダを使用している場合は、カラムのマッピングでプロバイダを追加できます。
複数のユーザーが異なるプロバイダを使用できる場合は、拡張テーブルを作成する必要があります。手順については、OracleのSiebel Business Applicationsのテーブルとカラムの構成に関するドキュメントを参照してください。
表3-21 SAシステム・サブジェクトエリアのユーザー・テーブルに対する事前に構成済のマッピング
| 論理カラム | 物理テーブル | 式 | 備考 |
|---|---|---|---|
|
携帯電話 |
'' |
このフィールドにSMTPアドレスが含まれている場合は、S_CONTACT.CELL_PH_NUMにマップされます。 |
|
|
携帯電話の優先順位 |
'' |
デフォルトはN |
|
|
表示名 |
S_CONTACT |
"Real Time OLTP"."".SIEBEL.S_CONTACT_User.FST_NAME || ' ' || "Real Time OLTP"."".SIEBEL.S_CONTACT_User.LAST_NAME |
名と姓の連結 |
|
電子メール |
S_CONTACT |
EMAIL_ADDR |
|
|
電子メールの優先順位 |
'HNL' |
デフォルトはN |
|
|
電子メールのタイプ |
'html' |
デフォルトはHTML |
|
|
グループ名 |
S_RESP |
NAME |
|
|
ハンドヘルド |
'' |
デフォルトは空の文字列 |
|
|
ハンドヘルドの優先順位 |
'' |
デフォルトは空の文字列 |
|
|
言語 |
'en' |
デフォルトは'en' |
|
|
ロケール |
'en' |
デフォルトは'en' |
|
|
ログオン |
S_USER |
LOGIN |
|
|
ポケベル |
'' |
このフィールドにSMTPアドレスが含まれている場合は、S_CONTACT.PAGER_PH_NUMにマップされる可能性があります。 |
|
|
ポケベルの優先順位 |
'' |
デフォルトはN |
|
|
タイムゾーン |
S_TIMEZONE |
NAME |
表3-22に、すべてのOracle Business Intelligenceアプリケーションに共通の初期化ブロックの一部と、その目的を示します。各Oracle BIアプリケーション領域固有の初期化ブロックは、ここに示されていません。
表3-22 初期化ブロックとその目的
| 初期化ブロック | 目的 |
|---|---|
|
Authorization |
データベースからユーザーの職責を計算します。 |
|
Authentication |
基幹業務アプリケーション・ユーザーとして存在するユーザーを、データベースに対して認証し、検証します。 |
|
External Metadata Strings |
ユーザーのロケール用に翻訳されたメタデータ文字列の値を取得します。この初期化ブロックは、各国対応の配置におけるIntelligenceダッシュボードに必要不可欠です。 |
|
LOCALE |
Oracle BI Serverでのユーザーのロケール仕様を設定します。 |
|
Login Properties |
ユーザーのログイン・プロパティ(フルネームなど)をデータベースから取得します。この初期化ブロックでは、ユーザーのログレベルも設定されます。デフォルトでは、全ユーザーのログ・レベルが0になります。すべてのユーザーにOracle BIクエリー・ログを生成する場合は、デフォルト値および初期化SQLの値を変更することで、この初期化ブロックを更新する必要があります。 |
|
Default System Language ID |
基幹業務アプリケーション・データベースにクエリーを実行することで、変数OLTP_LANG_IDを設定します。 |
|
Organizations for Org-based Security |
基幹業務アプリケーション・データベースにクエリーを実行して、各ユーザーの組織メンバーシップを取得します。また、変数ORGANIZATIONを設定します。 |
|
Primary Owner ID |
ユーザーのログインIDに基づいて、プライマリ所有者IDを設定します。 |
|
Primary Position ID |
基幹業務アプリケーション・データベースにクエリーを実行して、変数PRIMARY_POSTN_IDを設定します。 |
|
Warehouse Refresh Date |
CURRENT_YEARなどの、複数の時間ベースの変数を設定します。 |
|
ETL Run Date |
ETL実行日を取得します。 |
|
ETL Default Currency |
デフォルト通貨を取得します。 |
Siebel(CRM)およびOracle E-Business SuiteのOLTPシステムのパフォーマンスを最大化するには、この項で示すインデックスを実装する必要があります。
インデックスを実装するには、\OracleBI\dwrepディレクトリにあるSQLファイルを使用します。表3-23に、特定のアプリケーションに該当するSQLファイルを示します。
SQLファイルによって、デフォルトの状態のアプリケーションで使用されているすべてのS_.*テーブルにインデックスが生成されます。
|
注意: テスト環境から本番環境に移行する場合は、本番環境でインデックスを削除して再作成する必要があります。 |
チェンジ・キャプチャSQLによって、次のSQLが生成されます。
Insert into S_ETL_I_IMG_XX (ROW_ID, LAST_UPD) AS SELECT ROW_ID, LAST_UPD, MODIFICATION_NUM From S_XXX WHERE LAST_UPD > 'LAST REFRESH_DATE – PRUNE DAYS' AND NOT EXISTS ( SELECT 'X' FROM S_ETL_R_IMAGE WHERE S_ETL_R_IMAGE.ROW_ID = S_XXX.ROW_ID AND S_ETL_R_IMG_XX.MODIFICATION_NUM = S_XXX.MODIFICATION_NUM AND S_ETL_R_IMG_XX.LAST_UPD = S_XXX.LAST_UPD )
SQL生成スクリプトが前述のSQLに基づいてS_CONTACTテーブルに作成するインデックスを、表3-24に示します。
英語以外のOLTPデータ・ソースでETLを実行するには、適切なソース・システム・コンテナのコピーを作成し、言語、国、大陸の各パラメータを構成する必要があります。
英語以外のOLTPデータ・ソースでETLを実行するには:
Data Warehouse Administration Consoleで、「File」→「New Source System」を選択して「New Source System Container」ダイアログを表示します。
「Create as a Copy of Existing Container」ラジオ・ボタンを選択します。
「Existing Containers」ドロップダウン・リストでコピーするコンテナを選択し、「OK」をクリックします。
「Design」ビューを表示します。
コンテナのドロップダウン・リストで選択したコンテナが正しいことを確認します。
「Source System Parameters」タブを選択します。
「Source System Parameters」リストの下の「Edit」タブで、リスト内の次のパラメータの値を変更します。
$$DFLT_LANG(デフォルトの言語)–たとえば、日本語のデータ・ソースの場合は、この値をJPNに変更します。
(オプション)$$DFLT_COUNTRY(デフォルトの国)
(オプション)$$DFLT_CONTINENT(デフォルトの大陸)
ヒント: $$DFLT_LANGパラメータに指定する値を特定するには、OLTPデータベースに対してクエリー「select VAL from S_SYS_PREF where SYS_PREF_CD=<ETL value>」を発行します。たとえば、デフォルトのETL言語を特定するには、次のコマンドを発行します。
select VAL from S_SYS_PREF where SYS_PREF_CD='ETL Default Language';
新しいソース・システム・コンテナに新しいETLプランを作成し、そのパラメータを次のように編集します。
「Execute」タブを表示します。
「Execution Plans」サブタブをクリックします。
「New」をクリックして空白の実行タブを新規に作成し、その下のサブタブ(「Subject Areas」、「Parameters」、「Ordered Tasks」など)を使用して、実行プランの詳細を指定します。
「Save」をクリックします。
「Run Now」をクリックして、新しいETLプランを実行します(または、「Schedule」タブを使用して、新しい実行プランを実行するタイミングを指定します)。