日本語PDF

47 DBMS_CUBE_LOG

DBMS_CUBE_LOGには、キューブおよびキューブ・ディメンションのログを作成および管理するためのサブプログラムが含まれています。

参照:

ビジネス・インテリジェンス・アプリケーションおよび分析アプリケーションをサポートするOLAPオプションの使用の詳細は、『Oracle OLAPユーザーズ・ガイド』Oracle Database内のOLAPテクノロジに関する項を参照してください。

この章のトピックは、次のとおりです:

47.1 DBMS_CUBE_LOGの使用方法

DBMS_CUBE_LOGは、長時間実行されているプロセスの進行状況を追跡し、その結果を使用してパフォーマンスの特徴をプロファイルできるようにする、複数のログを管理します。

これらのログから、リレーショナル・ソース表で不適切に構造化された階層、ロードに失敗するレコードまたは完了に時間がかかりすぎるデータ更新など、キューブの作成中やメンテナンス中に発生する可能性がある問題を診断して、問題の解決に役立つ情報が得られます。また、キューブに問い合せる際のパフォーマンスの問題の診断にも役立ちます。

Analytic Workspace Managerでは、デフォルトの名前とタイプを使用して、ログが自動的に作成されます。また、Analytic Workspace Managerを閉じるとログが無効になります。同じログをAnalytic Workspace Managerの外部で使用するには、まずログを有効にする必要があります。または、Analytic Workspace Managerの外部で使用するための別のログを作成し、管理することもできます。

この項では、次の項目について説明します。

47.1.1 DBMS_CUBE_LOG — ロギング・タイプ

複数のログが使用でき、それぞれが特定のタイプのメッセージの格納に特化しています。すべてのログを使用することもでき、特に重要と思われるログのみを使用することもできます。

ログとコンテンツについてはこの項の後半で説明します。

DBMS_CUBE_LOGは、各ログ・タイプに2進整数を戻すファンクションを提供します。他のDBMS_CUBE_LOGプロシージャおよびファンクションの引数値の整数のかわりにこれらのファンクションを使用すると、より読みやすいコードを作成できます。次の説明を参照してください。

47.1.2 DBMS_CUBE_LOG — ロギング・ターゲット

TABLE_CREATEプロシージャは、ログを格納するデータベース表を作成します。ENABLEプロシージャを使用すると、宛先またはロギング・レベルでの変更で追加のターゲットを作成できます。たとえば、キューブ操作ログのターゲットを表とディスク・ファイルの両方に指定できます。

使用可能なターゲットは次のとおりです。

  • ディスク・ファイル

  • LOB

  • データベース表

  • トレース・ファイル

複数のターゲットを作成する方法の詳細は、「ENABLEプロシージャ」を参照してください。

DBMS_CUBE_LOGは、各ターゲット・タイプに2進整数を戻すファンクションを提供します。他のDBMS_CUBE_LOGプロシージャおよびファンクションの引数値の整数のかわりにこれらのファンクションを使用すると、より読みやすいコードを作成できます。次の説明を参照してください。

47.1.3 DBMS_CUBE_LOG — 冗長性レベル

ログに記録する情報量を決定できます。ジョブを翌日まで実行しておく場合は、新しい作成の成功を監視するときよりも詳細の数を減らすことができます。冗長性レベルは次から選択できます。各レベルは前のレベルより冗長性が高くなります。

  • LOWEST: キューブ・ディメンションおよびキューブの作成に使用された各コマンドのステータス、スレーブ・プロセスの使用およびサマリー・レコードをログに記録します。これは、基本のロギング・レベルです。

  • LOW: SQLインポート、集計および更新の記録の開始および終了などOLAPエンジンからのメッセージをログに記録します。

  • MEDIUM: Analytic Workspace Managerによって使用されるレベルでメッセージをログに記録します。

  • HIGH: コンポジットの長さ、パーティション化の詳細、オブジェクト・サイズおよび集計ワークリストなどのチューニング情報を提供するメッセージをログに記録します。このレベルは、Oracleフィールドサービスによる使用を目的としています。

  • HIGHEST: デバッグ・メッセージおよび通常トレース・ファイルに送信されるその他の情報をログに記録します。このレベルは、Oracleサポート・サービスによる使用を目的としています。

DBMS_CUBE_LOGは、各冗長性レベルに2進整数を戻すファンクションを提供します。他のDBMS_CUBE_LOGプロシージャおよびファンクションの引数値の整数のかわりにこれらのファンクションを使用すると、より読みやすいコードを作成できます。次の説明を参照してください。

47.1.4 DBMS_CUBE_LOGのセキュリティ・モデル

TABLE_CREATEプロシージャを実行するには、CREATE TABLE権限が必要です。

47.1.5 DBMS_CUBE_LOG — キューブ・ログの作成

データベース表にロギング情報を格納するには、TABLE_CREATEプロシージャを使用して表を作成する必要があります。キューブ作成ログは常に表に格納されます。ENABLEプロシージャは、その他のログのその他のターゲット・タイプを作成します。

キューブ作成ログを作成するには、次のようにします。

  • TABLE_CREATEプロシージャを実行します。

次のコマンドは、CUBE_BUILD_LOGというデフォルト名でキューブ作成ログを作成します。

EXECUTE dbms_cube_log.table_create(dbms_cube_log.type_build);

データベース表ターゲットでキューブ・ディメンション・コンパイル・ログ、キューブ操作ログまたはキューブ拒否レコード・ログを作成するには:

  1. TABLE_CREATEプロシージャを実行して表を作成します。

  2. ENABLEプロシージャを実行してロギングを開始します。

