プライマリ・コンテンツに移動
Oracle® OLAP DML Reference
12c Release 1 (12.1)
B71310-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

C OLAP_API_SESSION_INIT PL/SQLパッケージ

OLAP_API_SESSION_INIT PL/SQLパッケージには、OLAP APIの初期化パラメータの表をメンテナンスするためのプロシージャが含まれています。

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

OLAP APIの初期化パラメータ

OLAP_API_SESSION_INITパッケージには、初期化パラメータの構成表をメンテナンスするためのプロシージャが含まれています。OLAP APIでセッションを開くと、指定したロールを持つユーザーに対して表にリストされているALTER SESSIONコマンドが実行されます。この表を使用するのはOLAP APIのみであり、他のアプリケーションではこの表に格納されたコマンドは実行されません。

この機能は、すべてのユーザーの環境を変更できるデータベース初期化ファイルやinit.oraファイルでこれらのパラメータを設定するかわりに使用できます。

構成表には、OLAP APIのパフォーマンスを向上できるALTER SESSIONコマンドがインストール時に移入されます。この構成表は、より有効な設定が新たに見つからないかぎり変更する必要はありません。

構成表内の情報は、この章で後述するALL_OLAP_ALTER_SESSIONビューの別名から問い合せることができます。


注意:

このパッケージの所有者は、SYSユーザーです。このパッケージを使用するには、実行権限が明示的に付与されている必要があります。

構成表の表示

ALL_OLAP_ALTER_SESSIONは、OLAP$ALTER_SESSION表のビューであるV$OLAP_ALTER_SESSIONのパブリック・シノニムです。ビューおよび表の所有者は、SYSユーザーです。

ALL_OLAP_ALTER_SESSIONビュー

ALL_OLAP_ALTER_SESSIONの各行により、ロールおよびセッション初期化パラメータが識別されます。ユーザーがOLAP APIを使用してセッションを開くと、そのセッションは、そのユーザーに付与されたロールのパラメータを使用して初期化されます。

表C-1 ALL_OLAP_ALTER_SESSIONの列の説明

データ型 NULL 説明

ROLE

VARCHAR2(30)

NOT NULL

データベース・ロール

CLAUSE_TEXT

VARCHAR2(3000)


ALTER SESSIONコマンド


OLAP_API_SESSION_INITサブプログラムの概要

次の表で、OLAP_API_SESSION_INITに含まれるサブプログラムを説明します。

表C-2 OLAP_API_SESSION_INITサブプログラム

サブプログラム 説明

ADD_ALTER_SESSIONプロシージャ


特定のデータベース・ロールを持つOLAP APIユーザーに対し、ALTER SESSIONパラメータを指定する。

CLEAN_ALTER_SESSIONプロシージャ


孤立データ(データベースに定義されていないロールに対するALTER SESSIONパラメータ)を削除する。

DELETE_ALTER_SESSIONプロシージャ


特定のデータベース・ロールを持つOLAP APIユーザーに対して事前に定義されたALTER SESSIONパラメータを削除する。


ADD_ALTER_SESSIONプロシージャ

このプロシージャは、特定のデータベース・ロールを持つOLAP APIユーザーに対し、ALTER SESSIONパラメータを指定します。OLAP$ALTER_SESSION表に行を追加します。

構文

ADD_ALTER_SESSION (
     role_name           IN     VARCHAR2,
     session_parameter   IN     VARCHAR2);

パラメータ

role_nameおよびsession_parameterが行としてOLAP$ALTER_SESSIONに追加されます。

表C-3 ADD_ALTER_SESSIONプロシージャのパラメータ

パラメータ 説明

role_name

データベースの有効なロールの名前。必須です。

session_parameter

SQLのALTER SESSIONコマンドで設定されるパラメータ。必須です。


次の例では、OLAP_DBAロールを持つユーザーに対するクエリー・リライトを有効にするOLAP$ALTER_SESSIONに行を挿入します。

EXECUTE olap_api_session_init.add_alter_session('OLAP_DBA', 
     'SET QUERY_REWRITE_ENABLED=TRUE');
Row inserted
 
SELECT * FROM all_olap_alter_session WHERE role='OLAP_DBA';
 
ROLE         CLAUSE_TEXT
------------ ------------------------------------------------------------
OLAP_DBA     ALTER SESSION SET QUERY_REWRITE_ENABLED=TRUE

CLEAN_ALTER_SESSIONプロシージャ

このプロシージャは、現在データベースに定義されていない任意のロールに対するALTER SESSIONパラメータをすべて削除します。それらのロールに対するOLAP$ALTER_SESSION表の孤立行をすべて削除します。

構文

CLEAN_ALTER_SESSION ();

次の例では、すべての孤立行を削除します。

EXECUTE olap_api_session_init.clean_alter_session();

DELETE_ALTER_SESSIONプロシージャ

このプロシージャは、特定のデータベース・ロールを持つOLAP APIユーザーに対して事前に定義されたALTER SESSIONパラメータを削除します。OLAP$ALTER_SESSION表から行を削除します。

構文

DELETE_ALTER_SESSION (
     role_name           IN     VARCHAR2,
     session_parameter   IN     VARCHAR2);

パラメータ

role_nameおよびsession_parameterの両方により、OLAP$ALTER_SESSIONの行が一意に識別されます。

表C-4 DELETE_ALTER_SESSIONプロシージャのパラメータ

パラメータ 説明

role_name

データベースの有効なロールの名前。必須です。

session_parameter

SQLのALTER SESSIONコマンドで設定されるパラメータ。必須です。


次のコールによって、1列目にOLAP_DBA、2列目にQUERY_REWRITE_ENABLED=TRUEという値を含むOLAP$ALTER_SESSIONの行が削除されます。

EXECUTE olap_api_session_init.delete_alter_session('OLAP_DBA', 
     'SET QUERY_REWRITE_ENABLED=TRUE');
 
SELECT * FROM all_olap_alter_session WHERE role='OLAP_DBA';
 
no rows selected