通常、ディレクトリ ユーザーのアクセス ロギングは、以下の点を除き、データベース ユーザーのアクセス ロギングの使用ルールと同じです。
- SELECT USERリクエストは、通常セッションの現在のユーザーを返します。 ディレクトリ ベースのユーザーがログオンすると、SELECT USERリクエストは以下のいずれかを返します。
- ディレクトリ ユーザーがマップされている永久ユーザー名
- 永久ユーザーにマップされていない場合、ディレクトリ ユーザーのauthcid(ログオン ユーザー名)
- SELECT ROLEリクエストは、通常セッションの現在のロールを返します。 ディレクトリ ユーザーがEXTUSERに対してのみマップされている場合、ディレクトリ ベースのログオンに対する初期の現在のロールは、EXTERNALという名前のダミー ロールです。 ディレクトリに割り当てられたロールを有効にすると常に、SELECT ROLEリクエストは結果としてEXTERNALを返します。
アクセス ロギングの場合、システムはディレクトリ ユーザーを、セッションを確立する際に、DBC.SessionTbl.AuditTrailIdに保存するそれぞれのauthcidで識別します。
保存するauthcidの形式は、すべてのディレクトリ型で同じです。
authcidの長さが128バイト(変換後)を超えると、128バイトで切り捨てられます。したがって、すべてのauthcidsは最初の128バイトが固有である必要があります。