これらのコマンドは、CUBE_OPERATIONS_LOGというデフォルト名とデフォルトの冗長性レベルでキューブ操作表を作成し、有効にします。

EXECUTE dbms_cube_log.table_create(dbms_cube_log.type_operations);
EXECUTE dbms_cube_log.enable(dbms_cube_log.type_operations);
 

トレース・ファイル、ディスク・ファイルまたはLOBターゲットでキューブ・ディメンション・コンパイル・ログ、キューブ操作ログまたはキューブ拒否レコード・ログを作成するには、次のようにします。

  • ENABLEプロシージャを実行します。

このコマンドは、キューブ拒否レコード・ログを有効にし、冗長性をLOWESTレベルに設定し、出力をWORK_DIRデータベース・ディレクトリにあるrejects.logという名前のディスク・ファイルに送ります。

EXECUTE dbms_cube_log.enable(dbms_cube_log.type_rejected_records, -
     dbms_cube_log.target_file, dbms_cube_log.level_lowest, -
     'WORK_DIR/rejects.log');

47.1.6 DBMS_CUBE_LOG — キューブ作成ログ

キューブ作成ログからは、作成中の実行内容に関する情報が得られます。このログを使用して、作成により予測どおりの結果が得られたかどうか、得られなかった場合は、その理由を確認できます。

キューブ作成ログの内容は、作成中は継続的に更新されます。作成の進行状況を評価し、完了する時間を推測するために、いつでもログに問い合せることができます。

キューブ作成ログのデフォルト名は、CUBE_BUILD_LOGです。次の表に内容を示します。

ノート:

キューブ作成ログを管理するには、TABLE_CREATEおよびVERSIONプロシージャのみを使用します。

データ・タイプ NULL 説明

BUILD_ID

NUMBER

--

作成に対する一意の順序番号。パラレル作成では、スレーブ・プロセスに対して同じ番号が使用されます。

SLAVE_NUMBER

NUMBER

--

パラレル作成時のスレーブ・プロセスのカウンタ: 0(ゼロ)はマスター・プロセス、1は1番目のスレーブ、2は2番目のスレーブのように示されます。

STATUS

VARCHAR2(10)

--

コマンドの現在のステータス: STARTEDCOMPLETEDFAILEDまたはWORKING

COMMAND

VARCHAR2(25)

--

BUILDLOADSOLVEなどの実行されるコマンドの名前。

BUILD_OBJECT

VARCHAR2(500)

--

処理されるキューブまたはキューブ・ディメンションの名前。

BUILD_OBJECT_TYPE

VARCHAR2(10)

--

オブジェクトのタイプ: CUBEDIMENSIONまたはBUILD

OUTPUT

CLOB

--

XML文書のように構造化された、コマンドに関する情報。追加の情報がない場合(STARTED行などの場合)はNULLになります。

AW

VARCHAR2(30)

--

作成オブジェクトを含むアナリティック・ワークスペースの名前。

OWNER

VARCHAR2(30)

アナリティック・ワークスペースおよびすべての作成オブジェクトの所有者。

PARTITION

VARCHAR2(10)

--

処理されるパーティションの名前。現在の操作がパーティションに対応していない場合はNULLになります。

SCHEDULER_JOB

VARCHAR2(100)

--

作成を識別する、ユーザー定義の文字列。

TIME

TIMESTAMP(6)

--

表に行が追加される日時。

BUILD_SCRIPT

CLOB

--

キューブ作成スクリプト。COMMANDBUILDの行にのみ移入されます。

BUILD_TYPE

VARCHAR2(22)

--

作成元: DBMS_CUBEDBMS_MVIEWJAVAまたはSLAVE

COMMAND_DEPTH

NUMBER(2)

--

コマンドのネストの深度。たとえば、COMPILE HIERARCHIESCOMPILEのコンポーネント・ステップであるとすると、COMPILEが深度1の場合、COMPILE HIERARCHIESは深度2となります。

BUILD_SUB_OBJECT

VARCHAR2(30)

--

処理されるサブオブジェクト(キューブの集計ルールを継承しないメジャーなど)の名前。

REFRESH_METHOD

VARCHAR2(1)

--

現行のコマンドに関連付けられているリフレッシュ・メソッド(CFなど)。リフレッシュ・メソッドが重要なのはCLEARステップに対してのみです。

SEQ_NUMBER

NUMBER

--

現在は使用されていません。

COMMAND_NUMBER

NUMBER

--

現行のプロセスでのコマンドの順序番号で、異なるオブジェクトに対する同じコマンドを区別するために使用できます。たとえば、PRODUCTに対するLOADTIMEに対するLOADです。

IN_BRANCH

NUMBER(1)

--

現在は使用されていません。

COMMAND_STATUS_NUMBER

NUMBER

--

特定のコマンドについてすべての行の順序番号を識別します。たとえば、特定のコマンドは4行で表され、最初の行のステータスはSTARTED、最後の行のステータスはCOMPLETEDとなっている場合があります。この列はソートに使用されます。

47.1.7 DBMS_CUBE_LOG — キューブ・ディメンション・コンパイル・ログ

キューブの解を求める場合、OLAPではディメンション階層が有効であることを確認するためにチェックします。この検証中に発生したエラーは、キューブ・ディメンション・コンパイル・ログに書き込まれます。

