Search Results unlock_rio
Overview
CTXSYS.DRIRIO is an Oracle Text (interMedia) internal PL/SQL package owned by the CTXSYS schema. Its name reflects its purpose: Directory RIO, the "RIO" convention denoting "Reliable Indexing Operations" within Oracle Text's index infrastructure. In the Oracle E-Business Suite environment, this package is not an applications-owned object; it belongs to the CTXSYS schema that is installed alongside the database and is exposed to the EBS schema through a public or APPS synonym. The package provides the low-level locking and shadow-object management primitives that Oracle Text requires when building, rebuilding, or synchronizing a text index. Its role is to serialize concurrent Data Manipulation Language (DML) and indexing activity against the underlying index tables, and to manage the creation of "shadow" index structures used during an Online Index rebuild. In ETRM terms, the package is classified as OTHER — that is, a database-level utility rather than an EBS application API — but it is functionally significant because any Oracle Text index used by an EBS module (for example, in the context of the Oracle Applications interMedia indexes) relies on these primitives.
Key Procedures and Functions
The package exposes seven documented program units, all oriented toward locking and shadow index management:
- LOCK_RIO — acquires a lock on the RIO resource for a given index, identified by a component identifier and process identifier, with a caller-supplied timeout. The timeout constants LOCK_WAIT (null, indefinite wait) and LOCK_NOWAIT (0, immediate) are declared at the top of the package.
- UNLOCK_RIO — releases the lock acquired by LOCK_RIO. It accepts an ignore_errors boolean flag (default false) so that cleanup paths can proceed even if the lock is not held.
- SHADOW_NAME — a function that returns the name of the shadow policy associated with a source index, given the index identifier and an optional index partition identifier. This is central to the naming convention Oracle Text applies to intermediate rebuild objects.
- LOCK_RIO_ALL_PART — acquires the RIO lock across all partitions of a given index component, used when an operation must be applied globally rather than to a single partition.
- UNLOCK_RIO_ALL_PART — releases the all-partition lock, again with an ignore_errors default of false.
- CREATE_SHADOW — constructs the shadow index record from an incoming index record (dr_def.idx_rec), returning the shadow record. This underpins online rebuilds where the live index remains available while a shadow copy is populated.
- CREATE_SHADOW_PARTMD — creates the shadow structure for a specific partition (partition metadata), given the index record and the index partition identifier.
Tables Accessed
The package references two objects through APPS synonyms: DBMS_LOCK and PLITBLM. DBMS_LOCK is the Oracle-supplied lock management package; calls from LOCK_RIO and its all-partition variants are almost certainly routed through it to obtain the enqueue that serializes index operations. PLITBLM is the Oracle Text PL/SQL implementation package for interMedia indexes; the shadow creation routines interact with it because the shadow index records (dr_def.idx_rec) are defined and consumed by that package. No EBS application tables are referenced directly by name in the documented source; the package operates on Oracle Text's own metadata structures rather than on business data.
Usage Notes
CTXSYS.DRIRIO is not intended to be invoked directly by EBS forms, concurrent programs, or custom application code. It is called internally by Oracle Text when an index is created, rebuilt, or synchronized — typically through operations such as CREATE INDEX ... INDEXTYPE IS CTXSYS.CONTEXT, ALTER INDEX ... REBUILD, or CTX_DDL procedures. In an EBS 12.1.1 or 12.2.2 environment, the package will be exercised whenever Oracle Text indexes maintained in the database are reorganized, including during patching or upgrade activity that rebuilds those indexes. Because ownership resides with CTXSYS and the program units manipulate shared index resources, customers should not grant EXECUTE on this package or attempt to wrap it. Diagnosis should focus on index health and enqueue contention rather than on calling these procedures directly. The referenced-by metadata indicates ten other packages depend on DRIRIO, confirming it is a foundational dependency of the Oracle Text runtime.
-
PACKAGE: CTXSYS.DRIRIO
12.1.1
-
PACKAGE: CTXSYS.DRIRIO
12.2.2