Oracle Business Intelligence Discoverer 管理ガイド 10gリリース2(10.1.2.0.0) B15623-01 |
|
この章では、サマリー・フォルダと、Discoverer Administratorを使用したサマリー・フォルダの管理方法について説明します。項目は次のとおりです。
Discovererでは、次の2種類のフォルダが使用されます。
Discovererのフォルダは、単一フォルダ、複合フォルダまたはカスタム・フォルダに分類されます。詳細は、第6章「フォルダの作成とメンテナンス」を参照してください。
Discovererでは、エンド・ユーザーのクエリー・レスポンス時間を短縮するためにサマリー・フォルダが使用されます。
サマリー・フォルダとは、再利用のために保存されたクエリー済データ(Discoverer Administratorで作成)です。 データは、次のいずれかのデータベースに格納されます(OracleのEditionに応じて異なります)。
Discovererでは、マテリアライズド・ビューを使用して、サマリーに使用するデータがOracle Enterprise Editionデータベースに格納されます。
Discovererではテーブルを使用して、サマリーに使用するデータをOracle Standard Editionデータベースに格納します。
サマリーに使用するデータを格納するためにDiscovererで作成されるテーブルをDiscovererサマリー・テーブルと呼びます。Discovererサマリー・テーブルの詳細は、「Discovererサマリー・テーブル」を参照してください。
サマリー・フォルダの利用により、詳細なデータベース・テーブルにクエリーを行うのではなく、事前に集計および結合されたデータにアクセスしてクエリーが行われるため、クエリーのレスポンス時間が短縮されます。
また、Discovererでは、他のアプリケーションで作成されたサマリー・データを含むテーブルに基づくサマリー・フォルダを使用できます。 これらのテーブルは、外部サマリー・テーブルと呼ばれています。外部サマリー・テーブルをリフレッシュするようにDiscovererに指定できます。
サマリー・フォルダを作成するには2つの方法があります。
Discovererでサマリー・フォルダを作成する場合は、自動サマリー管理(ASM)を使用する方法をお薦めします。
Discovererサマリー・テーブルは、Discoverer Administratorによって作成されるデータベース・テーブルで、サマリーに使用するデータが格納されています。Discovererサマリー・テーブルには、事前に集計および結合されたデータが含まれるため、Discoverer PlusとDiscoverer Viewerでのクエリーのパフォーマンスが向上します。
Discovererでは、サマリー・テーブルが使用できる状況が自動的に認識され、サマリー・テーブルを使用するようにクエリーがリライトされます。詳細は、「クエリー・リライト」を参照してください。
たとえば、Discoverer Plusで最初にクエリーが実行されるときは、ディテール・テーブルからデータが検索されます。これには、複数のテーブルの結合および数千、数百万の行の集計が必要になることがあります。この処理にはかなりの時間がかかることがあります。Discovererで適切なサマリー・テーブルが作成されていれば、同じクエリーでサマリー・テーブルからデータが検索され、数秒で結果が返ります。どちらのクエリーでも同じ結果が得られます。
Discovererの詳細およびOracle Standard Editionデータベースでサマリー・テーブルに対するクエリーをリライトする詳細は、「クエリー・リライトしてサマリー・テーブルを使用する場合の利点を示す例」を参照してください。
注意: マテリアライズド・ビューの作成が不可能なため、Oracle9i以上のEnterprise Editionデータベースに対する実行時にDiscovererサマリー・テーブルが作成される場合もあります。詳細は、「Oracle Enterprise EditionデータベースでEULアイテムにマッピングする場合の外部サマリー・テーブルとビューとの相違点」を参照してください。
マテリアライズド・ビューは、Oracle Enterprise Editionデータベースによって作成されたクエリーの結果を含むデータベース・オブジェクトです。クエリーの結果には、事前に集計および結合されたデータが含まれるため、Discoverer PlusおよびDiscoverer Viewerでのクエリーのパフォーマンスが向上します。
Oracle Enterprise Editionデータベースでは、クエリー・リクエストを満たすためにマテリアライズド・ビューを使用できる場合が自動的に認識されます。データベースでは、マテリアライズド・ビューを使用するようにクエリーがリライトされます。次に、クエリーがマテリアライズド・ビューにダイレクトされますが、基礎となるディテール・テーブルまたはビューにはダイレクトされません。
マテリアライズド・ビューには、次の特性があります。
通常のビューと異なり、マテリアライズド・ビューには1つ以上のディテール・テーブルに対するクエリーの結果データが含まれます。
Oracleデータベースでは、ディテール・テーブルの変更後にマテリアライズド・ビューをリフレッシュすることで、マテリアライズド・ビューのデータがメンテナンスされます。
この目的でDiscovererを次のように設定できます。
クエリー・リライトにより、ディテール・テーブルに対して表現されたSQL文が、ディテール・テーブルで定義されている1つ以上のマテリアライズド・ビューにアクセスする文に変換されます。詳細は、「クエリー・リライト」を参照してください。
Discovererサマリー・テーブルとマテリアライズド・ビューの違いは次を参照してください。
自動サマリー管理(ASM)とは、ユーザーにかわってサマリー・フォルダの作成と管理を行うDiscovererの機能です。
ASMにより、サマリー・フォルダ管理のための完全に自動化されたソリューションが提供されるため、サマリー・フォルダの作成とメンテナンスを簡単に行うことができます。ASMを定期的に実行すれば、ユーザーのクエリーからDiscovererで収集されるクエリー統計を使用して作成されるサマリー・フォルダが自動的に詳細化されます。また、ASMにより、サマリー・フォルダの作成またはメンテナンスを行う際にデフォルト値の指定を制御する場合の指針も提供されます。
ASMによる次の処理で、サマリー・フォルダの作成方法が決定されます。
ASMでは、前述の処理の組合せに基づいてサマリー・フォルダの最適なセットの作成とメンテナンスが自動的に行われます。
ASMにより、サマリー・ポリシーが、推奨されるサマリー・フォルダ定義のリストに変換されます。他に操作を行わずにこれらの推奨定義を実装するか(サマリー・テーブルの実際のセットがシステム使用状況に応じて動的に調整されます)、あるいは実行を一時中断して、1つ以上の推奨定義を特別に含めることができます。
ASMではサマリー・フォルダを作成するための表領域が必要ですが、サマリー・ウィザードで表領域を調整できます(詳細は、「サマリー・ウィザードを使用したASMの実行方法」を参照)。
注意: ASMは、現在選択されているビジネスエリアのみでなくEUL全体で機能します。これは、現行のEUL内のすべてのビジネスエリアからのフォルダをASMで使用できることを意味しています。
ASMでサマリー・フォルダを作成するには、次の前提条件を満たす必要があります。
注意: Oracleの集合演算子の詳細は、『Oracle Database SQLリファレンス』を参照してください。
注意: Discovererで作成されたデータベース・ユーザーには、サマリー・フォルダを作成するための追加権限が必要になる場合があります。 追加権限が必要になる状況の詳細は次の表に示されています。Discovererで作成されたデータベース・ユーザーがサマリー・フォルダを作成するために追加権限を必要とする場合を示しています。
データベース・ユーザーの作成に使用されたDiscovererまたはデータベース(あるいはその両方)のリリース | データベース・ユーザーに、サマリー・フォルダを作成するための追加権限が必要かどうか | 必要なアクション |
---|---|---|
Discoverer 3.1 |
データベース・ユーザーには、サマリー・フォルダを作成するための追加権限が必要です。 |
必要な権限をデータベース・ユーザーに明示的に付与する必要があります(これらの権限を付与する方法の詳細は、「SQL*Plusを使用してサマリー・フォルダの作成に必要な権限を付与する方法」を参照)。 |
Discoverer 4iとOracle Standard Editionデータベース |
データベース・ユーザーには、サマリー・フォルダを作成するための追加権限が必要です。 |
Discoverer 3.1の場合と同じ。 |
Discoverer 4iとOracle Enterprise Editionデータベース |
データベース・ユーザーには、サマリー・フォルダを作成するための追加権限は必要ありません。 |
不要 |
多くの方法でASMを実行できます。次の表は、様々なASM実行方法とその使用状況を示しています。
ASMポリシーは、ユーザー定義の制約とオプションのセットです。このポリシーにより、ASMの動作と、ASMで生成されるサマリー・フォルダを制御できます。
ASMポリシーは、領域オプションと詳細設定に分けられます。多くの場合、領域オプションの設定のみが必要になります。
領域オプションと詳細設定の詳細は、次を参照してください。
Discovererには、ユーザーが操作を行わなくても適切なサマリー・フォルダの作成とメンテナンスが確実に実行されるデフォルト設定があります。
ASMポリシーに必要な最低限の情報は、表領域名と割り当てられたディスク領域です。デフォルトの表領域はユーザー表領域であり、デフォルトのディスク領域が使用されます。これらの値は、必要に応じて変更できます(詳細は、「サマリー・ウィザード(ASM): ステップ3(領域の割当て)ダイアログ」を参照)。
サマリー・テーブルおよびマテリアライズド・ビューとデータベースとの一貫性を保つために、サマリー・データを定期的にリフレッシュする必要があります。またデータベースが頻繁に変更される場合は、基礎となるデータベースとデータの同期を保つために、サマリー・テーブルとマテリアライズド・ビューをリフレッシュする必要があります。
サマリー・フォルダ・リフレッシュの詳細は、次を参照してください。
注意: 変更が行われた後で(データ・ウェアハウスへのデータのロードなど)、サマリー・フォルダをリフレッシュすると有益な場合があります。Discovererのコマンドライン・インタフェース機能を使用して、サマリー・フォルダを自動的にリフレッシュできます(詳細は、第22章「Oracle Business Intelligence Discovererコマンドライン・インタフェース」を参照)。
サマリー・フォルダのリフレッシュ時(Oracle Enterprise Editionデータベースへの実行時)には、リフレッシュ設定に応じてデータベース・サーバー自体のリフレッシュ機能が使用されます(増分リフレッシュの場合もあります)。
サマリー・フォルダのリフレッシュ時には、Discovererにより次の処理が実行されます。
ASMを実行するには、特定のデータベース権限が必要です(ASMを実行するために必要な権限の詳細は、「ASMでサマリー・フォルダを作成するための前提条件」を参照)。
「サマリー・ウィザード」ダイアログの詳細を指すヘッダーのリストを表示するには、「サマリー・ウィザード(ASM): ダイアログのリスト」を参照してください。
サマリー・ウィザードを起動する手順は、次のとおりです。
注意: Discovererでは、作成するサマリー・フォルダを決定するために、サマリー・フォルダ処理にかかわるすべてのフォルダが分析されます。分析されるフォルダの数とサイズによっては、この処理に時間がかかることがあります。Discovererでは、この処理の開始と停止をユーザー自身が決定できます。
分析処理中に進行状況が表示されます。
テーブルの分析を再開する前に、(「詳細設定」ボタンを使用して)デフォルト設定を変更するために分析を中断する場合があります。
分析は、「停止」ボタンをクリックした時点から再開されます。
注意: 分析できないフォルダがある場合は、「分析されませんでした。」ダイアログが表示されます。
サマリー・フォルダに割り当てられた領域から予測されるパフォーマンスが、グラフに描画されます。
ここで表示される情報がフォルダ分析時に計算されます(前の手順を参照)。「デフォルト設定の変更」ダイアログのいずれかのタブを使用して変更を行うと、Discovererによりグラフが再計算されることがあります。
設定の詳細は、「サマリー・ウィザード(ASM): 「デフォルト設定の変更」ダイアログ: ダイアログのタブのリスト」を参照してください。
注意: サマリー・データ用の表領域とは別の表領域を使用することをお薦めします。 そのような表領域がない場合は、SYSTEMまたはTEMP表領域を使用しないことをお薦めします。詳細はデータベース管理者に問い合せてください。
注意: 「サマリーの使用する表領域」フィールドの下の値は、「サマリー作成に使用する容量」フィールドで指定した値を下回ることがあります。この場合でも、表領域が自動拡張に設定されていれば問題ありません。表領域が自動拡張に設定されている場合、必要な領域がデータベースに自動的に追加されます。表領域が自動拡張に設定されていない場合、領域(KB)の値は使用可能領域未満である必要があります。
推奨サマリーの詳細は、「推奨サマリー」ダイアログを参照してください。
詳細設定の詳細は、「サマリー・ウィザード(ASM): 「デフォルト設定の変更」ダイアログ: ダイアログのタブのリスト」を参照してください。
これらの設定には、「推奨サマリー」ダイアログまたは「デフォルト設定の変更」ダイアログで行われた設定が含まれます。
ロード・ウィザードを使用してビジネスエリアを現行のEULにロードするとき、この新規ビジネスエリア用のサマリー・フォルダ・セットを作成するかどうかを選択できます。
このオプションを選択すると、適切なサマリーがバルク・ロード後に作成されます。
ロード・ウィザードを使用してバルク・ロード後にASMを実行する手順は、次のとおりです。
詳細は、「ロード・ウィザード: ステップ4」ダイアログを参照してください。
ASMポリシーの詳細は、「ASMポリシー」を参照してください。
コマンドライン・インタフェースを使用してASMを実行する手順は、次のとおりです。
コマンドライン・インタフェースの詳細は、第22章「Oracle Business Intelligence Discovererコマンドライン・インタフェース」を参照してください。ASMコマンドとコマンド修飾子の詳細は「/asm」を参照してください。
オペレーティング・システムのバッチ・ファイル機能またはスケジューラ機能を利用してASMを実行できます。この方法では、処理を繰り返す場合のスケジュールされた間隔など、ASMを実行する時期を指定します。
バッチ・ファイル内でコマンドライン構文を使用すれば、夜間または週末に自動的に処理できます。これにより、システムの自己メンテナンスが可能になります。
バッチ・ファイルからASMを実行する前に、次の2つの処理が必要です。
ASMコマンドライン構文の詳細は、「/asm」を参照してください。
バッチ・ファイルのスケジュールを設定する方法は、オペレーティング・システムのドキュメントまたはヘルプを参照してください。
Discovererのサマリー管理機能では、Oracleデータベース管理システム(DBMS)の機能が使用されます。この機能では、ワークブック・スケジュール機能と同じスケーラブルで信頼性の高い処理手順が使用されており、両方の機能の設定は似ています。これらの手順では、DBMS_JOBと呼ばれるDBMSの標準パッケージが使用されます。
次の作業を確認すれば、Discovererでサマリー管理の処理手順を有効にできます。
サマリー管理のためにDBMS_JOBがインストールされていることを確認する手順は、次のとおりです。
SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。
SQL> CONNECT dba_user/dba_pw@database;
dba_userはデータベース管理者、dba_pwはデータベース管理者のパスワードです。
SQL> select * from all_objects where object_name='DBMS_JOB' and object_type = 'PACKAGE';
文によって行が返されない場合は、データベース管理者として必要なパッケージを作成します。
DBMS_JOBをインストールし、サマリー管理に必要なパッケージを作成する手順は、次のとおりです(Oracle9i以上のデータベースの場合)。
SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。
SQL> CONNECT sys/sys_pw@database AS SYSDBA;
sysはSYSユーザー、sys_pwはSYSユーザーのパスワードです。
SQL> start <ORACLE_HOME>/rdbms/admin/dbmsjob.sql; SQL> start <ORACLE_HOME>/rdbms/admin/prvtjob.plb;
SQL*Plusを使用して、次の方法でサマリー・フォルダの作成に必要な権限を付与できます。
SQL*Plusを使用して、サマリー・フォルダの作成に必要な権限を手動で付与する手順は、次のとおりです(Oracle9i以上のデータベースの場合)。
SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。
SQL> CONNECT sys/sys_pw@database AS SYSDBA;
sysはSYSユーザー、sys_pwはSYSユーザーのパスワードです。
SQL> grant CREATE TABLE to <user>; SQL> grant CREATE VIEW to <user>; SQL> grant CREATE PROCEDURE to <user>; SQL> grant CREATE ANY MATERIALIZED VIEW to <user>; SQL> grant DROP ANY MATERIALIZED VIEW to <user>; SQL> grant ALTER ANY MATERIALIZED VIEW to <user>; SQL> grant GLOBAL QUERY REWRITE to <user> with admin option; SQL> grant ANALYZE ANY to <user>; SQL> grant SELECT ON V_$PARAMETER to <user>;
注意: SELECT ON V_$PARAMETERを付与するには、SYSユーザーとしてログインする必要があります。 SYSユーザーとしてログインできない場合、またはSYSのユーザー名とパスワードが不明な場合は、データベース管理者に問い合せてください。
SQL*Plusとeulasm.sqlスクリプトを使用してサマリー・フォルダの作成に必要な権限を付与する手順は、次のとおりです。
SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。
SQL> CONNECT dba_user/dba_pw@database;
dba_userはデータベース管理者、dba_pwはデータベース管理者のパスワードです。
SQL> @'<ORACLE_HOME>¥discoverer¥util¥eulasm.sql'
ENTER value for username: <username>
注意: SELECT ON V_$PARAMETERを付与するには、SYSユーザーとしてログインする必要があります。 SYSユーザーとしてログインできない場合、またはSYSのユーザー名とパスワードが不明な場合は、データベース管理者に問い合せてください。
SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。
SQL> CONNECT sys/sys_pw@database AS SYSDBA;
sysはSYSユーザー、sys_pwはSYSユーザーのパスワードです。
SQL> grant SELECT ON V_$PARAMETER to <user>;
データベース・ユーザーは、サマリー・テーブルを作成するために十分なデフォルト表領域割当て制限を持っている必要があります。必要な場合は、次の作業により表領域割当て制限を決定できます。
表領域割当て制限を決定する手順は、次のとおりです(Oracle9i以上のデータベースの場合)。
SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。
SQL> CONNECT sys/sys_pw@database AS SYSDBA;
sysはSYSユーザー、sys_pwはSYSユーザーのパスワードです。
SQL> select * from dba_ts_quotas where username = <user>;
<user>はDiscoverer Administratorを使用する管理者のユーザーIDを示しています。
表領域割当て制限をリセットする手順は、次のとおりです。
SQL> alter user <user> quota <n> on <tablespace>;
<user>はDiscoverer Administratorを使用する管理者のユーザーIDを示しています。
<n>は、割当ての単位K(KB)、M(MB)またはU(無制限)を示しています。
<tablespace>は、デフォルトの表領域名(USERSなど)を示しています。
ユーザーは、ユーザー名と同じ名前のオブジェクトをスキーマ内に持つことはできません。この作業は、データベース・ユーザー名と同じ名前のオブジェクトをスキーマ内で検索する方法を示しています。
ユーザー名と同じ名前のオブジェクトがスキーマ内にあるかどうかを確認する手順は、次のとおりです。
SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。
SQL> CONNECT jchan/tiger@database;
jchanはデータベース・ユーザー、tigerはデータベース・ユーザーのパスワードです。
SQL> select object_name from user_objects where object_name = <user>;
<user>はSQL*Plusに接続するログインの場合と同じです。
サマリー管理処理はサーバー上のデータベース内で実行され、Oracle DBMSの初期化ファイル(INIT<SID>.ORA)内のパラメータにより制御されます。
DBMS_JOBの処理に使用する同時処理の数は、パラメータjob_queue_processesで指定します。つまり、同時に扱うことができる処理リクエストの数をこのパラメータで制御します。デフォルト値はゼロであり、処理リクエストが作成されないことを意味しています。別のアプリケーションでDBMS_JOBを使用する場合は、この値を2以上に設定してください。
なんらかの理由で1つのジョブが失敗すると、そのジョブは再実行を依頼され続けてキュー内のその他のジョブを完了できなくなることがあるため、複数のジョブ・キュー・プロセスが必要です。同時に10の処理リクエストを扱う場合は、値を10に設定する必要があります。
これらのパラメータの詳細は、「ワークブックのスケジュールをサポートするOracleデータベースの機能」を参照してください。
前述のパラメータを有効にする手順は、次のとおりです。
INIT<SID>.ORAファイルは、<ORACLE_HOME>¥dbsにあります。このファイルのデフォルト名はINITORCL.ORAです。ORCLは<SID>名を表します。
job_queue_processes = 2
|
Copyright © 2004 Oracle Corporation. All Rights Reserved. |
|