チェックは次のような内容です。

  • 循環性: 階層は、ディメンション・メンバーの間の親子関係で定義されます。循環性は、ディメンション・メンバーがそれ自体の祖先または子孫に指定されたときに発生します。

  • 階層タイプ: 階層はレベルに基づくことも値に基づくこともできます。キューブ・マテリアライズド・ビューのようにレベルに基づく階層のみが有効であるようにキューブを定義することができます。

  • レベル・オプション: レベルに基づく階層は、規則的、不規則またはスキップ・レベルが可能です。時間ディメンションのように規則的な階層のみが有効であるようにディメンションを定義することができます。

キューブ・ディメンション・コンパイル・ログのデフォルト名は、CUBE_DIMENSION_COMPILEです。次の表に内容を示します。

データ・タイプ NULL 説明

ID

NUMBER

--

現在の操作の識別子

SEQ_NUMBER

NUMBER

--

キューブ作成ログの順序番号

ERROR#

NUMBER(8)

NOT NULL

レポートされているエラーの番号

ERROR_MESSAGE

VARCHAR2(2000)

--

エラーに関連付けられたエラー・メッセージ

DIMENSION

VARCHAR2(100)

--

コンパイルされているディメンションの名前

DIMENSION_MEMBER

VARCHAR2(100)

--

障害があるディメンション・メンバー

MEMBER_ANCESTOR

VARCHAR2(100)

--

DIMENSION_MEMBERの親

HIERARCHY1

VARCHAR2(100)

--

エラーに関連する最初の階層

HIERARCHY2

VARCHAR2(100)

--

エラーに関連する2番目の階層

ERROR_CONTEXT

CLOB

--

エラーに関する詳細

47.1.8 DBMS_CUBE_LOG — キューブ操作ログ

キューブ操作ログには、すべてのOLAPエンジン・イベントに関するメッセージおよびデバッグ情報が含まれています。現在の操作を非常に詳細なレベルで追跡できます。SQL_ID列を使用すると、キューブ操作ログをV$SQLV$SESSIONおよびV$SESSION_LONGOPSなどの動的パフォーマンス・ビューと結合して、I/O待機やCPUなどその他のデータベース操作のコンテキストでキューブ操作を確認できます。

キューブ操作ログのデフォルト名は、CUBE_OPERATIONS_LOGです。次の表に内容を示します。

データ・タイプ NULL 説明

INST_ID

NUMBER

NOT NULL

インスタンスの識別子

SID

NUMBER

NOT NULL

セッションの識別子

SERIAL#

NUMBER

NOT NULL

セッション・シリアル番号

USER#

NUMBER

NOT NULL

ユーザーの識別子

SQL_ID

VARCHAR2(13)

--

実行中のSQL文の識別子。

JOB

NUMBER

--

ジョブの識別子

ID

NUMBER

--

現在の操作の識別子

PARENT_ID

NUMBER

--

親の操作の識別子

SEQ_NUMBER

NUMBER

--

キューブ作成ログの順序番号

TIME

TIMESTAMP(6)WITH TIME ZONE

NOT NULL

レコードがキューブ操作ログに追加された時間。

LOG_LEVEL

NUMBER(4)

NOT NULL

DBMS_CUBE_LOG.ENABLEプロシージャに指定されるレコードの冗長性レベル。

DEPTH

NUMBER(4)

--

レコードのネストの深度。たとえば、レベル0は操作およびサブ操作が、他の操作およびサブ操作内にネストされていないことを示しています。

OPERATION

VARCHAR2(15)

NOT NULL

AGGREGATE、ROWSOURCEまたはSQLIMPORTなどの現在の操作。

SUBOPERATION

VARCHAR2(20)

--

LoadingまたはImportなどの現在のサブ操作。

STATUS

VARCHAR2(10)

NOT NULL

START、TRACE、COMPLETEDまたはFailedなどの操作の現在のステータス。

NAME

VARCHAR2(20)

NOT NULL

ROWS LOADED、AVE_ROW_LENおよびPAGEPOOLSIZEなどのレコードの名前。

VALUE

VARCHAR2(4000)

--

NAMEの値。

DETAILS

CLOB

--

NAMEに関する詳細。

47.1.9 DBMS_CUBE_LOG — キューブ拒否レコード・ログ

キューブ拒否レコード・ログには、ローダー・ジョブおよび予測された形式に適合しなかったために拒否されたレコードのサマリーが含まれています。

ソース表の単一の行には、複数のフィールドのエラーが含まれている場合があります。各フィールドがエラーをログに生成し、結果として同じROWID4の複数の行が作成されます。

SOURCE_ROW列に作成されます。

キューブ拒否レコード・ログのデフォルト名は、CUBE_REJECTED_RECORDSです。次の表に内容を示します。

データ・タイプ NULL 説明

ID

NUMBER

--

現在の操作の識別子

SEQ_NUMBER

NUMBER

--

キューブ作成ログの順序番号

ERROR#

NUMBER(8)

NOT NULL

レコードによって起動されるエラー数

ERROR_MESSAGE

VARCHAR2

--

エラーに関連付けられたエラー・メッセージ

RECORD#

NUMBER(38)

--

入力レコード数

SOURCE_ROW

ROWID

--

ソース表の行のROWID。ソースがビューまたは問合せの場合はNULL

47.2 DBMS_CUBE_LOGサブプログラムの要約

この表は、DBMS_CUBE_LOGのサブプログラムについて説明しています。

表47-1 DBMS_CUBE_LOGサブプログラム

サブプログラム 説明

DEFAULT_NAMEファンクション

様々なログ・タイプのデフォルトの表名を戻します。

DISABLEプロシージャ

セッションの継続中ロギングをオフにします。

