Oracle UTL_RECOMP2
Version 21c

General Information
Library Note Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling complimentary technical Workshops on Database Security for the first 30 Oracle Database customers located anywhere in North America, EMEA, LATAM, or APAC that send an email to asra_us@oracle.com. Request a Workshop for your organization today.
Purpose Alternate utility package for dependency-based recompilation of STUB objects sequentially or in parallel used by dbms_editions_utilities2.actualize_all.
AUTHID DEFINER
Conditional Compilation Directive

Note, that the error, at right, is incorrect: This is utl_recomp2
$if utl_ident.is_oracle_server <> TRUE
and utl_ident.is_timesten <> TRUE $then
  $error 'utl_recomp is not supported in this environment' $end
$end
Constants
Name Data Type Value
 Option Flags
COMPILE_LOG (obsolete) PLS_INTEGER 2
NO_REUSE_SETTINGS (obsolete) PLS_INTEGER 4
RANDOM_ORDER PLS_INTEGER 8
REVERSE_ORDER PLS_INTEGER 16
SPECS_ONLY PLS_INTEGER 32
TYPES_ONLY PLS_INTEGER 64
NEW_EDITION PLS_INTEGER 128
ORACLE_MAINTAINED PLS_INTEGER 256
STUBS CONSTANT PLS_INTEGER 512
Dependencies
DBA_SCHEDULER_JOBS DBMS_STATS UTL_IDENT
DBA_SCHEDULER_RUNNING_JOBS DBMS_UTILITY UTL_RECOMP2_ALL_OBJECTS
DBMS_EDITIONS_UTILITIES2 DEPENDENCY$ UTL_RECOMP2_COMPILED
DBMS_INTERNAL_LOGSTDBY GV$PARAMETER UTL_RECOMP2_ERRORS
DBMS_LOCK JOB_DEFINITION UTL_RECOMP2_INVALID_ALL
DBMS_RANDOM JOB_DEFINITION_ARRAY UTL_RECOMP2_SKIP_LIST
DBMS_SCHEDULER PLITBLM UTL_RECOMP2_SORTED
Documented No
First Available 21c
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/utlrcmp2.sql
{ORACLE_HOME}/rdbms/admin/prvtrcmp2.plb
Subprograms
 
MY_VALIDATE (new 21c)
Validates a database object using the same mechanism that is used for automatic re-validation utl_recomp2.my_validate(
owner      IN VARCHAR2,
objname    IN VARCHAR2,
namespace  IN NUMBER,
edition    IN VARCHAR2 := $if utl_ident.is_oracle_server $then
                            sys_context('USERENV', 'CURRENT_EDITION_NAME'),
                          $elsif utl_ident.is_timesten $then
                             -- no edition support for TimesTen, default it to null
                             null,
                          $end
clone_stub IN BOOLEAN := FALSE);
TBD
 
PARALLEL_SLAVE (new 21c)
Changes the flag in Oracle Database (only) as it is the only environment that supports parallel recompile $if utl_ident.is_oracle_server $then
  PROCEDURE parallel_slave(flags PLS_INTEGER);
$else
  /* parallel_slave is not supported */
$end
exec utl_recomp2.parallel_slave(utl_recomp2.reverse_order);

PL/SQL procedure successfully completed.
 
POPULATE_UTL_RECOMP2_SKIP_LIST (new 21c)
Undocumented utl_recomp2.populate_utl_recomp2_skip_list;
exec utl_recomp2.populate_utl_recomp2_skip_list;

PL/SQL procedure successfully completed.
 
RECOMP_PARALLEL (new 21c)
Recompile in parallel mode utl_recomp2.recomp_parallel(
threads IN BINARY_INTEGER,
schema  IN VARCHAR2,
flags   IN BINARY_INTEGER);
exec utl_recomp2.recomp_parallel(4, 'C##UWCLASS', utl_recomp2.oracle_maintained);

PL/SQL procedure successfully completed.
 
RECOMP_SERIAL (new 21c)
Recompile in serial mode utl_recomp2.recomp_serial(
schema IN VARCHAR2,
flags  IN BINARY_INTEGER);
exec utl_recomp2.recomp_serial('C##UWCLASS', utl_recomp2.random_order);
 
TRUNCATE_UTL_RECOMP2_SKIP_LIST (new 21c)
Truncate the UTL_RECOMP2_SKIP_LIST table utl_recomp2.truncate_utl_recomp2_skip_list;
SELECT * FROM utl_recomp2_skip_list;

exec utl_recomp2.truncate_utl_recomp2_skip_list;

SELECT * FROM utl_recomp2_skip_list;

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_EDITIONS_UTILITIES2
DBMS_UTILITY.COMPILE_SCHEMA
UTL_RECOMP
What's New In 21c
What's New In 23c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx