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 |
ユーザーが入力した値を保持します。 |
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 |
|
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 |
問合せを |
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プレゼンテーション・サービスにログオンしたときにスタイルを選択して、ユーザー・インタフェースの一部の要素を変更できます。 |
システム・セッション変数と同じ手順を使用して、システム以外のセッション変数を定義します。
システム以外のセッション変数は、一般的にはユーザー・フィルタの設定に使用されます。たとえば、SalesRegionというシステム以外の変数を、ユーザーの販売地域の名前に初期化するように定義できます。
そこで、グループのすべてのメンバーにその地域に関連するデータの参照のみを許可するようにセキュリティ・フィルタを設定できます。
Oracle BIサーバーでこれらの変数を使用する場合、名前の前にNQ_SESSION
を付けます。たとえば、列を変数SalesRegion
の値でフィルタするには、フィルタを変数NQ_SESSION.SalesRegion
に設定します。
次の手順を使用して、セッション変数を作成します。
すべての変数に一意の名前を作成します。システム・セッション変数の名前は予約されています。システム・セッション変数の名前を他の変数の型で使用することはできません。
「ユーザーによる値の設定を有効にします」オプションを使用すると、管理者以外のユーザーがサンプル用に変数を設定できるようになります。
NQSSetSessionValues()
ストアド・プロシージャは、「Oracle BIプレゼンテーション・サービス管理」の「SQLの発行」ページから使用することはできません。変数の値を設定するには、「ユーザーによる値の設定を有効にします」オプションを選択する必要があります。
「セキュリティ・センシティブ」が選択されている場合、Oracle BIサーバーは論理リクエスト・プロジェクトション・リストで参照されるそれぞれの列または表の親データベース・オブジェクトを参照します。データベース・オブジェクトの「仮想プライベート・データベース」オプションが選択されていると、Oracle BIサーバーはセキュリティ・センシティブ変数のリストと見込みのキャッシュ・ヒットをマッチングします。キャッシュ・ヒットは、すべてのセキュリティ・センシティブ変数が含まれて一致しているキャッシュ・エントリでのみ発生します。
セッション変数を作成して階層列の選択手順をオーバーライドする場合、初期化文字列がJSON構文で書かれている初期化ブロックを選択する必要があります。「選択手順をオーバーライドする変数で使用される初期化文字列」および「初期化ブロックの作成」参照してください。
式の設定を参照してください。
NQSSetSessionValue()
をコールすることで(ユーザー・ログイン時に)初期化ブロックに値が移入された後にセッション変数が設定されます。