ENABLEプロシージャ

セッションの継続中ロギングをオンにし、ロギングを追加出力タイプにリダイレクトしてログの冗長性レベルを変更します。

FLUSHプロシージャ

バッファされたすべてのメッセージを強制的にログに書き込みます。

GET_LOGプロシージャ

特定のログのレベルと場所の現在の設定を戻します。

GET_LOG_SPECファンクション

すべてのアクティブなログの説明を取得します。

GET_PARAMETERファンクション

ロギングの様々な要素を制御するオプションの現在の値を戻します。

LEVEL_HIGHファンクション

冗長性レベルHIGHの整数値を戻します。

LEVEL_HIGHESTファンクション

冗長性レベルHIGHESTの整数値を戻します。

LEVEL_LOWファンクション

冗長性レベルLOWの整数値を戻します。

LEVEL_LOWESTファンクション

冗長性レベルLOWESTの整数値を戻します。

LEVEL_MEDIUMファンクション

冗長性レベルMEDIUMの整数値を戻します。

SET_LOG_SPECプロシージャ

すべてのロギングを入力文字列で指定された値に設定します。

SET_PARAMETERプロシージャ

ロギングの様々な要素を制御するオプションを設定します。

TABLE_CREATEプロシージャ

OLAPログのターゲット表を作成します。

TARGET_FILEファンクション

ディスク・ファイル・ターゲットの整数値を戻します。

TARGET_LOBファンクション

LOBターゲットの整数値を戻します。

TARGET_TABLEファンクション

データベース表ターゲットの整数値を戻します。

TARGET_TRACEファンクション

トレース・ファイル・ターゲットの整数値を戻します。

TYPE_BUILDファンクション

キューブ作成ログの整数値を戻します。

TYPE_DIMENSION_COMPILEファンクション

キューブ・ディメンション・コンパイル・ログの整数値を戻します。

TYPE_OPERATIONSファンクション

キューブ操作ログの整数値を戻します。

TYPE_REJECTED_RECORDSファンクション

キューブ拒否レコード・ログの整数値を戻します。

VERSIONファンクション

特定のログ表のバージョン番号または特定のログ・タイプの現在のバージョン番号を戻します。

47.2.1 DEFAULT_NAMEファンクション

このファンクションは、様々なログ・タイプのデフォルトの表名を戻します。

構文

DBMS_CUBE_LOG.DEFAULT_NAME (
           LOG_TYPE       IN   BINARY_INTEGER  DEFAULT TYPE_OPERATIONS)
     RETURN VARCHAR2;

パラメータ

表47-2 DEFAULT_NAMEファンクションのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

  • 4: TYPE_BUILD

「ロギング・タイプ」を参照してください。

戻り値

指定されたログ・タイプのデフォルトの表名。

この例は、キューブ操作ログのデフォルト名を戻します。

SELECT dbms_cube_log.default_name FROM dual;
 
DEFAULT_NAME
------------------------------
CUBE_OPERATIONS_LOG

次の例は、キューブ拒否レコード・ログのデフォルト名を戻します。

select dbms_cube_log.default_name(dbms_cube_log.type_rejected_records) -
     "Default Name" from dual;
 
Default Name
-------------------------
CUBE_REJECTED_RECORDS

47.2.2 DISABLEプロシージャ

このプロシージャは、ENABLEプロシージャで再度明示的にロギングがオンにされた場合を除き、セッションの継続中ロギングをオフにします。

構文

DBMS_CUBE_LOG.DISABLE (
          LOG_TYPE       IN   BINARY_INTEGER  DEFAULT,
          LOG_TARGET     IN   BINARY_INTEGER  DEFAULT);

パラメータ

表47-3 DISABLEプロシージャのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

ノート: このプロシージャでキューブ作成ログを無効にすることはできません。

詳細は、ロギング・タイプを参照してください。

log_target

ロギング・レコードの次のいずれかの宛先です。ENABLEプロシージャを使用して、別のターゲットを以前に指定している場合を除き、ログは表に送信されます。

  • 1: TARGET_TABLE

  • 2: TARGET_TRACE

  • 3: TARGET_FILE

  • 4: TARGET_LOB

「ロギング・ターゲット」を参照してください

このコマンドは、ディメンション・コンパイル・エラー・ログ表を無効にします。

EXECUTE dbms_cube_log.disable(dbms_cube_log.type_dimension_compile);

47.2.3 ENABLEプロシージャ

このプロシージャは、セッションの継続中またはDISABLEプロシージャを使用してオフにされるまで、ロギングをオンにします。

ENABLEプロシージャでも、ロギングを追加出力タイプに送り、ログの詳細の量を変更できます。ログ・タイプは、各ログ・ターゲットに対して有効にできます。たとえば、キューブ操作ログを異なる冗長性レベルでトレース・ファイル、表およびファイルに対して有効にできますが、キューブ操作ログを同時に2つのファイルに対して有効にすることはできません。

このプロシージャはログの形式もチェックして、必要に応じて更新します。

構文

DBMS_CUBE_LOG.ENABLE (
          LOG_TYPE       IN     BINARY_INTEGER  DEFAULT NULL,
          LOG_TARGET     IN     BINARY_INTEGER  DEFAULT NULL,
          LOG_LEVEL      IN     BINARY_INTEGER  DEFAULT NULL);

DBMS_CUBE_LOG.ENABLE (
          LOG_TYPE       IN     BINARY_INTEGER  DEFAULT NULL,
          LOG_TARGET     IN     BINARY_INTEGER  DEFAULT NULL,
          LOG_LEVEL      IN     BINARY_INTEGER  DEFAULT NULL, 
          LOG_LOCATION   IN     VARCHAR2        DEFAULT NULL);

