Oracle® Business Intelligence Applicationsインストレーション・ガイド 11gリリース1 (11.1.1.8.1) E56352-01 |
|
![]() 前 |
![]() 次 |
この付録では、DDLを生成してBusiness Analytics Warehouseの表にデプロイする方法と、表領域を表および索引に割り当てる方法について説明します。
この付録の内容は次のとおりです。
Business Analytics Warehouseの表は、インストール・プロセスの実行時、Business Analytics Applications Suiteのポジトリ作成ユーティリティ(RCU)が付属のDDLスクリプトを実行したときに自動的にデプロイされます。RCUでは、個々の表や関連する索引にどの表領域を割り当てるのかという確認画面は表示されず、付属のDDLを変更するメカニズムも提供されません。Business Analytics Warehouseのデータ・モデルを変更する場合は、ODIを使用して新しいDDLスクリプトを生成する必要があります。
Business Analytics WarehouseのDDLの再生成が推奨されるのは、次のような場合です。
既存の表を変更するか、表を新規作成することによって、Business Analytics Warehouseを変更する場合。
個別の開発環境を持つ場合。この場合には、各環境に対してRCUを実行するのではなく、ODIを使用して、これらの環境でBusiness Analytics Warehouseの表をデプロイするために実行するDDLを生成する必要があります。
Business Analytics Warehouseのデータベース・ユーザーに割り当てられるデフォルトの表領域は、表や索引などのオブジェクトがRCUによって作成される場合、すべての表および索引に使用されます。DWの表には、データベース・ユーザーに関連付けられたデフォルトの表領域とは異なる表領域を割り当てることをお薦めします。
パッチまたはアップグレードが適用されたことで、ODIデータが変更されるか、新しいODIデータ・ストアが導入された場合、それに対応するデータベース・テーブルも変更または作成する必要があります。
データベースは直接変更ができますが、これらの変更はODIリポジトリと同期化する必要があります。このためには、Oracle BI Applicationsリバース・ナレッジ・モジュール(RKM)を実行して、変更内容をODIに適用します。このRKMを実行しない場合、ODIはこれらの変更を認識せず、影響を受けるウェアハウス表に適用するときに問題が発生する可能性があります。
Business Analytics Warehouse DDLを生成するには、次の手順に従います。
Business Analytics Warehouse DDLを生成するには:
ODI Studioを起動して、デザイナ・ナビゲータを表示します。
「プロジェクト」エディタで、Components、DW、Oracle、Generate DW DDLのフォルダを拡張します。
GENERATE_DW_DDLシナリオを実行します。
次の情報を指定します。
オプション | 説明 |
---|---|
CREATE_SCRIPT_FILE |
Trueに設定すると、DDLスクリプトを含む.sqlファイルが作成されます。これは変更内容を確認するために役立ちます。SCRIPT_LOCATIONオプションに値が設定されていない場合、プロシージャがoraclediディレクトリにbiappsddl.sqlという名前のファイルを作成します。 |
REFRESH_MODE |
FULLまたはINCREMENTAL FULLにすると、CREATE文を使用して、データ・ウェアハウス全体に対するDDLが作成されます。「表マスク」オプションは無視されます。 INCREMENTALにすると、ODIデータ・ストアとデータベース内の表が比較されます。このプロセスではデータ・ウェアハウス全体を比較すると非常に長い時間がかかる可能性があるので、このオプションは「表マスク」オプションと一緒に使用する必要があります。 |
CHARCLAUSE |
Unicodeサポートのために提供されます。Trueに設定すると、DDLにCHAR句が含まれます。 |
RUN_DDL |
Trueに設定すると、ユーザーのウェアハウスに対してDDLが実行されます。 |
SCRIPT_LOCATION |
スクリプトを作成する場合、このフィールドはスクリプトの作成場所を示します。 |
TABLE_MASK |
デフォルトの%では、すべての表が比較されます。表のサブセットや単一の表のみに対するDDLを作成する場合は、この値を変更できます。たとえば、ディメンション表に対するdiffスクリプトを作成する場合は、この値をW_%_Dに設定します。 |
ODIに変更を加える場合は、次の点に注意してください。
FULL(完全)モードでは、データベースにすでにデプロイされている内容に関係なく、すべての表と順序を作成するスクリプトが生成されます。INCREMENTAL(増分)モードでは、ODIと、表および列のデータベース定義が比較されます。どちらのモードでも、索引の作成、変更、削除は行われません。
列の追加または変更:
列の追加: ODIでは列名の重複は許可されますが、DDLをデータベースにデプロイするときにエラーが発生します。
列の変更:
- ODIでの列名の変更は、既存の列を削除して、データベースに新しい列を追加する方法で処理されます。つまり、その列の既存のデータはすべて失われることになります。プロシージャは列名に対して機能します。DDLを生成するときに、プロシージャはデータベースと、列のODI定義を比較します。ODIで列名が変更されていると、その列がデータベース内で見つからないために、追加されます。
- データ型、スケール、精度、nullの可能性への変更は、ALTER文としてサポートされます。
- 事前構成された列は変更しないでください。これらの機能を変更する必要がある場合は、独自のカスタム列が導入されます。
- 既存の列のサイズを大きくすることはできますが、小さくすることはできません。同様にデータ型も、既存のデータにすでに対応している型に変更することはできますが(CHARのVARCHARへの変更や、DATEのDATETIMEへの変更など)、あまり対応していないデータ型には変更しないでください(VARCHARからNUMBERへの変更など)。ODIでのこの種の変更は可能ですが、DDLをデプロイする際、問題が発生する可能性が高くなります。
列の削除: 事前構成された列は削除しないでください。削除できるのはカスタム列のみです。ODIリポジトリから列を削除すると、ALTER文を使用して表からその列が削除されます。これは、データベースに存在してODIには存在しない列を識別することで実行されます。(つまり、ODIで列名を変更すると、削除と追加の文が生成されます)。
索引の追加または変更:
索引の追加: ODIでは索引名の重複と索引の定義の重複は許可されますが、DDLをデータベースにデプロイするときにエラーが発生します。
索引の変更:
- 索引は、ロード計画の実行時のみ削除および作成されます。索引はこのプロシージャでは同期化されません。
- 事前構成された索引への変更は完全にサポートされています。一意性やアクティブ/非アクティブへの変更もサポートされます。主要なユースケースとしては、事前構成された索引をアクティブまたは非アクティブにすることがあげられます。
- 事前構成された索引名は変更しないでください。以前にロード計画が実行され、索引が作成されている場合、その索引は古い名前のままでデータベースに存在し続けています。ODIはこの索引を認識しないため、ロード計画の実行時に問題が発生する可能性があります。
索引の削除:
- 削除できるのはカスタム索引のみで、事前構成された索引は削除できません。
- 事前構成された索引が必要なくなった場合は、非アクティブにしてください。
表の追加または削除: ODに新しい表を追加したり、ODの既存の表を削除したりできます。
ODIに表が追加され、その表がデータベースに存在しない場合は、CREATE TABLE文を使用して追加されます。
ODIから表が削除され、その表がデータベースにまだ存在している場合は、DROP TABLE文が生成されます。
事前構成された表は削除しないでください。
順序の追加または削除:
新しい表にROW_WID列が含まれ、<TABLE_NAME>_SEQという形式に従っている場合は、ODIに順序を追加する必要があります。新しい表にSCD1_WID列が含まれ、<TABLE_NAME>_S1Wという命名規則に従っている場合は、ODIに順序を追加する必要があります。
ODIに順序が追加され、それがデータベースに存在しない場合は、CREATE SEQUENCE文を使用して追加されます。
ODIから順序を削除しても、データベースからは削除されません。
Oracle BI Applicationsにパッチを適用するには、既存の表の変更や新しい表の導入など、データベース・オブジェクトの変更が必要になる場合があります。Oracleから、ユーザーが変更を既存のODIリポジトリ定義とマージするために使用するパッチが提供されます。次に、これらの変更を、データベースにデプロイする必要があります。ユーザーが導入した新しい表、列、索引は保持されます。事前構成された表、列、索引に変更を加えた場合は、必ず競合解決プロセスを実行する必要があります。
Oracle Studioのデザイナ・ナビゲータを使用して、データ・ウェアハウス表(W_%_DやW_%_Fなどの表)、それらに関連付けられた索引およびステージング表(W_%_DSやW_%_FSなどの表)をデフォルトの表領域を割り当てることができます。索引は、このユーティリティでは作成されませんが、ETLプロセスの実行時に作成され、ODIで割り当てられた表領域に反映されます。
データ・ウェアハウス表に表領域を割り当てるには:
ODI Studioを起動して、デザイナ・ナビゲータを表示します。
「モデル」エディタで、Oracle BI Applicationsモデルを拡張します。
Oracle BI Applicationsモデルを編集し、OBI表領域フレックスフィールドに、これらのオブジェクトで使用する表領域の値を割り当てます。すべてのデータ・ウェアハウス表と索引が、ここで定義した表領域を使用することになります。
(オプション)個々の表をオーバーライドすることで、モデル・レベルで割り当てたものとは異なる表領域を使用できます。特定のデータ・ストアを編集し、OBI表領域フレックスフィールドに、この表で使用する表領域の値を割り当てます。
(オプション)個々の索引に表領域を割り当てるには、定数を編集して、使用する表領域名と一致するようにOBI表領域フレックスフィールドの値を指定します。