次の表で、OLAP_API_SESSION_INITに含まれるサブプログラムを説明します。
表C-2 OLAP_API_SESSION_INITサブプログラム
| サブプログラム | 説明 |
|---|---|
|
|
特定のデータベース・ロールを持つOLAP APIユーザーに対し、 |
|
|
孤立データ(データベースに定義されていないロールに対する |
|
|
特定のデータベース・ロールを持つOLAP APIユーザーに対して事前に定義された |
このプロシージャは、特定のデータベース・ロールを持つ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プロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
データベースの有効なロールの名前。必須。 |
|
|
SQL |
例
次の例では、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
このプロシージャは、現在データベースに定義されていない任意のロールに対するALTER SESSIONパラメータをすべて削除します。それらのロールに対するOLAP$ALTER_SESSION表の孤立行をすべて削除します。
構文
CLEAN_ALTER_SESSION ();
例
次の例では、すべての孤立行を削除します。
EXECUTE olap_api_session_init.clean_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 |
例
次のコールによって、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