プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.2.0)
E82973-02
目次へ移動
目次

前
前へ
次
次へ

セッション変数の操作

セッション変数とその作成方法について説明します。

この項では、セッション変数の操作について説明します。内容は次のとおりです。

セッション変数について

セッション変数は、初期化ブロックから値を取得します。

ただし、動的リポジトリ変数と異なり、セッション変数の初期化はスケジュールされません。ユーザーがセッションを開始すると、Oracle BIサーバーではセッション変数の新しいインスタンスを作成し、それを初期化します。

リポジトリ変数と異なり、セッション変数のインスタンスはOracle BIサーバー上のアクティブなセッションと同じ数だけあります。セッション変数の各インスタンスは、異なる値で初期化できます。

セッション変数は、主に、データベース表やLDAPサーバーなどの外部ソースに対してユーザーを認証する際に使用されます。ユーザーの認証が成功すると、セッション変数を使用してそのセッションのフィルタおよび権限を設定できます。セッション変数を使用してセキュリティを設定する場合は、『Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』の「セッション変数の管理」を参照してください。

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

システム・セッション変数について

システム・セッション変数は、Oracle BIサーバーおよびOracle BIプレゼンテーション・サービスによって特定の目的に使用されます。

システム・セッション変数には、他の種類の変数(静的または動的リポジトリ変数やシステム以外のセッション変数など)に使用できない予約名が付けられています。

Oracle BIプレゼンテーション・サービスでこれらの変数を使用する場合、名前の前にNQ_SESSIONを付けます。たとえば、列を変数LOGLEVELの値でフィルタするには、フィルタを変数NQ_SESSION.LOGLEVELに設定します。

この表は、使用可能なシステム・セッション変数を示しています。

変数 説明

USER

ユーザーが入力した値を保持します。USER値は常にPROXY変数と一致します。つまり、役割を果たす値です。ユーザーが他のユーザーの役割を果たすためにログインした場合、USERセッション変数の値は、ユーザーが役割を果たしているUSERIDと一致します。

USERGUID

ユーザーの一意のグローバル識別子(GUID)が格納され、ユーザーのLDAPプロファイルまたは他のプロファイルから移入されます。

GROUP

ユーザーが属するグループが格納されます。グループは以前のリリースとの互換性のためにのみ存在します。レガシー・グループは、自動的にアプリケーション・ロールにマップされます。

ユーザーが複数のグループに属している場合、グループ名をセミコロンで区切って同じ列に含めます(例: GroupA;GroupB;GroupC)。セミコロンをグループ名の一部として使用する必要がある場合は、セミコロンの前に円記号(\)を付けてください。

ROLES

ユーザーが属するアプリケーション・ロールが格納されます。

ユーザーが複数のロールに属している場合、ロール名をセミコロンで区切って同じ列に含めます(例: RoleA;RoleB;RoleC)。セミコロンをロール名の一部として含める必要がある場合は、セミコロンの前に円記号(\)を付けてください。

ROLEGUIDS

ユーザーが属するアプリケーション・ロールの一意のグローバル識別子(GUID)が格納されます。アプリケーション・ロールのGUIDは、アプリケーション・ロール名と同じです。

PERMISSIONS

oracle.bi.server.manageRepositoriesなど、ユーザーが保持する権限が格納されます。

PROXY

他のユーザーとしてふるまうことが認可されているプロキシ・ユーザーの名前が保持されます。

PROXYシステム・セッション変数の詳細は、Oracle Business Intelligence Enterprise Editionセキュリティ・ガイドを参照してください。

DISPLAYNAME

Oracle BIサーバーで使用されます。これは、Oracle BIプレゼンテーション・サービス・ユーザー・インタフェースの挨拶でユーザーに表示される名前が格納されます。また、カタログ・オブジェクトの作成者フィールドも保存されます。LDAPプロファイルまたは他のユーザー・プロファイルから移入されたDISPLAYNAME変数。

LOGLEVEL

LOGLEVEL値は0から5までの数値です。LOGLEVELには、Oracle BIサーバーがユーザーの問合せに使用するログ・レベルを指定します。

LOGLEVELは、管理ツールのユーザー・オブジェクトに定義されている変数を上書きします。管理ユーザー(インストール時に定義)のログ・レベルが4に定義され、リポジトリで定義されているセッション変数LOGLEVELの値が0の場合、0の値が適用されます。

DESCRIPTION

ユーザーの説明が格納され、LDAPプロファイルまたは他のユーザー・プロファイルから移入されます。

USERLOCALE

ユーザーのロケールが格納され、LDAPプロファイルまたは他のユーザー・プロファイルから移入されます。

DISABLE_CACHE_HIT

Oracle BIサーバー結果キャッシュ・ヒットの有効化または無効化に使用されます。この変数の有効値は0または1です。

DISABLE_CACHE_SEED

Oracle BIサーバー結果キャッシュ・シードの有効化または無効化に使用されます。この変数の有効値は0または1です。

DISABLE_SUBREQUEST_CACHE

Oracle BIサーバー・サブリクエスト・キャッシュ・ヒットおよびシードの有効化または無効化に使用されます。この変数の有効値は0または1です。

SELECT_PHYSICAL

問合せをSELECT_PHYSICAL問合せとして識別します。

DISABLE_PLAN_CACHE_HIT

Oracle BIサーバー計画キャッシュ・ヒットの有効化または無効化に使用されます。この変数の有効値は0または1です。

DISABLE_PLAN_CACHE_SEED

