Search Results recreate_indexes_by_mv_wrapper
Overview
The APPS.BIS_BIA_RSG_INDEX_MGMT package is a PL/SQL utility belonging to the Oracle Business Intelligence System (BIS) schema, the component of Oracle E-Business Suite responsible for collecting and exposing business intelligence data through materialized views and summary objects. The package manages the lifecycle of indexes that support these BIS materialized views. Within EBS 12.1.1 and 12.2.2, BIS relies on materialized views to pre-aggregate transactional data from Oracle Applications, and maintaining the indexes on those views is essential for acceptable refresh and query performance. This package coordinates efforts to capture, drop, and recreate those indexes, as well as to globally enable or disable index management for a given materialized view. It is declared AUTHID CURRENT_USER and, per the header comment ($Header: BISBRIMS.pls 120.0), is a long-standing component of the BIS infrastructure. Its classification in ETRM is OTHER, meaning it is an internal utility rather than a published public API, and its primary consumer is the BIS refresh and index maintenance machinery itself.
Key Procedures and Functions
- IS_INDEX_MGMT_ENABLED — A function that reports whether index management is currently enabled for a specified materialized view and schema. It is typically used by callers to decide whether index capture/drop or recreation should proceed.
- RECREATE_INDEXES_BY_MV — A procedure that recreates the indexes associated with a given materialized view. It accepts standard concurrent program OUT parameters (ERRBUF, RETCODE) in addition to the materialized view name and schema, indicating it is designed to be invoked from a concurrent program context.
- CAPTURE_AND_DROP_INDEX_BY_MV — A procedure that captures the current index definitions for a materialized view and then drops those indexes. The captured definitions allow the indexes to be rebuilt later.
- DISABLE_INDEX_MGMT — A procedure that turns off index management for the specified materialized view and schema. This is the object most directly associated with the user search term disable_index_mgmt. It is the counterpart to ENABLE_INDEX_MGMT.
- ENABLE_INDEX_MGMT — A procedure that turns on index management for the specified materialized view and schema, permitting the capture, drop, and recreation cycle to operate.
- RECREATE_INDEXES_BY_MV_WRAPPER — A wrapper procedure that provides an alternate calling convention for the index recreation logic, typically used to invoke
RECREATE_INDEXES_BY_MVfrom contexts that require a simplified or standardized signature.
Tables Accessed
The package operates against three documented tables, referenced through APPS synonyms. BIS_OBJ_INDEXES stores metadata about the indexes associated with BIS objects, and is the repository in which index definitions are captured and later read during recreation. BIS_OBJ_PROPERTIES holds configuration attributes for BIS objects, and likely stores the enable/disable state consulted by IS_INDEX_MGMT_ENABLED and modified by ENABLE_INDEX_MGMT and DISABLE_INDEX_MGMT. ALL_INDEXES is the Oracle data dictionary view used to discover the physical indexes that currently exist on a materialized view, providing the authoritative list of indexes to capture or drop. Together these tables support a persist-and-restore model for index definitions.
Usage Notes
This package is invoked internally by the BIS materialized view refresh and maintenance framework rather than by end users. The presence of ERRBUF and RETCODE parameters on RECREATE_INDEXES_BY_MV confirms that at least that routine is exposed as a concurrent program, allowing administrators to rebuild BIS materialized view indexes from the Concurrent Programs form. Database administrators commonly call DISABLE_INDEX_MGMT and ENABLE_INDEX_MGMT directly from SQL*Plus or a script when they need to temporarily suspend automatic index maintenance — for example, during large data loads, table reorganization, or troubleshooting of a failed refresh — so that index definitions are not captured or dropped unexpectedly. Because the package is classified as OTHER and is not a governed public API, its signatures should be treated as internal and subject to change; customizations should wrap calls rather than depend on undocumented behavior. The package is referenced by one other documented package, confirming its role as a supporting utility in the BIS stack.