DBMS_CUBE_LOG.ENABLE (
          LOG_TYPE       IN     BINARY_INTEGER  DEFAULT NULL,
          LOG_TARGET     IN     BINARY_INTEGER  DEFAULT NULL,
          LOG_LEVEL      IN     BINARY_INTEGER  DEFAULT NULL, 
          LOG_LOCATION   IN/OUT CLOB );

パラメータ

表47-4 ENABLEプロシージャのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

ノート: このプロシージャでキューブ作成ログを無効にすることはできません。

詳細は、ロギング・タイプを参照してください。

log_target

ロギング・レコードの次のいずれかの宛先です。ENABLEプロシージャを使用して、別のターゲットを以前に指定している場合を除き、ログは表に送信されます。

  • 1: TARGET_TABLE

  • 2: TARGET_TRACE

  • 3: TARGET_FILE

  • 4: TARGET_LOB

詳細は、ロギング・ターゲットを参照してください

log_level

次の冗長性レベルのいずれかです。各レベルでは前のレベルに新しいタイプのメッセージが追加されます。

  • 1: LEVEL_LOWEST

  • 2: LEVEL_LOW

  • 3: LEVEL_MEDIUM

  • 4: LEVEL_HIGH

  • 5: LEVEL_HIGHEST

「冗長性レベル」を参照してください。

log_location

ログの完全なID(log_targetが表の場合、owner.table_nameなど)。

次のコマンドはすべてのキューブ・ログを有効にします。

EXECUTE dbms_cube_log.enable;

次のPL/SQLプロシージャはログ・レベルをLEVEL_LOWESTに設定します。

BEGIN
     dbms_cube_log.disable(dbms_cube_log.type_rejected_records);
     dbms_cube_log.enable(dbms_cube_log.type_rejected_records,
          dbms_cube_log.target_table, dbms_cube_log.level_lowest);
END;
/

47.2.4 FLUSHプロシージャ

このプロシージャは、バッファされたすべてのメッセージを強制的にログに書き込みます。

バッファはセッションを通じて自動的にフラッシュされますが、ログを表示する前に手動でフラッシュすることですべてのメッセージを確実に表示できます。

構文

DBMS_CUBE_LOG.FLUSH ( );

次の例ではすべてのログのバッファをフラッシュします。

EXECUTE dbms_cube_log.flush;

47.2.5 GET_LOGプロシージャ

このプロシージャは、特定のログのレベルと場所の現在の設定を戻します。

構文

DBMS_CUBE_LOG.GET_LOG (
          LOG_TYPE       IN   BINARY_INTEGER  DEFAULT TYPE_OPERATIONS,
          LOG_TARGET     IN   BINARY_INTEGER  DEFAULT TARGET_TABLE,
          LOG_LEVEL      OUT  BINARY_INTEGER,
          LOG_LOCATION   OUT  VARCHAR2 );

パラメータ

表47-5 GET_LOGプロシージャのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

詳細は、ロギング・タイプを参照してください。

log_target

ロギング・レコードの次のいずれかの宛先です。ENABLEプロシージャを使用して、別のターゲットを以前に指定している場合を除き、ログは表に送信されます。

  • 1: TARGET_TABLE

  • 2: TARGET_TRACE

  • 3: TARGET_FILE

  • 4: TARGET_LOB

詳細は、ロギング・ターゲットを参照してください

log_level

次の冗長性レベルのいずれかです。各レベルでは前のレベルに新しいタイプのメッセージが追加されます。

  • 1: LEVEL_LOWEST

  • 2: LEVEL_LOW

  • 3: LEVEL_MEDIUM

  • 4: LEVEL_HIGH

  • 5: LEVEL_HIGHEST

詳細は、冗長性レベルを参照してください。

log_location

ログの完全なID(log_targetが表の場合、owner.table_nameなど)。

使用上のノート

log_typeがアクティブでない場合は、log_levelおよびlog_locationはNULLです。DBMS_CUBE_LOG.ENABLEを使用して、ログをアクティブにします。

このPL/SQLプロシージャを使用すると、キューブ拒否レコード・ログに関する情報が得られます。

SET serverout ON format wrapped
 
DECLARE 
     myloglevel  binary_integer;
     mylogtarget varchar2(128);
 
BEGIN
     dbms_cube_log.get_log(dbms_cube_log.type_rejected_records,
     dbms_cube_log.target_table, myloglevel, mylogtarget);

     dbms_output.put_line('Log Level: ' || myloglevel);
     dbms_output.put_line('Log Target: ' || mylogtarget);
END;
/

このプロシージャは、次のような結果を生成します。

Log Level: 5

Log Target: GLOBAL.CUBE_REJECTED_RECORDS

47.2.6 GET_LOG_SPECファンクション

このファンクションは、すべてのアクティブなキューブ操作ログ、キューブ拒否レコード・ログおよびキューブ・ディメンション・コンパイル・ログの説明を取得します。

構文

DBMS_CUBE_LOG.GET_LOG_SPEC ( )
     RETURN VARCHAR2;

戻り値

すべてのアクティブなログのタイプおよびターゲット。

使用上のノート

このファンクションの出力は、SET_LOG_SPECへの入力に使用できます。

次の例は、キューブ操作ログ、キューブ拒否レコード・ログおよびキューブ・ディメンション・コンパイル・ログがアクティブであることを示しています。キューブ操作ログは、セッション・トレース・ファイルに格納され、その他のログは表に格納されています。

