Search Results label_of




Overview

The DVSYS.DBMS_MACOLS package is an Oracle Label Security (OLS) integration utility delivered as part of the Oracle Database Vault and Label Security infrastructure that underpins application data segregation in Oracle E-Business Suite 12.1.1 and 12.2.2. Its principal business function is to initialize the MACOLS (Mandatory Access Control Oracle Label Security) subsystem and to establish the sensitivity label for the current user's database session. In EBS deployments that use Label Security to enforce data classification, row-level access to protected records is governed by the session label; this package computes and applies that label at connection time.

Although the package is owned by the DVSYS schema — not by an EBS application schema — it is a documented ETRM object for R12 environments because EBS login processing depends on it when OLS is enabled. The ETRM classification for the package is OTHER, reflecting its role as supporting infrastructure rather than an application-facing API.

Key Procedures and Functions

The ETRM metadata documents six callable objects within the package. Their purposes, per the source documentation, are:

  • INIT_SESSION — The central entry point. It initializes MACOLS and sets the user's session label. It is designed to be invoked from the Login trigger, strictly after the MACSEC.INIT_SESSION call has completed, and only when OLS is installed (verified via dbms_macutl.is_ols_installed). Internally, for each OLS policy and merge algorithm, it determines the user's OLS label, computes factor labels, merges them using the policy algorithm to derive the maximum possible label (the MACOLS label), and — if the user's OLS label dominates that maximum — merges further to compute the new session label. The factor labels, MACOLS label, and session labels are then cached in the user's context and the session label is set for the policy.
  • MIN_POLICY_LABEL_OF — A function that determines the lowest sensitivity level for a specified policy, returning the corresponding label. It is exposed temporarily for debugging purposes.
  • LABEL_OF — A function that computes the label of a given factor for a specified policy. It is likewise exposed temporarily for debugging.
  • CREATE_MACOLS_CONTEXTS — Creates the contexts used to cache MACOLS labels. One context caches per-factor labels, and a second caches session-related label values.
  • DROP_MACOLS_CONTEXTS — Removes the MACOLS caching contexts, supporting cleanup or reconfiguration.
  • UPDATE_POLICY_LABEL_CONTEXT — Refreshes or maintains the cached policy label context.

Tables Accessed

The ETRM metadata for this package does not list any tables accessed through APPS synonyms, which is consistent with its role as DVSYS-owned security infrastructure rather than an EBS application-layer component. The documented source does reference the mac_policy$ table, from which policy identifiers are drawn — the parameter descriptions for MIN_POLICY_LABEL_OF and LABEL_OF both specify that the policy ID originates from mac_policy$. Label and context data are otherwise held in the session-level contexts created by CREATE_MACOLS_CONTEXTS rather than in application tables.

Usage Notes

The package is not intended for direct invocation by forms, concurrent programs, or custom application code. Its primary consumer is the EBS Login trigger sequence, where INIT_SESSION runs after MACSEC.INIT_SESSION to complete label initialization for the connecting user. The context creation and drop routines are administrative in nature, invoked during setup or teardown of the MACOLS caching structures, and the label inspection functions exist only as temporary debugging aids. ETRM records that the package is referenced by two other packages, reinforcing its position as a low-level dependency within the Label Security stack. Because calls assume OLS is installed, any code path reaching this package should first confirm availability through dbms_macutl.is_ols_installed.