Oracle BIサーバー計画キャッシュ・シードの有効化または無効化に使用されます。この変数の有効値は0または1です。

TIMEZONE

ユーザーのタイム・ゾーンが格納され、LDAPプロファイルまたは他のユーザー・プロファイルから移入されます。

WEBLANGUAGE

Oracle BIプレゼンテーション・サービスで使用されます。Oracle BIプレゼンテーション・サービス・ユーザー・インタフェース表示言語を保持します。ユーザーは、Oracle BI EEのサインイン・ページで言語を選択できます。または、サインインした後に、「マイ・アカウント」ダイアログの「プリファレンス」タブで言語設定を変更できます。

AUTHINITBLOCKONLY

認証に必要な初期化ブロックが実行されるかどうかを判別します。この変数の値は「はい」です。この値には大/小文字区別はありません。

PORTALPATH

Oracle BIサーバーで使用されます。これは、ユーザーがログインしたときに表示されるデフォルトのダッシュボードを特定します(ユーザーはOracle BI EEにサインインした後、このプリファレンスを上書きできます)。

REQUESTKEY

Oracle BIプレゼンテーション・サービスで使用されます。同じリクエスト・キー(ブランク以外)を持つユーザーは、同じOracle BIプレゼンテーション・サービス・キャッシュ・エントリを共有します。これによってOracle BIプレゼンテーション・サービスは、これらのユーザーがOracle BIプレゼンテーション・サービスで同一のコンテンツ・フィルタおよびセキュリティを持つことを認識します。Oracle BIプレゼンテーション・サービス・キャッシュ・エントリを共有すると、Oracle BIプレゼンテーション・サービスとの間に発生する不要な通信を最小化できます。

SKIN

Oracle BIプレゼンテーション・サービス・ユーザー・インタフェースのルック・アンド・フィールの特定の要素を決定します。ユーザーは、Oracle BIプレゼンテーション・サービスにログオンしたときにスタイルを選択して、ユーザー・インタフェースの一部の要素を変更できます。SKIN変数は、変更不能の要素(GIFファイルなどの図)が格納されるフォルダを指します。このようなディレクトリ名は、「sk_」で始まります。たとえば、sk_companyxというフォルダの場合、SKIN変数にはcompanyxと設定します。

システム以外のセッション変数について

システム・セッション変数と同じ手順を使用して、システム以外のセッション変数を定義します。

システム以外のセッション変数は、一般的にはユーザー・フィルタの設定に使用されます。たとえば、SalesRegionというシステム以外の変数を、ユーザーの販売地域の名前に初期化するように定義できます。

そこで、グループのすべてのメンバーにその地域に関連するデータの参照のみを許可するようにセキュリティ・フィルタを設定できます。

Oracle BIサーバーでこれらの変数を使用する場合、名前の前にNQ_SESSIONを付けます。たとえば、列を変数SalesRegionの値でフィルタするには、フィルタを変数NQ_SESSION.SalesRegionに設定します。

セッション変数の作成

次の手順を使用して、セッション変数を作成します。

すべての変数に一意の名前を作成します。システム・セッション変数の名前は予約されています。システム・セッション変数の名前を他の変数の型で使用することはできません。

「ユーザーによる値の設定を有効にします」オプションを使用すると、管理者以外のユーザーがサンプル用に変数を設定できるようになります。

NQSSetSessionValues()ストアド・プロシージャは、「Oracle BIプレゼンテーション・サービス管理」の「SQLの発行」ページから使用することはできません。変数の値を設定するには、「ユーザーによる値の設定を有効にします」オプションを選択する必要があります。

「セキュリティ・センシティブ」が選択されている場合、Oracle BIサーバーは論理リクエスト・プロジェクトション・リストで参照されるそれぞれの列または表の親データベース・オブジェクトを参照します。データベース・オブジェクトの「仮想プライベート・データベース」オプションが選択されていると、Oracle BIサーバーはセキュリティ・センシティブ変数のリストと見込みのキャッシュ・ヒットをマッチングします。キャッシュ・ヒットは、すべてのセキュリティ・センシティブ変数が含まれて一致しているキャッシュ・エントリでのみ発生します。

セッション変数を作成して階層列の選択手順をオーバーライドする場合、初期化文字列がJSON構文で書かれている初期化ブロックを選択する必要があります。「選択手順をオーバーライドする変数で使用される初期化文字列」および「初期化ブロックの作成」参照してください。

式の設定を参照してください。

  1. 管理ツールで、「管理」を選択してから、「変数」を選択します。
  2. 「変数マネージャ」ダイアログで、「アクション」「新規」「セッション」「変数」を選択します。
  3. 「セッション変数」ダイアログで、「名前」に変数名を入力します。
  4. (オプション)「ユーザーによる値の設定を有効にします」を選択すると、ODBCストアド・プロシージャNQSSetSessionValue()をコールすることで(ユーザー・ログイン時に)初期化ブロックに値が移入された後にセッション変数が設定されます。
  5. (オプション)「セキュリティ・センシティブ」を選択すると、仮想プライベート・データベース(VPD)などの行レベル・データベース・セキュリティ戦略を使用する際に、その変数をセキュリティ・センシティブと識別できます。
  6. 「初期化ブロック」リストから、継続的に値のリフレッシュに使用する初期化ブロックを選択するか、「新規」をクリックして新しい初期化ブロックを作成します。
  7. 「デフォルトのイニシャライザ」で値を入力するか、「式ビルダー」ボタンをクリックして式ビルダーを使用します。
  8. 「OK」をクリックします。