Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド 11g リリース1(11.1.1) B63029-01 |
|
前 |
次 |
この章では、問題を診断および解決する方法を説明します。内容は次のとおりです。
Oracle Business Intelligenceには、問題の原因を簡単に見つける方法とその解決策が用意されています。次の操作を行うことで、問題を解決できます。
Fusion Middleware Controlの「概要」ページでシステムの最近の問題を表示します。
Fusion Middleware Controlの診断ページを使用し、問題について検証します。
複数のコンポーネントで問題を追跡します(パフォーマンスや可用性など)。
Fusion Middleware Controlからログ・ファイルを表示します。
Oracle Business Intelligenceシステムの構成を変更することによって問題を解決します。
問題を解決できるようにするためには、主に次のようなことを行う必要があります。
エラーおよび診断ログ情報の調査と構成。詳細は、次を参照してください。
可用性とパフォーマンスの問題を把握するためのシステムおよびプロセス・メトリックの調査。詳細は、次を参照してください。
次の項で説明するように、診断ログ・ファイルを表示したり、診断ログ・ファイルおよびファイル内の情報に影響する設定を構成したりできます。
Fusion Middleware Controlログ・ビューアを使用して、Oracle Business Intelligenceコンポーネントのログ・エントリを検索して表示できます。ログ・ファイルを検索するとログ・メッセージが見つかり、たとえば、特定の日付範囲、ユーザー、ユーザー・トランザクションまたはメッセージのレベル(エラー、警告、通知など)をターゲットとするフィルタを適用できます。Fusion Middleware Controlログ・ビューアから、ログ・ファイル全体を表示することもできます。
エラー・メッセージと警告のログ・エントリが複数のログ・ファイルにまたがって生成される場合、その追跡は困難です。しかし、複数のログ・ファイルにわたる特定のユーザー・トランザクションのログ情報を表示することが可能です。トランザクション・レベルのロギングでは、実行コンテキストID(ECID)と呼ばれる一意のトランザクションIDを、ユーザー・リクエストに応答して生成されるすべてのログおよびエラー・メッセージに関連付けています。このロギングによって、基となる問題の原因を迅速に診断できます。ただし、ログ内のメッセージによっては(たとえば、サーバーの起動や停止のシステム・メッセージ)、トランザクション属性を持ちません。クライアント・リクエストに関連するすべてのログ・メッセージは、トランザクション属性を持ちます。
この手順を始める前に、第3.2項「Oracle Business Intelligenceの構成設定を更新するためのFusion Middleware Controlの使用」で説明している情報について確認しておいてください。
Fusion Middleware Controlを使用してログ情報、エラー・メッセージおよびアラートを表示するには:
Business Intelligenceの「概要」ページに移動します。詳細は、第2.2.2項「Oracle Business Intelligenceシステム・コンポーネントを管理するためのFusion Middleware Controlの使用」を参照してください。
「診断」ページを表示します。
この要素のページレベルのヘルプにアクセスするには、ページの「ヘルプ」ボタンをクリックします。
次のリストを表示します。
「最新のエラー」領域の最新のエラー
「最新の警告」領域の最新の警告
すべてのログ・ファイルの表示/検索およびコンポーネント別のログ・ファイルの表示/検索の下のリンクを選択して、すべてのログ・ファイルのメッセージまたは指定されたコンポーネントのログ・ファイルのメッセージを表示します。次のリンクのページレベル・ヘルプにアクセスするには、ページの「ヘルプ」ボタンをクリックします。
ログ・ビューアを使用するログ・ファイルの検索
プレゼンテーション・サービス・ログ
サーバー・ログ
スケジューラ・ログ
JavaHostログ
クラスタ・コントローラ・ログ
アクション・サービス・ログ
セキュリティ・サービス・ログ
管理者サービス・ログ
Fusion Middleware Controlでは、選択に応じた「ログ・メッセージ」ページにメッセージが表示されます。
適切な検索基準を入力して、対応するエラー・メッセージを表示します。
メッセージをECID別に表示するには、「関連メッセージの表示」をクリックし、「ECID(実行コンテキストID)ごと」を選択します。
1つ以上の行を選択して、選択されているメッセージのログ・ファイル・エントリの詳細を表示します。
ログ・ビューアに表示される要素の詳細は、Fusion Middlewareのヘルプを参照してください。
ログ・ファイルのサイズと経過時間に基づいて、新しいログ・ファイルを作成する必要があるタイミングを決定する基準を構成できます。ログ・ファイルに保存するメッセージのレベルを決定するログ・レベルも指定できます。
この項の構成は、次のとおりです。
Oracle BI Systems Management APIのメソッドを使用した構成設定の変更の詳細は、第22章「Oracle BI Systems Management APIの概要」を参照してください。
この手順を始める前に、第3.2項「Oracle Business Intelligenceの構成設定を更新するためのFusion Middleware Controlの使用」で説明している情報について確認しておいてください。
Fusion Middleware Controlを使用して、ログ・ファイルのローテーション・ポリシーを構成し、ログ・レベルを指定するには:
Business Intelligenceの「概要」ページに移動します。詳細は、第2.2.2項「Oracle Business Intelligenceシステム・コンポーネントを管理するためのFusion Middleware Controlの使用」を参照してください。
「診断」ページを表示します。
「構成をロックして編集」をクリックして、変更を実行できるようにします。
ページのヘルプ・トピックの説明に従って、要素を設定します。
たとえば、使用するログ・レベルを指定したり、場合によってはその粒度を設定したりできます。
次のオプションのページレベル・ヘルプにアクセスするには、ページの「ヘルプ」ボタンをクリックします。
ログ構成
「最大ファイル・サイズ」オプション
「ログの最長保存期間」オプション
問合せログ
「最大ファイル・サイズ」オプション
「ログの最長保存期間」オプション
ログ・レベル
「インシデント・エラー」オプション
「エラー」オプション
「警告」オプション
「通知」オプション
「トレース」オプション
「適用」をクリックしてから、「変更のアクティブ化」をクリックします。
Business Intelligenceの「概要」ページに戻り、「再起動」をクリックします。
Fusion Middleware Controlで変更できるログ・ファイル設定に加えて、手動で変更できる設定もあります。コンポーネントのログ構成ファイル内の様々な要素を使用して、その設定を変更します。
注意: 変更が後で上書きされる可能性があるため、1つのコンポーネントの診断ログ構成ファイルを編集することはしないでください。詳細は、第3.4項「構成設定を更新するためのテキスト・エディタの使用」を参照してください。 |
この手順を開始する前に、第3.4項「構成設定を更新するためのテキスト・エディタの使用」の情報を理解しておく必要があります。
ログ・ファイル形式を構成する設定を手動で変更するには:
第8.3.2項「診断ログ構成ファイルの概要とその位置」の説明に従って、コンポーネントのログ構成ファイルを開きます。
ログ・ファイル形式を指定するFormat要素を追加する必要があるセクションを見つけます。デフォルトはODL-TEXTです。
Fusion Middleware Controlログ・ビューアを使用してOracle Business Intelligenceのログ・ファイルを表示および検索するには、ファイルがODL-Text形式またはODL-XML形式である必要があります。
次の例に示すように、必要な要素とその祖先要素を追加します。
<server> <ServerInstance> <Log> <Format>ODL-TEXT</Format> </Log> </ServerInstance> </server>
JavaHostサーバー診断ログ構成ファイルの例は、例8-2を参照してください。
変更内容を保存し、ファイルを閉じます。
Oracle Business Intelligenceを再起動します。
この項では、診断ログ・ファイルと診断ログ構成ファイルについて説明します。内容は次のとおりです。
診断ログ・ファイルは、Oracle Business Intelligence Serverによって生成されるメッセージ情報を格納するためのファイルです。これらのログ・ファイルは、次の場所に保存されています。
ORACLE_INSTANCE\diagnostics\logs\component_type\coreapplication
Oracle Business Intelligenceでは、次の診断ログ・ファイルが使用されます。
プレゼンテーション・サービス
\CatalogCrawler\sawcatalogcrawlerlogsysn.log: カタログ・クローラのログ・ファイル。Fusion Middleware Controlログ・ビューアで検索できません。
sawlogn.log: 診断ログ出力の最新部分に相当し、Fusion Middleware Controlログ・ビューアで検索できる、プレゼンテーション・サービスのログ・ファイル。
プレゼンテーション・サービスのロギングの詳細は、第8.5項「Oracle BI Presentation Servicesのロギング」を参照してください。
Oracle BIサーバー
nqquery<n>.log: Oracle BI Server問合せログ。Fusion Middleware Controlログ・ビューアで検索できません。
<n> = 日付とタイムスタンプ(例: nqquery-20101209-2135.log)
nqserver<n>.log: Oracle BI Serverメイン診断ログ。Fusion Middleware Controlログ・ビューアで検索できます。
<n> = 日付とタイムスタンプ(例: nqserver-20101209-2135.log)
nqsadmintool.log: Oracle BI管理ツールのログ。
Oracle BI Serverユーティリティ: たとえば、biserverxmlexecやequalizerpdsも、実行時に独自のログを生成します。
JavaHost
jh-n.log: JavaHost Serverのメイン診断ログ。Fusion Middleware Controlログ・ビューアで検索できます。
<n> = 日付とタイムスタンプ(例: jh-20100909-2135.log)
Oracle BIスケジューラ
nqscheduler-<n>.log: Oracle BI Schedulerのログ・ファイル。Fusion Middleware Controlログ・ビューアで検索できます。
<n> = 日付とタイムスタンプ(例: nqscheduler-20100909-2135.log)
クラスタ・コントローラ
nqcluster-yyyyMMdd-hhmm.log: Oracle BI Cluster Controllerの診断ファイル。Fusion Middleware Controlログ・ビューアで検索できます。
<n> = 日付とタイムスタンプ(例: nqcluster-20100909-2135.log)
BI JEEログ(アクション・サービスおよびセキュリティ・サービス)。次のログ・ファイルは両方とも、Fusion Middleware Controlログ・ビューアで検索できます。
AdminServer-diagnostic.log
bi_server1-diagnostic.log
アップグレード
Oracle Business Intelligenceのアップグレードのログ・ファイルは、次の場所に作成されます。
ORACLE_HOME\upgrade\logs
アップグレード・ログ・ファイルの詳細は、Oracle Fusion Middleware Oracle Business Intelligenceアップグレード・ガイドを参照してください。これらのファイルは、Fusion Middleware Controlログ・ビューアで検索できません。
診断ログ構成ファイルは、Oracle Business Intelligenceの診断ログ・ファイルへの出力を制御します。
注意: 変更が後で上書きされる可能性があるため、1つのコンポーネントの診断ログ構成ファイルを編集することはしないでください。詳細は、第3.4項「構成設定を更新するためのテキスト・エディタの使用」を参照してください。 |
Oracle Business Intelligenceのログ構成ファイルは、次の場所に保存されています。
ORACLE_INSTANCE\config\component_type\bi_component_name
例:
\OPMN\opmn\opmn.xml
\OracleBIClusterControllerComponent\coreapplication_obiccs1\ccslogconfig.xml
\OracleBIJavaHostComponent\coreapplication_obijh1\logging_config.xml
\OracleBIPresentationServicesComponent\coreapplication_obips1\instanceconfig.xml
\OracleBISchedulerComponent\coreapplication_obisch1\instanceconfig.xml
\OracleBIServerComponent\coreapplication_obis1\logconfig.xml
診断ログ構成ファイルは、見かけは多少異なる場合がありますが、ODL(Oracle Diagnostic Log)標準に準拠します。
例8-1と例8-2は、Oracle Business Intelligenceの2つのログ構成ファイルを示しています。
<server> <ServerInstance> <Log> <MaximumFileSizeKb>10000</MaximumFileSizeKb> <MaximumLogAgeDay>60</MaximumLogAgeDay> <Format>ODL-TEXT</Format> <Level> <IncidentError>1</IncidentError> <Error>1</Error> <Warning>16</Warning> <Notification>1</Notification> <Trace>16</Trace> </Level> </Log> <UserLog> <MaximumFileSizeKb>10000</MaximumFileSizeKb> <MaximumLogAgeDay>10</MaximumLogAgeDay> <Format>ODL-TEXT</Format> </UserLog> </ServerInstance> </server>
例8-2 JavaHost Server診断ログ構成ファイルの形式
<?xml version = '1.0' encoding = 'utf-8'?> <logging_configuration> <log_handlers> <log_handler name='odl-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='C:\oracle_bi_ee_BIFNDNPTPSNT0911060426S-Release\jhlogs\javahost.log'/> <property name='maxFileSize' value='1000000'/> <property name='maxLogSize' value='5000000'/> </log_handler> </log_handlers> <loggers> <logger name='saw' level='NOTIFICATION:1' useParentHandlers='false'> <handler name='odl-handler'/> </logger> </loggers> </logging_configuration>
Oracle Business Intelligenceコンポーネントは、ログ構成ファイル内のサーバー固有の設定を使用して、診断ログ・ファイルを制御します。例:
Oracle BI Presentation Servicesログ構成ファイル
- writerClassId
設定によって、sawlog.logファイルに書き込まれるメッセージが構成されます。
Oracle BI Serverログ構成ファイル
- Log
設定によって、nqserver.logファイルに書き込まれるメッセージが構成されます。
詳細は、第8.3.5項「システム・ログ内のメッセージ」を参照してください。
- UserLog
設定によって、nqquery.logファイルに書き込まれるメッセージが構成されます。
詳細は、第8.4項「問合せログの管理」を参照してください。
Oracle BI Schedulerログ構成ファイル
- Log
設定によって、nqscheduler.logファイルに書き込まれるメッセージが構成されます。
JavaHost Serverログ構成ファイル
- log_handlers
要素とサブ要素では、ログ・ファイルのローテーション・ポリシーを構成してログ・ファイル名とその位置を指定できます。
- loggers
要素とサブ要素では、JavaHost Serverログ・レベルを標準のODL(Oracle Diagnostic Log)ログ・レベルにマップすることによって、Javaコンポーネント(JavaHost Server)のログ・レベルを適切に処理できます。
ログ・ファイル・メッセージのカテゴリとレベルによって、ログ・ファイルに書き込まれるメッセージの詳細度と重要度のレベルが決まります。Fusion Middleware Controlを使用すると、logconfig.xmlファイル内のこれらの設定を制御できます。
Oracle Business Intelligenceのログ・ファイル内の各メッセージ・カテゴリは、1 - 32の間の固有のデフォルト値に設定されており、ログ・レベル以下のレベルのメッセージのみが記録されます。
表8-1は、ログ・ファイル・メッセージのカテゴリを示しています。
表8-1 ログ・ファイル・メッセージのカテゴリ・レベル
カテゴリ:レベル | 説明 |
---|---|
IncidentError:1 |
原因不明の重大な問題が発生しました。問題を解決するには、Oracleサポート・サービスに問い合せてください。 パフォーマンスには影響ありません。 |
Error:1 |
システム管理者による対応が必要な問題が発生しました。 パフォーマンスには影響ありません。 |
Warning:1 |
エラーの発生を回避するための確認が必要とし、対応が必要となる可能性がある処理が実行されたか、条件が検出されました。 パフォーマンスには影響ありません。 |
Notification:1 |
通常のアクションまたはイベントのレポートが発生しました。ログイン完了などのユーザー操作や、ログ・ファイルのローテーションなどの自動操作です。 パフォーマンスには影響ありません。 |
Notification:16 |
構成関連のメッセージが生成されたか、問題が発生しました。 パフォーマンスへの影響はわずかです。本番環境でこのレベルを広範囲にわたって有効にしても、ソフトウェアのパフォーマンスに大きな影響はありません。 |
Trace:1 |
デバッグやパフォーマンス監視に使用されるトレースまたはデバッグ・メッセージが書き込まれました。通常、このメッセージには詳細なイベント・データが含まれており、内部の実装の詳細がわからなくても理解できます。 パフォーマンスに少し影響します。このレベルは、ソフトウェアに関する問題をデバッグするために、本番環境で広範囲にわたって有効にすることもできます。このレベルのロギングを有効にすると、パフォーマンスに少し影響する場合がありますが、ソフトウェアが使用できなくなるほどではありません。 |
Trace:16 |
かなり詳細なトレースまたはデバッグ・メッセージが書き込まれました。メッセージは明確に記述されており、製品に関する豊富な知識を持つOracleサポート・サービスの技術者であれば、内部の実装の詳細を完全に把握していなくても理解できます。 パフォーマンスに大きく影響します。このレベルは、ソフトウェアの問題をデバッグする特別な状況を除いて、本番環境では有効にしないでください。 |
Trace:32 |
非常に詳細なトレースまたはデバッグ・メッセージが書き込まれました。このソフトウェアを使用し、メッセージを生成するサブシステムの実装の詳細を十分に把握しているOracle開発者を対象としています。 パフォーマンスに非常に大きな影響があります。このレベルは本番環境では有効にしないでください。テスト環境または開発環境で開発者がソフトウェアをデバッグするときのみ使用してください。 |
次のログ構成ファイルの例の場合、Notificationメッセージ・カテゴリではレベル1のメッセージのみが記録されます。ログ・レベルが0に設定されている場合、そのメッセージ・カテゴリでは何も記録されません。
<Level> <IncidentError>1</IncidentError> <Error>1</Error> <Warning>1</Warning> <Notification>1</Notification> <Trace>1</Trace> </Level>
ログ・ファイル内のデフォルト設定を手動で変更することは避けてください。変更する場合は、Fusion Middleware Controlを使用します。詳細は、第8.2.2.1項「ログ・ファイルのローテーション・ポリシーを構成しログ・レベルを指定するためのFusion Middleware Controlの使用」を参照してください。
ログ・ファイル・ローテーションとは、ログ・ファイルが指定されたしきい値や日付を超えたときに新しいログ・ファイルが作成されることを言います。例として、Oracle BI Schedulerのコンポーネント・ログ構成ファイルのMaximumFileSizeKb設定を考えてみましょう。この設定で指定されるサイズをログ・ファイルが超えると、既存のスケジューラ・ログ・ファイルの名前が変更され、新しいログ・ファイルが作成されます。また、MaximumLogAgeDayの設定より古いログ・ファイル日付も削除されます。スケジューラのファイル・ネーミング規則は、次のとおりです。
nqscheduler.log: 最新のログ・ファイル。
nqscheduler-<n>.log: 名前が変更された、以前のログ・ファイル。
<n> = 日付とタイムスタンプ(例: nqscheduler-20100909-2135.log)
ログ構成ファイル内の設定で使用されるネーミング規則は、コンポーネントによって多少異なります。
詳細は、第8.2.2.1項「ログ・ファイルのローテーション・ポリシーを構成しログ・レベルを指定するためのFusion Middleware Controlの使用」を参照してください。
Oracle BI Serverでは、構成設定に基づいてnqserver.logファイルにメッセージが書き込まれます。このログ・ファイルへのメッセージの書込みに加えて、UNIXシステムのシステム・ログ・ファイルに、特定の重大なメッセージも書き込まれます。システム・ログ・ファイルに書き込まれるメッセージの種類は、次のとおりです。
BI Serverが起動できない場合(たとえば、別のサーバーがすでに起動しているため)、システム・ログ・ファイルには次のようなメッセージが書き込まれます。
@1%lsおよびポート@2%ls上で別のサーバーがすでに実行されています。
メモリーの問題が発生した場合、システム・ログ・ファイルには次のようなメッセージが書き込まれます。
低断片化ヒープを有効にできませんでした。
コンピュータのハード・ディスクがいっぱいの場合、システム・ログ・ファイルには次のようなメッセージが書き込まれます。
ディスクの空き容量不足です。
Oracle BI Serverには、問合せアクティビティを個々のユーザー・レベルでロギングする機能があります。ロギングは、品質保証テスト、デバッグおよびOracleサポート・サービスによるトラブルシューティングで使用します。本番モードでは、通常、問合せロギングは無効にされています。
問合せログ・ファイルの名前はnqquery.logで、次の場所にあります。
ORACLE_INSTANCE\diagnostics\logs\component_type\bi_component_name
Oracle BI Serverの問合せロギングはユーザー・レベルで追跡されます。ユーザー・コミュニティ全体を追跡すると、リソースが集中的に使用されます。
注意: 本番システムでは、ターゲットを絞ったユーザー・コミュニティのみを対象に問合せロギングを有効にすることをお薦めします。本番システムでは、使用状況トラッキングを本番レベルのロギング機能として使用できます。詳細は、第9章「使用状況トラッキングの管理」を参照してください。 |
ユーザー名が明らかにテスト・ユーザーを示しており、問合せロギングが有効であることが確認されている場合のみ、ユーザーをテストしてください。このようなユーザーのロギングが有効な場合、ユーザーにはsales_admin_with_logging、sales_dev_with_logging、sales_test_with_loggingなどの名前を付けることが推奨されているため、ユーザーを簡単に識別できます。なお、本番の管理者ログインは、使用可能なリソースに負担がかかるため、問合せロギングを有効にしないでください。
次のものについても、問合せロギングを無効にする必要があります。
初期化文字列内のSQL文。「初期化文字列」フィールドは、「一般」タブの「初期化ブロック」ダイアログにあります。
LOGGING列は、ログ・レベルで格納されている値を参照します。
各本番ユーザーのロギング・レベルは0(ゼロ)に設定する必要があります。「ロギング・レベル」フィールドは、「ユーザー」タブの「ユーザー」ダイアログにあります。管理ツールで、メイン・ツールバーの「管理」オプションから「アイデンティティ」を選択します。「Identity Manager」ダイアログで、ユーザーをダブルクリックし、「ユーザー」タブを選択します。
この項の構成は、次のとおりです。
この項では、問合せログのサイズの設定、ロギング・レベルの選択およびユーザーの問合せログの有効化について説明します。
問合せロギングによって非常に大きなログ・ファイルが作成されるため、デフォルトでは、ロギング・システムは無効化されています。ロギングを有効にすることで、リポジトリが正しく構成されているかどうかのテスト、システム上でのアクティビティの監視、パフォーマンスの問題の解決またはOracleサポート・サービスの支援が可能となります。ロギングが必要なユーザーごとに、システム上の問合せロギングを有効にする必要があります。そのためには、Oracle BI管理ツールを使用します。
第8.4.1.2項「ユーザーの問合せロギング・レベルの設定」の説明に従って、個々のユーザーの問合せロギング・レベルを有効にできます。グループのロギング・レベルは構成できません。
特定のユーザーのロギング・レベルは、セッション変数によって上書きされます。たとえば、管理者のロギング・レベルが4で、セッション変数のロギング・レベルがリポジトリ内でデフォルト0(ゼロ)と定義される場合、管理者のロギング・レベルは0になります。
ロギング・レベルは、組織に適したロギングの量に基づいて設定します。一般の操作の場合、通常、ロギングは無効です(ロギング・レベルは0に設定されています)。ロギングを有効にする場合は、1または2のロギング・レベルを選択します。この2つのレベルは、管理者による使用を目的としています。
問合せの一時的なログ・レベルを設定することで、パフォーマンスやデータの問題を診断できます。Oracle BI Presentation Servicesの「詳細設定」タブで、「高度なSQL句」セクションに接頭辞句を追加することで、SELECT文の問合せロギングを有効にできます。SELECT文の例を次に示します。
SELECT year, product, sum(revenue) FROM time, products, facts;
「接頭辞」フィールドで、次のようにロギング・レベル5を指定できます。
Set Variable LOGLEVEL=5;
この問合せでは、基礎となるLOGLEVEL
変数の値にかかわらず、ロギング・レベル5が使用されます。
注意: 3以上のロギング・レベルは、Oracleサポート・サービスの支援を受ける場合のみ使用してください。 |
表8-2は、問合せロギング・レベルを示しています。
表8-2 問合せロギング・レベル
ロギング・レベル | 記録される情報 |
---|---|
レベル0 |
ロギングは行われません。 |
レベル1 |
クライアント・アプリケーションから発行されたSQL文が記録されます。次のものも記録されます。
|
レベル2 |
レベル1で記録されるすべてのものが記録されます。 加えて、各問合せについて、リポジトリ名、ビジネス・モデル名、サブジェクト・エリア名、物理データベースに対して発行されたSQL文、キャッシュに対して発行された問合せ、物理データベースに対する問合せとキャッシュに対して発行された問合せからそれぞれ返された行数、およびクライアント・アプリケーションに返される行数が記録されます。 |
レベル3 |
レベル2で記録されるすべてのものが記録されます。 加えて、キャッシュをシードする予定だった問合せがキャッシュに挿入されなかった場合、既存のキャッシュ・エントリを消去して現在の問合せ用の領域を作成する場合、および完全一致のヒット・ディテクタを更新できなかった場合、論理問合せ計画のログ・エントリが追加されます。 Oracleサポート・サービスの支援がない場合は、このレベルを選択しないでください。 |
レベル4 |
レベル3で記録されるすべてのものが記録されます。 加えて、問合せ実行計画が記録されます。Oracleサポート・サービスの支援がない場合は、このレベルを選択しないでください。 |
レベル5 |
レベル4で記録されるすべてのものが記録されます。 加えて、実行計画内の様々な時点における中間の行数が記録されます。Oracleサポート・サービスの支援がない場合は、このレベルを選択しないでください。 |
レベル6および7 |
使用されません。 |
問合せログを表示するには、Oracle Business Intelligenceのログ・ビューア・ユーティリティ(またはテキスト・エディタ)を使用します。問合せログ内の各エントリには、問合せを発行したユーザーの名前、問合せが開始されたセッションのセッションIDおよび個々の問合せのリクエストIDのタグが付けられています。
ログ・ビューア・ユーティリティ(Windowsの\MW_HOME\ORACLE_HOME\bifoundation\server\bin\nqlogviewer.exe)を実行するには、コマンド・プロンプトを開き、nqlogviewer
と引数の組合せを入力します。構文は次のとおりです。
nqlogviewer [-u user_name] [-f log_input_filename] [-o output_result_filename] [-s session_ID] [-r request_ID]
この構文の説明は次のとおりです。
user_name
は、Oracle Business Intelligenceリポジトリ内のユーザーの名前です。このパラメータによって、エントリの範囲が特定のユーザーに限定されます。このパラメータを指定しないと、問合せロギングが有効なすべてのユーザーが表示されます。
log_input_filename
は、コンテンツが取得される既存のログ・ファイルの名前です。このパラメータは必須です。
output_result_filename
は、ログの出力が保存されるファイルの名前です。ファイルがすでに存在する場合、ファイルに結果が追加されます。ファイルが存在しない場合は、新しいファイルが作成されます。この引数を指定しないと、出力はモニター画面に送信されます。
session_ID
は、ユーザー・セッションのセッションIDです。BIサーバーでは、セッションの開始時に、各セッションに一意のIDが割り当てられます。このパラメータによって、ログ・エントリの範囲が指定のセッションIDに限定されます。このパラメータを指定しないと、すべてのセッションIDが表示されます。
request_ID
は、個々の問合せのリクエストIDです。BIサーバーでは、問合せの開始時に、各問合せに一意のIDが割り当てられます。このパラメータによって、ログ・エントリの範囲が指定のリクエストIDに限定されます。このパラメータを指定しないと、すべてのリクエストIDが表示されます。
リクエストIDはアクティブなリクエスト間で一意ですが、セッションを通じて一意であるとはかぎりません。リクエストIDは循環方式で作成され、リクエストがクローズされたりセッションの実行に長時間かかったりする場合には、リクエストIDが再利用されます。
セッション・マネージャを通じてユーザー名、セッションIDおよびリクエストIDを見つけることもできます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。
管理者は、「Oracle BIプレゼンテーション・サービス管理」ページの「セッションの管理」オプションを使用して、問合せログを表示できます。
いくつかの問合せ情報を記録し、ログ・ビューアを起動すると、ログを分析できます。レベル1および2のログ・エントリは、通常、自明です。ログ・エントリは、基礎となるデータベースを担当するデータベース管理者(DBA)が、データベースを調整して最適な問合せパフォーマンスを実現するうえでの手がかりになります。問合せログは、BIサーバーを使用するアプリケーションの精度の確認にも役立ちます。
ログは、次のセクションに分かれています。
SQLリクエスト: このセクションには、クライアント・アプリケーションから発行されたSQL文が示されます。この情報を使用して、同じアプリケーションまたは別のアプリケーションから問合せを再実行できます。
一般の問合せ情報: このセクションには、リポジトリ、ビジネス・モデル、および問合せが実行されたサブジェクト領域が示されます。この情報は、今後のアプリケーション開発やシステム管理における優先順位を設定するために使用可能な、問合せの使用状況に関する統計を収集する目的で使用できます。
データベース問合せ: このセクションは、"Sending query to the database named <data_source_name>"というエントリで開始します。ここで、<data_source_name>は、BIサーバーが接続しているデータソースの名前です。複数のデータベース問合せを1つ以上のデータソースに送信できます。各問合せはログ内の1つのエントリに相当します。
データベース問合せセクションには、基礎となるデータベースに送信されたSQL文の記録など、様々な用途があります。記録されたこのSQL文を使用してデータベースに対して問合せを直接実行することで、パフォーマンス・チューニング、結果の検証またはその他のテストを行うことができます。この情報を使用して、問合せを受けている表を調べて、集計ナビゲーションが予測どおりに動作していることを確認することもできます。基礎となるデータベースの構造を理解している場合は、効果的な集計表や索引の構築など、パフォーマンス向上の手がかりにもなります。
問合せのステータス: ログ内の問合せ成功のエントリは、問合せが正常終了したか失敗したかを示します。失敗した問合せをログで検索して、失敗の原因を判断できます。たとえば、特定の時間帯のすべての問合せが、データベースの停止時間が原因で失敗することがあります。
この項では、特にプレゼンテーション・サービスにおけるロギングについて説明します。内容は次のとおりです。
Oracle Business Intelligenceのロギングの一般情報は、第8.3項「診断ログ・ファイルとログ構成ファイルについて」を参照してください。
デフォルトでは、Oracle BI Presentation Servicesは、すべてのエラー・イベントと、十分な重要性のある情報イベントや警告イベントを記録するように構成されています。サーバーの起動や停止が、重要な情報イベントの例です。ログ・ファイルには、sawlogxx.logという名前が付けられます。xxは、増分する値に置き換えられます。
発生する特定の問題をデバッグするために、ロギング・レベルを増やして、デフォルト構成より多くの情報を記録することができます。たとえば、Oracle BI Presentation Servicesの特定の接続問題をデバッグする場合は、saw.odbcログ・ソースのみ、最大ロギングを増やすことができます。これにより、このコンポーネントの詳細なロギングが追加されますが、他のイベントによる詳細なロギングでログがいっぱいになることはありません。Oracle BI Presentation Servicesのすべての構成情報は、instanceconfig.xmlファイルからロードされます。
注意: ロギングはパフォーマンスに影響するため、特定の問題を診断する場合を除いて、本番実装でロギングを増やさないでください。 |
例8-3は、構成ファイルの構造を示しています。各ノードのカーディナリティは大カッコ内に示します。
例8-3 instanceconfig.xmlファイル内のログ・セクションの構造
Logging [1..1] Writers [0..1] Writer [0..1] WriterClassGroups [0..1] Filters [0..1] FilterRecord [0..n]
例8-4は、4つのライターを含むinstanceconfig.xmlファイルの例を示しています。
例8-4 4つのライターが含まれるinstanceconfig.xmlファイル
<?xml version="1.0" ?> <Server> . . . . . . . <Logging> <Writers> <Writer implementation="FileLogWriter" name="Global File Logger" writerClassId="1" dir="{%ORACLE_BIPS_INSTANCE_LOGDIR%}" filePrefix="sawlog" maxFileSizeKb="10000" filesN="10" fmtName="ODL-Text" ODLLogFilePath="{%ORACLE_BIPS_INSTANCE_LOGDIR%}/diagnostic.log"/> <Writer implementation="CoutWriter" name="Global Output Logger" writerClassId="2" /> <Writer implementation="EventLogWriter" name="Event Logger" writerClassId="3" /> <Writer implementation="CrashWriter" name="CrashWriter" writerClassId="4" /> </Writers> <WriterClassGroups> <WriterClassGroup name="All">1,2,3,4</WriterClassGroup> <WriterClassGroup name="File">1</WriterClassGroup> <WriterClassGroup name="Console">2</WriterClassGroup> <WriterClassGroup name="EventLog">3</WriterClassGroup> <WriterClassGroup name="Crash">4</WriterClassGroup> </WriterClassGroups> <Filters> <FilterRecord writerClassGroup="Console" path = "saw" information="1" warning="31" error="31" trace="0" incident_error="32" /> <FilterRecord writerClassGroup="File" path = "saw" information="1" warning="31" error="31" trace="0" incident_error="32" /> <FilterRecord writerClassGroup="File" path="saw.mktgsqlsubsystem.joblog" information="1" warning="2" error="31" trace="0" incident_error="32"/> <FilterRecord writerClassGroup="File" path="saw.httpserver.request" information="16" warning="32" error="32" trace="0" incident_error="32"/> <FilterRecord writerClassGroup="File" path="saw.httpserver.response" information="16" warning="32" error="32" trace="0" incident_error="32"/> </Filters> </Logging> </Server>
表8-3は、構成階層内の各ノードの説明を示しています。
表8-3 Oracle BI Presentation Servicesログ構成ファイルの要素
要素 | 属性 | 説明 |
---|---|---|
Writers |
なし |
ライター構成が含まれます。 この構成は起動時にロードされます。 |
Writer |
なし |
ライターを構成します。 |
Writer |
disableCentralControl |
(オプション)このエントリがFusion Middleware Controlによって更新されないように指定します。デフォルト値はtrueです。 |
Writer |
implementation |
次の実装が定義されています。
|
Writer |
name |
ライターの一意の名前です。 |
Writer |
writerClassId |
1 - 10の範囲の整数値を指定します。この値は、ロギングを許可または禁止するために、フィルタで使用されます。 個々のライターはそれぞれ一意の値を持つ必要があり、その値が後でフィルタ構成で使用されます。 異なるライターが同じクラスIDを持つこともありますが、その場合、フィルタでそれらのライターを区別することはできません。 |
Writer |
fmtName |
(オプション)ログ・メッセージの形式を指定します。有効な値は次のとおりです。
この属性を設定しないと、ログ・メッセージはデフォルト形式で表示されます。デフォルト形式は、ファイル・ログ・ライターの場合は10g形式で、コンソールの場合はODL-TEXTです。 例は、第8.5.3項「ログ・メッセージの形式例」を参照してください。 |
Writer(FileLogWriter固有の属性) |
dir |
ログ・ファイルが作成されるディレクトリを指定します。 |
Writer(FileLogWriter固有の属性) |
ODLLogFilePath |
Fusion Middleware Controlがログ・ビューアに表示するファイルを指定します。 |
Writer(FileLogWriter固有の属性) |
maxFileSizeKb |
ログ・ファイルの最大サイズをKB単位で指定します。 ファイル・サイズの上限に達するとファイルは閉じられ、新しいログ・ファイルが作成されます。 |
Writer(FileLogWriter固有の属性) |
filePrefix |
ログ・ファイルの接頭辞を指定します。 |
Writer(FileLogWriter固有の属性) |
filesN |
ログ・ファイルの最大数を指定します。 この値を超えると、最初のファイルが削除され、再び作成されます。ログ出力が起動し、最初のファイルの先頭に書き込みが実行されます。 |
Writer(EventLogWriter固有の属性) |
winSource |
ログに記録されるイベントのイベント・ログ・ソースを指定します。 |
Writer(CrashWriter固有の属性) |
file |
ダンプ・ファイル・パスを指定します。 Windowsの場合、ダンプ・ファイルは |
Writer(CrashWriter固有の属性) |
line |
ダンプ・ファイルの行番号です。 |
WriterClassGroups |
なし |
ライター・クラスの定義が含まれます。ライター・クラスは、ライター・クラスIDのグループです。 |
WriterClassGroup(クラスIDのカンマ区切りのリストを子テキストとして含む。) |
name |
WriterClassGroupの名前を指定します。 |
Filters |
なし |
フィルタ構成が含まれます。 |
FilterRecord |
writerClassGroup |
このレコードが適用されるライターのグループを指定します。WriterClassGroupはWriterClassGroupsセクションであらかじめ定義する必要があります。 |
FilterRecord |
disableCentralControl |
(オプション)このエントリがFusion Middleware Controlによって更新されないように指定します。デフォルト値はtrueです。 |
FilterRecord |
path |
ログ・ソース・パスを指定します。SOAP情報のロギングを有効にするには、次の値を入力します。 saw.httpserver.request.soaprequest 現在のフィルタ・レコードは、パスで識別されるソフトウェア・コンポーネントとそのすべてのサブコンポーネントに適用されます。 |
FilterRecord |
情報 |
対応するメッセージ・タイプの重大度を指定する整数が含まれます。 指定の値より重大度が低いメッセージのみが記録されます。 |
FilterRecord |
警告 |
対応するメッセージ・タイプの重大度を指定する整数が含まれます。 指定の値より重大度が低いメッセージのみが記録されます。 |
FilterRecord |
エラー |
対応するメッセージ・タイプの重大度を指定する整数が含まれます。 指定の値より重大度が低いメッセージのみが記録されます。 |
FilterRecord |
trace |
対応するメッセージ・タイプの重大度を指定する整数が含まれます。 指定の値より重大度が低いメッセージのみが記録されます。 |
FilterRecord |
incident_error |
対応するメッセージ・タイプの重大度を指定する整数が含まれます。 指定の値より重大度が低いメッセージのみが記録されます。 |
Writer要素のfmtName属性により、ログ・メッセージは、デフォルト(10g形式)、ODL-TEXT、ODL-XMLのいずれかの形式になります。これらの形式のエントリの例を、次に示します。
例8-5は、デフォルト形式を示しています。
例8-5 デフォルト形式
デフォルト形式の場合、次のように、識別の見出しを伴うメッセージが生成されます。
Type: Information Severity: 30 Time: Wed Jul 26 11:22:20 2006 File: project\sawserver\sawserver.cpp Line: 399 Properties: ThreadID-2552 Location: saw.sawserver saw.sawserver.initializesawserver saw.sawserver Oracle BI Presentation Services has started successfully.
例8-6は、ODL-TEXT形式を示しています。
例8-6 ODL-TEXT形式
短縮形式の場合、次のように、識別の見出しを伴わない省略された形式でメッセージが生成されます。
[timestamp] [component id] [messagetype:level] [message-id] [module id] ([field-name: field-value])* message-text [[ supplemental-detail ]] [2010-05-27T10:51:20.000-07:00] [OBIPS] [NOTIFICATION:1] [] [saw.sawserver] [ecid: 1243446680218334471555761] [tid: 2552] Oracle BI Presentation Services (OBIPS) 11.1.1.2 (Build 0) are starting up.[[ File:sawserver.cpp Line:432 Location: saw.sawserver saw.sawserver.initializesawserver saw.sawserver ecid: 1243446680218334471555761 ]]
例8-7は、ODL-XML形式を示しています。
例8-7 ODL-XML形式
xml形式の場合、次のように、XML形式のメッセージが生成されます。
<msg time="2010-05-08T18:41:05.000+00:00" comp_id="OBIPS" type="NOTIFICATION" level="1" msg_id="" module="saw.sawserver" ecid="124180446517874242628761" tid="127c"> <txt> Oracle BI Presentation Services has started successfully</txt> <suppl_detail /> </msg>
プレゼンテーション・サービスによって記録される各メッセージは、表8-4に示されている様々なコンポーネントで構成されます。
表8-4 プレゼンテーション・サービス・ログ・メッセージのコンポーネント
メッセージ・コンポーネント | 説明 |
---|---|
メッセージ・テキスト |
ユーザーへのログ・メッセージのテキストです。 |
メッセージ・タイプ |
5種類(情報、警告、エラー、インシデント・エラー、トレース)のうちの1つです。 詳細は、表8-1を参照してください。 |
重大度 |
重大度は、正の整数で表されます。 値が低くなるほど、メッセージの重大度は増します。重大度が0のメッセージは最も重要なタイプのメッセージであり、重大度が32のメッセージはまったく重要ではありません。 |
メッセージ・プロパティ |
プロパティには、他の種類の情報が含まれます。その種類はメッセージによって異なり、ユーザー名、クライアント・ブラウザのIPアドレス、スレッドIDなどが含まれる場合があります。 |
FilterRecordで、ロギングの詳細をカスタマイズします。FilterRecordを使用して、実装(出力タイプ)とWebログのカテゴリ(インシデント・エラー、エラー、トレース、警告および情報)のロギング・レベルを指定します。
次の例では、最初の2つのFilterRecordに、次の文字列が含まれています。
path="saw"
この文字列は、情報イベントをレベル1、エラー・メッセージをレベル31などで記録します。
<FilterRecord writerClassGroup="Console" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" /> <FilterRecord writerClassGroup="File" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" /> <FilterRecord writerClassGroup="File" path="saw.mktgsqlsubsystem.joblog" information="1" warning="2" error="31" trace="0" incident_error="32"/>
この上位パスはすべてのイベントに適用されます。
前述の例の3番目のFilterRecordのように、各種タイプのイベントのログ・レベルをさらに詳細に指定する新しいFilterRecordを追加することで、FilterRecordをカスタマイズできます。この例の場合、saw.mktgsqlsubsystem.logからディスク・ファイルに情報が記録され、Marketingジョブ・イベントが生成されます。
次の例に示すように、情報レベルを1から0に変更することによって、または行をコメント・アウトすることによって、ジョブの詳細のロギングを無効にできます。
<FilterRecord writerClassGroup="Console" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" /> <FilterRecord writerClassGroup="File" path="saw" information="1" warning="31" error="31" trace="0" incident_error="32" /> <FilterRecord writerClassGroup="File" path="saw.mktgsqlsubsystem.joblog" information="1" warning="2" error="31" trace="0" incident_error="32"/>
エージェントが実行に完全に失敗した場合やOracle BI Schedulerでデバッグが有効な場合には、エージェントのログ・ファイルが生成されます。
Oracle BI Schedulerのinstanceconfig.xmlファイル内でDebug要素をTrueに設定することによって、デバッグを手動で有効にできます(詳細は、第8.3.2項「診断ログ構成ファイルの概要とその位置」を参照)。
エージェント・ログ・ファイルの場所は、Oracle BI Schedulerのinstanceconfig.xmlファイルで指定されます(詳細は、第19.3.3.3項「エージェントのスケジューラ構成設定」を参照)。ログ・ファイルのデフォルトの場所は、Oracle BI Schedulerがインストールされるコンピュータの、Oracle Business Intelligenceインストール・ディレクトリ内のLogディレクトリです。
ログ・ファイル名の形式は、次のとおりです。
Agent-JobID-InstanceID.xxx
このファイル名の各部の内容は、次のとおりです。
Agentは、すべてのエージェント・ログ・ファイルの接頭辞です。
JobIDは、エージェントのOracle BI Schedulerジョブ識別子です。
InstanceIDは、エージェントのOracle BI Schedulerインスタンス識別子です。
xxxは、ファイル拡張子です。
.errは、エージェント・エラー・ログ・ファイルを表します。
.logは、デバッグ・ログ・ファイルを表します。
エージェント・エラー・ログ・ファイルとデバッグ・ログ・ファイルは、実行に失敗したエージェント・インスタンスごとに、個別のファイルとして作成されます。テキスト・エディタを使用してファイルを表示できます。エントリは、通常、自明です。
エラー・ログがあるからといって、エージェントが完全に失敗したとはかぎりません。たとえば、エージェントが複数の電子メール・アドレスにコンテンツを配信するものとします。無効なアドレスがある場合や、メール・サーバーが停止している場合には、エージェントに対してエラー・ログが生成されます。
ジョブ・マネージャで、エラー・メッセージと、ジョブ・インスタンスの終了コードを表示することもできます。詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイドのジョブ・マネージャのインスタンス・プロパティに関する項を参照してください。終了ステータスは、正常終了した配信の数を示します。