SELECT dbms_cube_log.get_log_spec FROM dual;
 
GET_LOG_SPEC
--------------------------------------------------------------------------------
OPERATIONS(TABLE, TRACE) REJECTED_RECORDS(TABLE[DEBUG])

47.2.7 GET_PARAMETERファンクション

このファンクションは、ロギングの様々な要素を制御するオプションの現在の値を戻します。これらのオプションを設定するには、SET_PARAMETERファンクションを使用します。

構文

DBMS_CUBE_LOG.GET_PARAMETER (
          LOG_TYPE       IN   BINARY_INTEGER,
          LOG_PARAMETER  IN   BINARY_INTEGER )
     RETURN BINARY_INTEGER;

パラメータ

表47-6 GET_PARAMETERファンクションのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

詳細は、ロギング・タイプを参照してください。

log_parameter

次のオプションのいずれかです。

  • 1: MAX_ERRORS

  • 2: FLUSH_INTERVAL

  • 3: LOG_FULL_RECORD

  • 4: LOG_EVERY_N

  • 5: ALLOW_ERRORS

「SET_PARAMETERプロシージャ」を参照してください。

戻り値

指定されたlog_parameterの値。

この例は、ロギングが停止する前にキューブ拒否レコード・ログにあるエラーの現在の最大数を示しています。このパラメータは以前はSET_PARAMETERプロシージャで設定されました。

SELECT dbms_cube_log.get_parameter(dbms_cube_log.type_rejected_records, 1) -
     "Maximum Records" FROM dual;
 
Maximum Records
---------------
            100

47.2.8 LEVEL_HIGHファンクション

このファンクションは、冗長性レベルHIGHの整数値を戻します。

構文

DBMS_CUBE_LOG.LEVEL_HIGH ()
     RETURN BINARY_INTEGER;

戻り値

4

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_LEVELパラメータに相当する2進整数のかわりにこのファンクションを使用します。「冗長性レベル」を参照してください。

このコマンドは、キューブ操作表の冗長性レベルをHIGHに設定します。

EXECUTE dbms_cube_log.enable(dbms_cube_log.type_operations, -
     dbms_cube_log.target_table, dbms_cube_log.level_high);

47.2.9 LEVEL_HIGHESTファンクション

このファンクションは、冗長性レベルHIGHESTの整数値を戻します。

構文

DBMS_CUBE_LOG.LEVEL_HIGHEST ()
     RETURN BINARY_INTEGER;

戻り値

5

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_LEVELパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、冗長性レベルを参照してください。

このコマンドは、キューブ操作表の冗長性レベルをHIGHESTに設定します。

EXECUTE dbms_cube_log.enable(dbms_cube_log.type_operations, -
     dbms_cube_log.target_table, dbms_cube_log.level_highest);

47.2.10 LEVEL_LOWファンクション

このファンクションは、冗長性レベルLOWの整数値を戻します。

構文

DBMS_CUBE_LOG.LEVEL_LOW ()
     RETURN BINARY_INTEGER;

戻り値

2

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_LEVELパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、冗長性レベルを参照してください。

このコマンドは、キューブ操作表の冗長性レベルをLOWに設定します。

EXECUTE dbms_cube_log.enable(dbms_cube_log.type_operations, -
     dbms_cube_log.target_table, dbms_cube_log.level_low);

47.2.11 LEVEL_LOWESTファンクション

このファンクションは、冗長性レベルLOWESTの整数値を戻します。このレベルは、キューブ・ディメンションおよびキューブの作成に使用された各コマンドのステータス、スレーブ・プロセスの使用およびサマリー・レコードをログに記録します。

構文

DBMS_CUBE_LOG.LEVEL_LOWEST ()
     RETURN BINARY_INTEGER;

戻り値

1

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_LEVELパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、冗長性レベルを参照してください。

このコマンドは、キューブ操作表の冗長性レベルをLOWESTに設定します。

EXECUTE dbms_cube_log.enable(dbms_cube_log.type_operations, -
     dbms_cube_log.target_table, dbms_cube_log.level_lowest);

47.2.12 LEVEL_MEDIUMファンクション

このファンクションは、冗長性レベルMEDIUMの整数値を戻します。

構文

DBMS_CUBE_LOG.LEVEL_MEDIUM ()
     RETURN BINARY_INTEGER;

戻り値

3

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_LEVELパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、冗長性レベルを参照してください。

このコマンドは、キューブ操作表の冗長性レベルをMEDIUMに設定します。

EXECUTE dbms_cube_log.enable(dbms_cube_log.type_operations, -
     dbms_cube_log.target_table, dbms_cube_log.level_medium);

47.2.13 SET_LOG_SPECプロシージャ

このプロシージャは、すべてのロギングを入力文字列で指定された値に設定します。

構文

DBMS_CUBE_LOG.SET_LOG_SPEC (
          LOG_SPEC       IN   VARCHAR2 );

パラメータ

表47-7 SET_LOG_SPECプロシージャのパラメータ

パラメータ 説明

log_spec

type(target)ペアで構成される文字列。

Typeは次の値を取ることができます。

  • OPERATIONS

  • REJECTED_RECORDS

  • DIMENSION_COMPILE

Targetは次の値を取ることができます。

  • TABLE

  • TRACE

  • FILE

  • LOB

使用上のノート

GET_LOG_SPECファンクションは、SET_LOG_SPECに適切に書式設定された文字列を戻します。

