Oracle UTL_RECOMP2
Version 21c

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
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 POPULATE_UTL_RECOMP2_SKIP_LIST RECOMP_SERIAL
PARALLEL_SLAVE RECOMP_PARALLEL TRUNCATE_UTL_RECOMP2_SKIP_LIST
 
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 19c
What's New In 20c-21c

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-2021 Daniel A. Morgan All Rights Reserved
  DBSecWorx