プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.1.0)
E77227-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プロファイルから移入されます。

LOGLEVEL

LOGLEVELの値(0-5の数字)で、Oracle BIサーバーがユーザーの問合せに使用するログ・レベルを決定します。

このシステム・セッション変数は、管理ツールのユーザー・オブジェクトに定義されている変数を上書きします。(インストールで定義されている)管理ユーザーのログ・レベルが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問合せとして識別します。詳細は、<<SELECT_PHYSICALの構文と使用上の注意- SQLリファレンスへのリンク>>を参照してください。

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

REQUESTKEY

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

SKIN

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

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

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

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

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

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

セッション変数の作成

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

セッション変数を作成する手順は次のとおりです。

  1. 管理ツールで、「管理」を選択してから、「変数」を選択します。
  2. 「変数マネージャ」ダイアログで、「アクション」「新規」「セッション」「変数」を選択します。
  3. 「セッション変数」ダイアログで、変数名を入力します。

    すべての変数名は一意にする必要があります。システム・セッション変数の名前は予約されており、他の変数の型で使用することはできません。

  4. セッション変数の場合、次のオプションを選択できます。
    • ユーザーによる値の設定を可能にする。このオプションを選択すると、ODBCストアド・プロシージャNQSSetSessionValue()をコールして(ユーザー・ログイン時に)初期化ブロックに値を移入した後にセッション変数が設定されます。たとえば、このオプションによって、管理者以外のユーザーがサンプル用にこの変数を設定できるようにすることができます。

      NQSSetSessionValues()ストアド・プロシージャは、「Oracle BIプレゼンテーション・サービス管理」での「SQLの発行」ページから使用することはできません。

      このオプションが選択されていないと、変数は設定されません。

    • セキュリティ・センシティブ。このオプションを選択すると、仮想プライベート・データベース(VPD)などの行レベル・データベース・セキュリティ戦略を使用する際に、その変数をセキュリティ・センシティブと識別します。フィルタ・キャッシュ表に一致すると、は論理リクエスト・プロジェクション・リストで参照されるそれぞれの列または表の親データベース・オブジェクトを参照します。データベース・オブジェクトの「仮想プライベート・データベース」オプションが選択されていると、Oracle BIサーバーはセキュリティ・センシティブ変数のリストと見込みのキャッシュ・ヒットをマッチングします。キャッシュ・ヒットは、すべてのセキュリティ・センシティブ変数が含まれて一致しているキャッシュ・エントリでのみ発生します。

  5. 初期化ブロック」リストを使用して、継続的に値のリフレッシュに使用する初期化ブロックを選択します。セッション変数を作成し、それを使用して階層列の選択手順をオーバーライドする場合、初期化文字列がJSON構文で書かれている初期化ブロックを選択する必要があります。詳細は、選択手順をオーバーライドする変数で使用される初期化文字列を参照してください。

    新しい初期化ブロックを作成するには、「新規」をクリックします。詳細は、初期化ブロックの作成を参照してください。

  6. デフォルト・イニシャライザの値を追加するには、「デフォルトのイニシャライザ」ボックスに値を入力するか、「式ビルダー」ボタンをクリックして式ビルダーを使用します。
  7. 「OK」をクリックします。