このPL/SQLプロシージャは、すべてのログを無効にし、無効化されたことを検証してから、キューブ操作ログとキューブ拒否レコード・ログをアクティブにします。

BEGIN
     dbms_cube_log.disable;
     dbms_output.put_line('Cube Logs: ' || dbms_cube_log.get_log_spec);

     dbms_cube_log.set_log_spec('OPERATIONS(TRACE) REJECTED_RECORDS(TABLE)');
     dbms_output.put_line('Cube Logs: ' || dbms_cube_log.get_log_spec);
END;
/

プロシージャからの出力は、DISABLEファンクションがすべてのログを非アクティブ化したこと、およびSET_LOG_SPECファンクションが2つのログをアクティブ化したことを検証します。

Cube Logs:

Cube Logs: OPERATIONS(TRACE) REJECTED_RECORDS(TABLE)

47.2.14 SET_PARAMETERプロシージャ

このプロシージャは、ロギングの様々な要素を制御するオプションを設定します。

これらのオプションの現在の値を取得するには、GET_PARAMETERファンクションを使用します。

構文

DBMS_CUBE_LOG.SET_PARAMETER (
          LOG_TYPE       IN   BINARY_INTEGER,
          LOG_PARAMETER  IN   BINARY_INTEGER,
          VALUE          IN   BINARY_INTEGER );

パラメータ

表47-8 SET_PARAMETERプロシージャのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

  • 4: TYPE_BUILD

詳細は、ロギング・タイプを参照してください。

log_parameter

次のパラメータのいずれかです。

  • 1: MAX_ERRORS

    キューブ拒否レコード・ログでの拒否レコード数やディメンション・コンパイル・エラー・ログでのコンパイル・エラー数など、ロギングに終了を通知する前のレコードの最大数。

  • 2: FLUSH_INTERVAL

    レコードをログに書き込む前にバッファする秒数。このパラメータが0のとき、レコードはバッファされずに直接ログに書き込まれます。

  • 3: LOG_FULL_RECORD

    拒否レコードのロギングを制御します。このパラメータを次の定数のいずれかに設定します。

    0: FULL_RECORD_AUTO: 使用できる行IDがない場合に完全なレコードをログに記録します。

    1: FULL_RECORD_ALWAYS: 常に完全なレコードをログに記録します。

    2: FULL_RECORD_NEVER: 完全なレコードをログに記録しません。

  • 4: LOG_EVERY_N

    データ保守中、n行ごとに進捗メッセージを入力します。

  • 5: ALLOW_ERRORS: ロギング・エラーを表示します。処理が継続されるように、最初エラーはオフにされます。

value

log_parameterの新しい値。

このPL/SQLプロシージャは、2つのパラメータを設定してから、GET_PARAMETERファンクションを使用して設定を表示します。

BEGIN
     dbms_cube_log.set_parameter(dbms_cube_log.type_rejected_records, 1, 150);
     dbms_cube_log.set_parameter(dbms_cube_log.type_rejected_records, 2, 5);

     dbms_output.put_line('Max rejected records: ' ||
        dbms_cube_log.get_parameter(dbms_cube_log.type_rejected_records, 1));

     dbms_output.put_line('Buffer time: ' ||
        dbms_cube_log.get_parameter(dbms_cube_log.type_rejected_records, 2) || 
          ' seconds');
END;
/

プロシージャは、次の情報を表示します。

Max rejected records: 150

Buffer time: 5 seconds

47.2.15 TABLE_CREATEプロシージャ

このプロシージャは、OLAPログのターゲット表を作成します。このプロシージャを使用するには、CREATE TABLE権限が必要です。

TABLE_CREATEも既存のログ表を現行バージョンにアップグレードして、データを保持します。

構文

DBMS_CUBE_LOG.TABLE_CREATE (
          LOG_TYPE       IN   BINARY_INTEGER  DEFAULT,
          TBLNAME        IN   VARCHAR2        DEFAULT );

パラメータ

表47-9 TABLE_CREATEプロシージャのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

  • 4: TYPE_BUILD

詳細は、ロギング・タイプを参照してください。

tblname

ログの表名。これらはデフォルト名です。

  • CUBE_OPERATIONS_LOG

  • CUBE_REJECTED_RECORDS

  • CUBE_DIMENSION_COMPILE

  • CUBE_BUILD_LOG

この例は、CUBE_OPERATIONS_LOGという名前のキューブ操作ログを作成します。

EXECUTE dbms_cube_log.table_create;

この例は、CUBE_REJECTED_RECORDSという名前のキューブ拒否レコード・ログを作成します。

EXECUTE dbms_cube_log.table_create(dbms_cube_log.type_rejected_records);

次の例は、MY_BUILD_LOGという名前のキューブ作成ログを作成します。

EXECUTE dbms_cube_log.table_create -
     (dbms_cube_log.type_build, 'MY_BUILD_LOG');

47.2.16 TARGET_FILEファンクション

このファンクションは、DBMS_CUBE_LOGサブプログラムにあるファイル・ターゲットの整数値を戻します。

構文

DBMS_CUBE_LOG.TARGET_FILE ()
     RETURN BINARY_INTEGER;

戻り値

3

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_LEVELパラメータに相当する2進整数のかわりにこのファンクションを使用します。「ロギング・ターゲット」を参照してください。

このコマンドは、キューブ操作ログ・ファイルを無効にします。

EXECUTE dbms_cube_log.disable -
     (dbms_cube_log.type_operations, dbms_cube_log.target_file);

47.2.17 TARGET_LOBファンクション

このファンクションは、LOBターゲットの整数値を戻します。

構文

DBMS_CUBE_LOG.TARGET_LOB ()
     RETURN BINARY_INTEGER;

戻り値

4

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_LEVELパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、ロギング・ターゲットを参照してください。

このコマンドは、キューブ操作ログLOBを無効にします。

EXECUTE dbms_cube_log.disable -
     (dbms_cube_log.type_operations, dbms_cube_log.target_lob);

47.2.18 TARGET_TABLEファンクション

このファンクションは、表ターゲットの整数値を戻します。

構文

DBMS_CUBE_LOG.TARGET_TABLE ()
     RETURN BINARY_INTEGER;

戻り値

1

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_TARGETパラメータに相当する2進整数のかわりにこのファンクションを使用します。「ロギング・ターゲット」を参照してください。

このコマンドは、キューブ操作ログ表を無効にします。

EXECUTE dbms_cube_log.disable -
     (dbms_cube_log.type_operations, dbms_cube_log.target_table);

47.2.19 TARGET_TRACEファンクション

このファンクションは、トレース・ファイル・ターゲットの整数値を戻します。

構文

DBMS_CUBE_LOG.TARGET_TRACE ()
     RETURN BINARY_INTEGER;

戻り値

2

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_TARGETパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、ロギング・ターゲットを参照してください。

このコマンドは、キューブ操作ログ・トレース・ファイルを無効にします。

EXECUTE dbms_cube_log.disable -
     (dbms_cube_log.type_operations, dbms_cube_log.target_trace);

47.2.20 TYPE_BUILDファンクション

このファンクションは、キューブ作成ログの整数値を戻します。

構文

DBMS_CUBE_LOG.TYPE_BUILD ()
     RETURN BINARY_INTEGER;

戻り値

4

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_TYPEパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、ロギング・タイプを参照してください。

この問合せは、キューブ作成ログのデフォルト名を戻します。

SELECT dbms_cube_log.default_name(dbms_cube_log.type_build) "Log Name" -
     FROM dual;
 
Log Name
-------------------------
CUBE_BUILD_LOG

47.2.21 TYPE_DIMENSION_COMPILEファンクション

このファンクションは、キューブ・ディメンション・コンパイル・ログの整数値を戻します。

構文

DBMS_CUBE_LOG.TYPE_DIMENSION_COMPILE ()
     RETURN BINARY_INTEGER;

戻り値

3

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_TYPEパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、ロギング・タイプを参照してください。

この問合せは、キューブ・ディメンション・コンパイル・ログのデフォルト名を戻します。

SELECT dbms_cube_log.default_name(dbms_cube_log.type_dimension_compile) -
     "Log Name" FROM dual;
 
Log Name
-------------------------
CUBE_DIMENSION_COMPILE

47.2.22 TYPE_OPERATIONSファンクション

このファンクションは、キューブ操作ログの整数値を戻します。

構文

DBMS_CUBE_LOG.TYPE_OPERATIONS ()
     RETURN BINARY_INTEGER;

戻り値

1

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_TYPEパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、ロギング・タイプを参照してください。

この問合せは、キューブ・ディメンション・コンパイル・ログのデフォルト名を戻します。

SELECT dbms_cube_log.default_name(dbms_cube_log.type_operations) "Log Name" -
     FROM dual;
 
Log Name
-------------------------
CUBE_OPERATIONS_LOG

47.2.23 TYPE_REJECTED_RECORDSファンクション

このファンクションは、キューブ拒否レコード・ログの整数値を戻します。

構文

DBMS_CUBE_LOG.TYPE_REJECTED_RECORDS ()
     RETURN BINARY_INTEGER;

戻り値

2

使用上のノート

DBMS_CUBE_LOGサブプログラムのLOG_TYPEパラメータに相当する2進整数のかわりにこのファンクションを使用します。詳細は、ロギング・タイプを参照してください。

この問合せは、キューブ拒否レコード・ログのデフォルト名を戻します。

SELECT dbms_cube_log.default_name(dbms_cube_log.type_rejected_records) -
     "Log Name" FROM dual;
 
Log Name
-------------------------
CUBE_REJECTED_RECORDS

47.2.24 VERSIONファンクション

このファンクションは、特定のログ表のバージョン番号または特定のログ・タイプの現在のバージョン番号を戻します。

構文

DBMS_CUBE_LOG.VERSION (
          LOG_TYPE       IN   BINARY_INTEGER  DEFAULT 1,
          TBLNAME        IN   VARCHAR2        DEFAULT NULL)
     RETURN BINARY_INTEGER;

パラメータ

表47-10 VERSIONファンクションのパラメータ

パラメータ 説明

log_type

次のログ・タイプのいずれかです。

  • 1: TYPE_OPERATIONS

  • 2: TYPE_REJECTED_RECORDS

  • 3: TYPE_DIMENSION_COMPILE

  • 4: TYPE_BUILD

詳細は、ロギング・タイプを参照してください。

tblname

バージョンが戻されるログ表の名前。

戻り値

バージョン番号

この例は、キューブ操作ログの現在のバージョンを戻します。

SELECT dbms_cube_log.version FROM dual;
 
   VERSION
----------
         2

この例は、CUBE_REJECTED_RECORDSという名前の既存のキューブ拒否レコード・ログのバージョン番号を戻します。

SELECT dbms_cube_log.version(dbms_cube_log.type_rejected_records, -
     'CUBE_REJECTED_RECORDS') version FROM dual;
 
   VERSION
----------
         2