Oracle DBMS_PREUP
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 Procedures and functions used to perform checks on a database which is getting ready to be upgrade.
Note Constants and subprograms listed here are only those that are publicly accessible. Additional constants and subprograms are private to the package body.

A list of all CHECK_NAME values can be found in the INIT_PREUPCHECKS procedure local to the package body (see source code).
AUTHID DEFINER
Constants
Name Data Type Value
c_build NUMBER 1
c_success NUMBER 1
c_failure NUMBER 2
debug BOOLEAN FALSE
debug_archive_fra BOOLEAN FALSE
pDBGSizeResources BOOLEAN FALSE
 Fixup Script Name Constants
C_FIXUP_SCRIPT_NAME_PRE_BASE VARCHAR2(30) 'preupgrade_fixups'
C_FIXUP_SCRIPT_NAME_POST_BASE VARCHAR2(30) 'postupgrade_fixups';
 Fixup Script Name Variables
C_FIXUP_SCRIPT_NAME_PRE VARCHAR2(256); NULL
C_FIXUP_SCRIPT_NAME_POST VARCHAR2(256) NULL
 Flashback Log Size
C_MIN_FLASHBACK_KB_PER_PDB NUMBER 333 * 1024
START_VER_FOR_2_DIGIT_COMPARE NUMBER 18
 Indexes By Pool Name
cs_idx V$PARAMETER.NAME%TYPE 'db_cache_size'
jv_idx V$PARAMETER.NAME%TYPE 'java_pool_size'
lp_idx V$PARAMETER.NAME%TYPE 'large_pool_size'
mt_idx V$PARAMETER.NAME%TYPE 'memory_target'
pt_idx V$PARAMETER.NAME%TYPE 'pga_aggregate_target'
st_idx V$PARAMETER.NAME%TYPE 'sga_target'
sp_idx V$PARAMETER.NAME%TYPE 'shared_pool_size'
sr_idx V$PARAMETER.NAME%TYPE 'streams_pool_size'
 Severity Check Level
c_check_level_success NUMBER 1
c_check_level_warning NUMBER 2
c_check_level_info NUMBER 3
c_check_level_error NUMBER 4
c_check_level_recommend NUMBER 5
 Severity Check Type
c_param_type_version NUMBER -1
c_param_type_other NUMBER 0
c_param_type_string NUMBER 2
c_param_type_number NUMBER 3
c_param_type_number_alt NUMBER 6
 Substitution Delimiter
C_SUBSTITUTION_DELIMITER_OPEN CHAR(1) '{'
C_SUBSTITUTION_DELIMITER_CLOSE CHAR(1) '}'
 Oracle 11.2 Users, not defined as a CONSTANT
orcl_usrs112 VARCHAR2(4000) '''ANONYMOUS'','
'APEX_040200'',
''APEX_PUBLIC_USER'',
''APPQOSSYS'',
''AUDSYS'',
''CTXSYS'',
''DBHADOOP'',
''DBSNMP'',''DIP'',
''DV_ACCTMGR'',
''DVF'',''DVSYS'',
''EXFSYS'',
''FLOWS_FILES'',
''GDS_CATALOG_SELECT'',
''GSMADMIN_INTERNAL'',
''GSMCATUSER'',
''GSMUSER'',
''LBACSYS'',
''MDDATA'',
''MDSYS'',''OJVMSYS'','
'OLAPSYS'',
''OPTIMIZER_PROCESSING_RATE'',
''ORACLE_OCM'',
''ORDDATA'',
''ORDPLUGINS'',
''ORDSYS'',
''OUTLN'',
''PROVISIONER'',
''SI_INFORMTN_SCHEMA'',
''SPATIAL_CSW_ADMIN_USR'',
''SPATIAL_WFS_ADMIN_USR'',
''SYS'','
'SYSBACKUP'',
''SYSDG'',
''SYSKM'',
''SYSTEM'',
''TSMSYS'',
''WMSYS'',''XDB'',
''XS$NULL'',
''XS_NSATTR_ADMIN''';
Data Types TYPE string_array_t IS TABLE OF VARCHAR2(32767);

TYPE string_array_collection_t IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;

TYPE detail_t IS RECORD (
detail      VARCHAR2(4000),
detail_type VARCHAR2(30));

TYPE number_array_t IS TABLE OF NUMBER;

TYPE messagevalue_t is RECORD (
position NUMBER,
value    CLOB);

TYPE messagevalues_t IS TABLE OF messagevalue_t INDEX BY BINARY_INTEGER;

TYPE message_t is RECORD (
-- msg_text VARCHAR2(4000), -- aka the RULE
-- cause VARCHAR2(4000),    -- aka the BROKEN_RULE
-- action VARCHAR2(4000),
-- detail detail_t
id            VARCHAR2(4000),
messagevalues messagevalues_t);

TYPE fixup_t IS RECORD (
fixup_type VARCHAR2(30),
fixAtStage VARCHAR2(30));

TYPE component_t IS RECORD (
cid     VARCHAR2(30), -- component id
cname   VARCHAR2(45), -- component name
script  VARCHAR2(128), -- upgrade script name
version VARCHAR2(30), -- version
status  VARCHAR2(15), -- component status
install BOOLEAN);

TYPE components_t IS TABLE OF component_t INDEX BY BINARY_INTEGER;

TYPE tablespace_t IS RECORD (
name            VARCHAR2(128),
additional_size INTEGER,
min             INTEGER,
alloc           INTEGER,
inc_by          INTEGER,
fauto           BOOLEAN,
contents        sys.dba_tablespaces.contents%type);

TYPE tablespaces_t IS TABLE OF tablespace_t INDEX BY BINARY_INTEGER;

TYPE archivelogs_t IS RECORD (
name            VARCHAR2(128),
additional_size INTEGER);

TYPE flashbacklogs_t IS RECORD (
name            VARCHAR2(128),
additional_size INTEGER);

TYPE rollback_segment_t IS RECORD (
name     VARCHAR2(128),
tablespc VARCHAR2(128),
status   VARCHAR2(31),
auto     INTEGER,
inuse    INTEGER,
next     INTEGER,
max_ext  INTEGER);

TYPE rollback_segments_t IS TABLE OF rollback_segment_t
INDEX BY BINARY_INTEGER;

TYPE flashback_info_t IS RECORD (
name         VARCHAR2(513), -- name
limit        INTEGER, -- space limit
used         INTEGER, -- Used
dsize        INTEGER, -- db_recovery_file_dest_size
reclaimable  INTEGER,
files        INTEGER, -- number of files
min_fra_size INTEGER);

TYPE fra_info_t IS RECORD (
name V$RECOVERY_FILE_DEST.NAME%TYPE, -- name/path
limit              INTEGER, -- db_recovery_file_dest_size (bytes)
used               INTEGER, -- Used (bytes)
dsize              INTEGER, -- destination size
reclaimable        INTEGER, -- bytes reclaimable
files              INTEGER, -- number of files
avail              INTEGER, -- bytes available in FRA
min_archive_gen    INTEGER, -- minimum archive logs (bytes) estimated
-- to be generate during upgrade
min_flashback_gen  INTEGER, -- rough minimum flashback logs (bytes)
-- to be generated during upgrade
min_fra_size       INTEGER, -- new db_recovery_file_dest_size to set
min_freespace_reqd INTEGER, -- min free space needed for logs
-- to be generated during upgrade
additional_size    INTEGER); -- additional size + limit = min_fra_size

-- TYPE ARCHive DESTination RECORD Type
-- stores info from v$archive_dest if there's at least 1 non-fra destination
TYPE archiveDest_info_t IS RECORD (
dest_name       V$ARCHIVE_DEST.DEST_NAME%TYPE, -- log_archive_dest_<N>
destination     V$ARCHIVE_DEST.DESTINATION%TYPE, -- destination <path>
status          V$ARCHIVE_DEST.STATUS%TYPE, -- e.g., VALID/INACTIVE
min_archive_gen NUMBER); -- min free space needed for archivelogs
-- to be generated during upgrade

TYPE systemresource_t IS RECORD (
tablespaces       tablespaces_t,
archivelogs       archivelogs_t,
flashbacklogs     flashbacklogs_t,
rollback_segments rollback_segments_t,
flashback_info    flashback_info_t,
archivedest_info  archiveDest_info_t);

-- @@Datatype

TYPE parameter_xml_record_t IS RECORD (
name            V$PARAMETER.NAME%TYPE,
value           V$PARAMETER.VALUE%TYPE, -- used only when a parameter is being renamed.
type            V$PARAMETER.TYPE%TYPE,
isdefault       V$PARAMETER.ISDEFAULT%TYPE,
is_obsoleted    BOOLEAN,
is_deprecated   BOOLEAN,
renamed_to_name VARCHAR2(80),
new_value       VARCHAR2(80),
min_value       INTEGER,
min_char_value  VARCHAR2(20)); -- used for COMPATIBLE whose value is a pseudo number

TYPE parameters_t IS TABLE OF parameter_xml_record_t INDEX BY BINARY_INTEGER;

TYPE initparams_t IS RECORD (
update_params     parameters_t,
nonhandled_params parameters_t, -- at 12.2, will have no params. maintained for XML compatibility only.
rename_params     parameters_t,
remove_params     parameters_t);

TYPE preupgradecheck_t IS RECORD (
id          VARCHAR2(30), -- the CHECK name
severity    NUMBER, -- "status" attribute in xml
-- message message_t,
rule        message_t,
broken_rule message_t,
action      message_t,
detail      detail_t,
fixup       fixup_t);

TYPE preupgradechecks_t IS TABLE OF preupgradecheck_t
INDEX BY BINARY_INTEGER;

TYPE rdbmsup_t IS RECORD (
xmlns               VARCHAR2(1000),
version             VARCHAR2(30),
upgradable_versions VARCHAR2(1000));

TYPE database_t IS RECORD (
name          VARCHAR2(256),
containerName VARCHAR2(256),
containerId   NUMBER,
version       VARCHAR2(30),
compatibility VARCHAR2(30),
blocksize     INTEGER,
platform      VARCHAR2(100),
timezoneVer   NUMBER,
log_mode      VARCHAR2(30),
readonly      BOOLEAN,
edition_val   VARCHAR2(30)); -- SYS.REGISTRY$.EDITION%TYPE - except it is not avail on 10.2

-- this table holds computation info for the memory pools we are
-- making sizing recommendations for
TYPE memparameter_record_t IS RECORD (
name      V$PARAMETER.NAME%TYPE,
old_value NUMBER, -- current value
min_value NUMBER, -- minimum value for upgrade
new_value NUMBER, -- new/recommended value for upgrade
dif_value NUMBER,                     -- diff of old_value - min_value
isdefault V$PARAMETER.ISDEFAULT%TYPE, -- is the value defaulted?
display   BOOLEAN);                   -- display recommended value? T/F

TYPE memparameter_table_t IS TABLE of memparameter_record_t
INDEX BY V$PARAMETER.NAME%TYPE;

mem_parameters memparameter_table_t; -- MEMory PARAMETERS table

db_is_cdb            BOOLEAN; -- is db a cdb? T/F
db_is_root           BOOLEAN; -- is db a ROOT container database? T/F
db_n_pdbs            NUMBER; -- total Number of PDBs as queried from v$pdbs
is_show_mem_sizes    BOOLEAN := FALSE; -- SHOW/display minimum MEMory SIZES?
-- init to FALSE
is_archivelog_in_fra BOOLEAN := FALSE; -- are archive logs in FRA? T/F

-- Provide mappings from a c_check_level_* constant to its string evuivalent used
-- for XML output only. These strings have specific meanings to DBUA. Do not
-- change without corresponding change in the upgrade.xsd and DBUA buy-in.
-- IMPORTANT: The order of these strings must correspond to the constants C_CHECK_LEVEL_*

check_level_strings string_array_t := new string_array_t('SUCCESS','WARNING','INFO','ERROR','RECOMMEND');

TYPE check_level_ints_t IS TABLE OF NUMBER INDEX BY VARCHAR2(20);
check_level_ints check_level_ints_t;
Dependencies
DBA_TABLESPACES V$ARCHIVE_DEST V$RECOVERY_FILE_DEST
DBMS_ASSERT V$PARAMETER  
Documented No
Exceptions
Error Code Reason
ORA-904 e_noColumnFound
ORA-955 nameAlreadyExists
ORA-1013 e_userCancel
ORA-2003 e_noParamFound
ORA-3113 e_noOraConnect1
ORA-3114 e_noOraConnect2
ORA-6550 e_undefinedFunction
ORA-29283 invalidFileOperation
ORA-29292 invalidFileRename
ORA-29553 classInUse
ORA-44003 stringNotSimpleSQLName
ORA-20000 Pre-Upgrade Package <resource> does not exist
ORA-20000 Functions must be run AS SYSDBA
First Available 12.1
Security Model Owned by SYS with no privileges granted
Source {$ORACLE_HOME}/rdbms/admin/preupgrade_package.sql
SQL> @?/rdbms/admin/preupgrade_package.sql
Enter value for 4:
old 8: pdb_list VARCHAR2(1000) := sys.DBMS_ASSERT.noop('&4');
new 8: pdb_list VARCHAR2(1000) := sys.DBMS_ASSERT.noop('');

SP2-0808: Package created with compilation warnings

Errors for PACKAGE DBMS_PREUP:

LINE/COL ERROR
-------- -----------------------------------------------------------------
1/1 PLW-05018: unit DBMS_PREUP omitted optional AUTHID clause;
default value DEFINER used

8/14 PLW-06026: package specification exposes global variable PDB_LIST
13/11 PLW-06026: package specification exposes global variable DEBUG
14/23 PLW-06026: package specification exposes global variable
DEBUG_ARCHIVE_FRA

15/23 PLW-06026: package specification exposes global variable
PDBGSIZERESOURCES

49/29 PLW-06026: package specification exposes global variable
C_FIXUP_SCRIPT_NAME_PRE

52/30 PLW-06026: package specification exposes global variable
C_FIXUP_SCRIPT_NAME_POST

80/18 PLW-06026: package specification exposes global variable
ORCL_USRS112

180/9 PLW-05004: identifier VALUE is also declared in STANDARD or is a
SQL builtin

180/9 PLW-06010: keyword "VALUE" used as a defined name
210/9 PLW-06010: keyword "NAME" used as a defined name
212/9 PLW-05004: identifier MIN is also declared in STANDARD or is a
SQL builtin

212/9 PLW-06010: keyword "MIN" used as a defined name
222/9 PLW-06010: keyword "NAME" used as a defined name
227/9 PLW-06010: keyword "NAME" used as a defined name
232/9 PLW-06010: keyword "NAME" used as a defined name
237/9 PLW-05004: identifier NEXT is also declared in STANDARD or is a
SQL builtin

244/9 PLW-06010: keyword "NAME" used as a defined name
245/9 PLW-06010: keyword "LIMIT" used as a defined name
254/9 PLW-06010: keyword "NAME" used as a defined name
255/9 PLW-06010: keyword "LIMIT" used as a defined name
294/9 PLW-06010: keyword "NAME" used as a defined name
295/9 PLW-05004: identifier VALUE is also declared in STANDARD or is a
SQL builtin

295/9 PLW-06010: keyword "VALUE" used as a defined name
296/9 PLW-06010: keyword "TYPE" used as a defined name
335/9 PLW-06010: keyword "NAME" used as a defined name
352/7 PLW-06010: keyword "NAME" used as a defined name
363/21 PLW-06026: package specification exposes global variable
MEM_PARAMETERS

365/23 PLW-06026: package specification exposes global variable
DB_IS_CDB

366/23 PLW-06026: package specification exposes global variable
DB_IS_ROOT

367/23 PLW-06026: package specification exposes global variable
DB_N_PDBS

368/23 PLW-06026: package specification exposes global variable
IS_SHOW_MEM_SIZES

370/26 PLW-06026: package specification exposes global variable
IS_ARCHIVELOG_IN_FRA

378/25 PLW-06026: package specification exposes global variable
CHECK_LEVEL_STRINGS

380/22 PLW-06026: package specification exposes global variable
CHECK_LEVEL_INTS

392/54 PLW-07203: parameter 'CHECK_RESULT_XML' may benefit from use of
the NOCOPY compiler hint

400/29 PLW-07203: parameter 'RESULT_XML' may benefit from use of the
NOCOPY compiler hint

402/48 PLW-07203: parameter 'RESULT_XML' may benefit from use of the
NOCOPY compiler hint

404/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

405/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

406/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

407/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

408/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

409/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

410/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

411/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

412/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

413/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

414/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

415/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

416/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

417/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

418/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

419/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

420/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

421/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

422/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

423/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

424/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

425/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

426/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

427/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

428/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

429/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

430/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

431/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

432/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

433/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

434/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

435/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

436/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

437/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

438/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

439/49 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

440/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

441/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

442/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

443/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

444/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

445/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

446/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

447/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

448/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

449/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

450/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

451/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

452/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

453/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

454/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

455/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

456/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

457/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

458/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

459/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

460/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

461/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

462/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

463/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

464/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

465/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

466/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

467/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

468/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

469/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

470/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

471/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

472/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

473/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

474/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

475/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

476/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

477/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

478/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

479/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

480/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

481/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

482/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

483/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

484/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

485/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

486/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

487/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

488/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

489/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

490/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

491/47 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

492/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

493/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

494/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

495/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

496/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

497/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

498/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

499/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

500/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

501/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

502/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

503/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

504/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

505/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

506/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

507/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

508/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

509/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

510/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

511/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

512/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

513/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

514/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

515/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

516/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

517/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

518/46 PLW-07203: parameter 'RESULT_TXT' may benefit from use of the
NOCOPY compiler hint

Enter value for c_apex_version_4_dots:
old 220: high_version_apex VARCHAR2(40) := '&C_APEX_VERSION_4_DOTS';
new 220: high_version_apex VARCHAR2(40) := '';
Enter value for c_upgradable_versions:
old1146: 'SupportedOracleVersions="&C_UPGRADABLE_VERSIONS">' || crlf;
new1146: 'SupportedOracleVersions="">' || crlf;
Enter value for c_minimum_compatible:
old1425: '&C_MINIMUM_COMPATIBLE' || '" type="VERSION"/>' || crlf;
new1425: '' || '" type="VERSION"/>' || crlf;
Enter value for c_upgradable_versions:
old5440: IF (instr(',&C_UPGRADABLE_VERSIONS,', ',' || db_version_3_dots || ',') = 0 and
new5440: IF (instr(',,', ',' || db_version_3_dots || ',') = 0 and
Enter value for c_upgradable_versions:
old5441: instr(',&C_UPGRADABLE_VERSIONS,', ',' || db_version_0_dots || ',') = 0) THEN
new5441: instr(',,', ',' || db_version_0_dots || ',') = 0) THEN
Enter value for c_upgradable_versions:
old5451: '&C_UPGRADABLE_VERSIONS',
new5451: '',
Enter value for c_minimum_compatible:
old5480: '&C_MINIMUM_COMPATIBLE',
new5480: '',
Enter value for c_minimum_compatible:
old5481: dbms_registry_extended.occurs('&C_MINIMUM_COMPATIBLE','.') ) >= 0) THEN
new5481: dbms_registry_extended.occurs('','.') ) >= 0) THEN
Enter value for c_minimum_compatible:
old5487: '&C_MINIMUM_COMPATIBLE',
new5487: '',
Enter value for c_oracle_high_version_4_dots:
old5983: IF sys.dbms_registry.release_version = '&C_ORACLE_HIGH_VERSION_4_DOTS' THEN
new5983: IF sys.dbms_registry.release_version = '' THEN
Enter value for c_ltz_content_ver:
old6714: IF (db_tz_version <= &C_LTZ_CONTENT_VER) THEN
new6714: IF (db_tz_version <= ) THEN
Enter value for c_ltz_content_ver:
old6718: new string_array_t(db_version_4_dots, to_char(db_tz_version),C_ORACLE_HIGH_VERSION_0_DOTS,to_char(&C_LTZ_CONTENT_VER)),
new6718: new string_array_t(db_version_4_dots, to_char(db_tz_version),C_ORACLE_HIGH_VERSION_0_DOTS,to_char()),
Enter value for c_ltz_content_ver:
old6732: IF (db_tz_version >= &C_LTZ_CONTENT_VER) THEN
new6732: IF (db_tz_version >= ) THEN
Enter value for c_ltz_content_ver:
old6736: new string_array_t(db_version_4_dots, to_char(db_tz_version),C_ORACLE_HIGH_VERSION_0_DOTS,to_char(&C_LTZ_CONTENT_VER)),
new6736: new string_array_t(db_version_4_dots, to_char(db_tz_version),C_ORACLE_HIGH_VERSION_0_DOTS,to_char()),
Enter value for c_upgradable_versions:
old7798: (instr(',&C_UPGRADABLE_VERSIONS,',
new7798: (instr(',,',
Enter value for c_default_processes:
old10351: store_minval_param('processes', &C_DEFAULT_PROCESSES);
new10351: store_minval_param('processes', );
Enter value for c_oracle_high_version_4_dots:
old11018: C_ORACLE_HIGH_VERSION_4_DOTS := '&C_ORACLE_HIGH_VERSION_4_DOTS';
new11018: C_ORACLE_HIGH_VERSION_4_DOTS := '';
Enter value for c_oracle_high_version_0_dots:
old11019: C_ORACLE_HIGH_VERSION_0_DOTS := '&C_ORACLE_HIGH_VERSION_0_DOTS';
new11019: C_ORACLE_HIGH_VERSION_0_DOTS := '';

Warning: Package Body created with compilation errors.

Errors for PACKAGE BODY DBMS_PREUP:

LINE/COL ERROR
-------- -----------------------------------------------------------------
6714/24 PLS-00103: Encountered the symbol ")" when expecting one of the
following:
( - + all case mod new null <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
continue any avg count current max min prior some sql stddev
sum variance execute forall merge standard time timestamp
interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set
specification>
<an

6732/24 PLS-00103: Encountered the symbol ")" when expecting one of the
following:
( - + all case mod new null <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
continue any avg count current max min prior some sql stddev
sum variance execute forall merge standard time timestamp
interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set
specification>
<an

9266/42 PLS-00103: Encountered the symbol "JOIN" when expecting one of
the following:
, ; for group having intersect minus order start union where
connect
The symbol ", was inserted before "JOIN" to continue.

9267/9 PLS-00103: Encountered the symbol "ON" when expecting one of the
following:
, ; for group having intersect minus order start union where connect
Subprograms
AMD_EXISTS_CHECK INVALID_USR_TABLEDATA_CHECK POST_JVM_MITIGAT_PATCH_FIXUP
APEX_MANUAL_UPGRADE_CHECK INVALID_USR_TABLEDATA_FIXUP PRE_DISABLE_BCT_UPG_CHECK
APPLY_PROGRESS_OPT_CHECK JAVAVM_JIT_MEMORY_CHECK PRE_FIXED_OBJECTS_CHECK
APPL_PRINCIPAL_CHECK JAVAVM_STATUS_CHECK PRE_FIXED_OBJECTS_FIXUP
AUDIT_RECORDS_CHECK JOB_QUEUE_PROCESS_0_CHECK PURGE_RECYCLEBIN_CHECK
AUDTAB_ENC_TS_CHECK JOB_TABLE_INTEGRITY_CHECK PURGE_RECYCLEBIN_FIXUP
AWR_DBIDS_PRESENT_CHECK JVM_MITIGATION_PATCH_CHECK PWD_VFN_FUNC_CHECK
CASE_INSENSITIVE_AUTH_CHECK JVM_MITIGATION_PATCH_FIXUP PWFILE_LOCAL_ADMIN_CHECK
COMPATIBLE_NOT_SET_CHECK MIN_ARCHIVE_DEST_SIZE_CHECK REMOTE_REDO_CHECK
COMPATIBLE_PARAMETER_CHECK MIN_RECOVERY_AREA_SIZE_CHECK REPCAT_SETUP_CHECK
CONC_RES_MGR_CHECK MV_REFRESH_CHECK RLP_PARAM_CHECK
CONC_RES_MGR_FIXUP NETWORK_ACL_PRIV_CHECK RMAN_RECOVERY_VERSION_CHECK
CYCLE_NUMBER_CHECK NEW_TIME_ZONES_EXIST_CHECK ROLLBACK_SEGMENTS_CHECK
DATA_MINING_OBJECT_CHECK OBJERROR_CHECK RUN_ALL_CHECKS
DBMS_STATS_METHOD_OPT_CHECK OBJERROR_FIXUP RUN_CHECK
DEFAULT_RESOURCE_LIMIT_CHECK OLAP_PAGE_POOL_SIZE_CHECK RUN_FIXUP
DEPEND_USR_TABLES_CHECK OLD_TIME_ZONES_EXIST_CHECK RUN_FIXUP_ONLY
DEPEND_USR_TABLES_FIXUP OLS_SYS_MOVE_CHECK RUN_PREUPGRADE
DESUPPORT_RAC_ON_SE_CHECK OLS_VERSION_CHECK STREAMS_SETUP_CHECK
DICTIONARY_STATS_CHECK ORACLE_RESERVED_USERS_CHECK SYNC_STANDBY_DB_CHECK
DICTIONARY_STATS_FIXUP ORDIMAGEINDEX_CHECK SYS_DEFAULT_TABLESPACE_CHECK
DIR_SYMLINKS_CHECK ORDIM_DESUPPORT_CHECK SYS_DEFAULT_TABLESPACE_FIXUP
DV_NO_OLS_CHECK ORDIM_INFO_DESUPPORT_CHECK TABLESPACES_CHECK
DV_ROLE_GRANTS_CHECK OVERLAP_NETWORK_ACL_CHECK TABLESPACES_INFO_CHECK
DV_SIMULATION_CHECK PARAMETER_DEPRECATED_CHECK TDE_IN_USE_CHECK
EDS_EXISTS_CHECK PARAMETER_MIN_VAL_CHECK TEMPTS_ALLOFFLINE_CHECK
EM_PRESENT_CHECK PARAMETER_MIN_VAL_FIXUP TEMPTS_NOTEMPFILE_CHECK
ENABLED_INDEXES_TBL_CHECK PARAMETER_NEW_NAME_VAL_CHECK TRGOWNER_NO_ADMNDBTRG_CHECK
ENABLED_INDEXES_TBL_FIXUP PARAMETER_NEW_NAME_VAL_FIXUP TRGOWNER_NO_ADMNDBTRG_FIXUP
EXCLUSIVE_MODE_AUTH_CHECK PARAMETER_OBSOLETE_CHECK TS_FORUPG_STATUS_CHECK
EXF_RUL_EXISTS_CHECK PARAMETER_OBSOLETE_FIXUP TWO_PC_TXN_EXIST_CHECK
FILES_BACKUP_MODE_CHECK PARAMETER_RENAME_CHECK ULTRASEARCH_DATA_CHECK
FILES_NEED_RECOVERY_CHECK PARAMETER_RENAME_FIXUP UNDERSCORE_EVENTS_CHECK
FIXED_TABLES_DEPENDENCY_CHECK PA_PROFILE_CHECK UNIAUD_RECORDS_IN_FILE_CHECK
GET_CON_ID PENDING_DST_SESSION_CHECK UNIAUD_RECORDS_IN_FILE_FIXUP
GET_CON_NAME PGA_AGGREGATE_LIMIT_CHECK UNIAUD_TAB_CHECK
HIDDEN_PARAMS_CHECK POST_DICTIONARY_CHECK UPG_BY_STD_UPGRD_CHECK
INVALID_LAF_CHECK POST_DICTIONARY_FIXUP UTLRP_RUN_SERIAL_CHECK
INVALID_OBJECTS_EXIST_CHECK POST_DISABLE_BCT_UPG_CHECK XBRL_VERSION_CHECK
INVALID_SYS_TABLEDATA_CHECK POST_FIXED_OBJECTS_CHECK XDB_RESOURCE_TYPE_CHECK
INVALID_SYS_TABLEDATA_FIXUP POST_JVM_MITIGAT_PATCH_CHECK  
 
AMD_EXISTS_CHECK
Checks for AMD in the registry dbms_preup.amd_exists_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.amd_exists_check(outVal);
  dbms_output.put_line('Return value: ' || TO_CHAR(retVal));
  dbms_output.put_line(outVal);
END;
/
Return value: 1

PL/SQL procedure successfully completed.
 
APEX_MANUAL_UPGRADE_CHECK
APEX check dbms_preup.apex_manual_upgrade_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.apex_manual_upgrade_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
APPLY_PROGRESS_OPT_CHECK (new 21c)
Detects whether the apply progress table needs to be recovered before upgrade dbms_preup.apply_progress_opt_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.apply_progress_opt_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
APPL_PRINCIPAL_CHECK
Detects whether the XDB Application Principals were used dbms_preup.appl_principal_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.appl_principal_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
AUDIT_RECORDS_CHECK
Audit Records check dbms_preup.audit_records_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB(1024);
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.audit_records_check(OutVal);
  dbms_output.put_line(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal));
END;
/
 
AWR_DBIDS_PRESENT_CHECK
Checks to determine if inactive DBIDs are present in the AWR dbms_preup.awr_dbids_present_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.awr_dbids_present_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
AUDTAB_ENC_TS_CHECK
Audit Table check dbms_preup.audtab_enc_ts_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OUTVal  CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.audtab_enc_ts_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
CASE_INSENSITIVE_AUTH_CHECK
Case insensitive check dbms_preup.case_insensitive_auth_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.case_insensitive_auth_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
COMPATIBLE_NOT_SET_CHECK
Compatible parameter check dbms_preup.compatible_not_set_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.compatible_not_set_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
COMPATIBLE_PARAMETER_CHECK
Compatible Parameter check dbms_preup.compatible_parameter_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.compatible_parameter_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
0: ERROR: --> Compatible set too low "compatible" currently set at and must be set to at least 11.0.0 prior to upgrading the database. Update your init.ora or spfile to make this change.
 
CONC_RES_MGR_CHECK
Resource Manager check dbms_preup.conc_res_mgr_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.conc_res_mgr_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
CONC_RES_MGR_FIXUP
If version 11.2 sets dbms_stats.global_prefs CONCURRENT to FALSE, otherwise to OFF dbms_preup.conc_res_mgr_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.conc_res_mgr_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
CYCLE_NUMBER_CHECK
Undocumented dbms_preup.cycle_number_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.cycle_number_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
DATA_MINING_OBJECT_CHECK
Data Mining check dbms_preup.data_mining_object_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.data_mining_object_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
DBMS_STATS_METHOD_OPT_CHECK
dbms_stats METHOD_OPT check dbms_preup.dbms_stats_method_opt_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.dbms_stats_mehtod_opt_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
DEFAULT_RESOURCE_LIMIT_CHECK
Default Resource Limit check dbms_preup.default_resource_limit_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB(1024);
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.default_resource_limit_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
DEPEND_USR_TABLES_CHECK
Undocumented depend_usr_tables_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB(1024);
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.depend_usr_tables_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
DEPEND_USR_TABLES_FIXUP
Performs the following EXECUTE IMMEDIATE 'ALTER TABLE ' || t_full_name || ' UPGRADE INCLUDING DATA'; in a cursor loop based on criteria in the cursor's WHERE clause dbms_preup.depend_usr_tables_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.depend_usr_tables_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
DESUPPORT_RAC_ON_SE_CHECK
Validates whether the database is RAC running on Standard Edition, SE1, or SE2 dbms_preup.deupport_rac_on_se_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.desupport_rac_on_se_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
DICTIONARY_STATS_CHECK
Data Dictionary Stats check dbms_preup.dictionary_stats_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.dictionary_stats_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
DICTIONARY_STATS_FIXUP
Runs dbms_stats gather_dicitonary_stats dbms_preup.dictionary_stats_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.dictionary_stats_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
DIR_SYMLINKS_CHECK
WARNING check, with a POST upgrade fixup

Returns Failure if the dbms_utility function does not exist or if it does exist and the check is being run in the target release and any problem objects are found (for post-upgrade-fixup check)

Returns Success if it does exist in the old release, even if problem directories are found the PRE dir_symlinks_exist_check will handle that scenario.
dbms_preup.dir_symlinks_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.dir_symlinks_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
DV_NO_OLS_CHECK (new 21c)
Validates whether OLS is not installed when DV is installed dbms_preup.dv_no_ols_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.dv_no_ols_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
DV_ROLE_GRANTS_CHECK (new 21c)
Check returns c_failure if any of the deprecated DV roles (DV_PUBLIC, DV_REALM_RESORCE, or DV_REALM_OWNER) is granted to non-default users/roles dbms_preup.dv_role_grants_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.dv_role_grant_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
DV_SIMULATION_CHECK
Database Vault Check dbms_preup.dv_simulation_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.dv_simulation_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
EDS_EXISTS_CHECK
Detects whether the deprecated dbms_logstdby extended datatype (EDS) is in use dbms_preup.eds_exists_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.eds_exists_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
EM_PRESENT_CHECK
Enterprise Manager check dbms_preup.em_present_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.em_present_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
ENABLED_INDEXES_TBL_CHECK
Checks to see if the table sys.enabled$indexes exists dbms_preup.enabled_indexes_tbl_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.enabled_indexes_tbl_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
ENABLED_INDEXES_TBL_FIXUP
Drops the table sys.enabled$indexes if it exists dbms_preup.enabled_indexes_tbl_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.enabled_indexes_tbl_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
EXCLUSIVE_MODE_AUTH_CHECK
Exclusive Mode check dbms_preup.exclusive_mode_auth_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.exclusive_mode_auth_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
EXF_RUL_EXISTS_CHECK
Expression Filter Rules check dbms_preup.exf_rul_exists_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.exf_rul_exists_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
FILES_BACKUP_MODE_CHECK
Backup check dbms_preup.files_backup_mode_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.files_backup_mode_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
FILES_NEED_RECOVERY_CHECK
Files needing recovery check dbms_preup.files_need_recovery_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.files_need_recovery_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
FIXED_TABLES_DEPENDENCY_CHECK (new 21c)
Warns user about user and/or 3rd-party views depending on X$ tables dbms_preup.fixed_tables_dependency_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 OutVal CLOB;
 RetVal NUMBER;
BEGIN
  RetVal := dbms_preup.fixed_tables_dependency_check(OutVal);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || OutVal);
END;
/
 
GET_CON_ID
Returns the container identifier dbms_preup.get_con_id RETURN NUMBER;
SELECT dbms_preup.get_con_id
FROM dual;
 
GET_CON_NAME
Returns the container name dbms_preup.get_con_name RETURN VARCHAR2;
SELECT dbms_preup.get_con_name
FROM dual;
 
HIDDEN_PARAMS_CHECK
Returns from.v$parameter underscore where ismodified != 'MODIFIED dbms_preup.hidden_params_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.hidden_params_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
INVALID_LAF_CHECK
Invalid Log Archive Format check dbms_preup.invalid_laf_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.invalid_laf_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
INVALID_OBJECTS_EXIST_CHECK
Returns information about invalid objects and the count dbms_preup.invalid_objects_exist_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.invalid_objects_exist_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
INVALID_SYS_TABLEDATA_CHECK
Checks for invalid schemas from registry$ and user$ tables dbms_preup.invalid_sys_tabledata_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.invalid_sys_tabledata_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
INVALID_SYS_TABLEDATA_FIXUP
Fixes issues with invalid schemas from registry$ and user$ tables dbms_preup.invalid_sys_tabledata_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.invalid_sys_tabledata_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
INVALID_USR_TABLEDATA_CHECK
Check for invalid data in tables dependent on Oracle-Maintained types by looking through dependency$ for types owned by schemas in registry$ or user$ dbms_preup.invalid_usr_tabledata_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.invalid_usr_tabledata_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
INVALID_USR_TABLEDATA_FIXUP
Fixes invalid data in tables dependent on Oracle-Maintained types by looking through dependency$ for types owned by schemas in registry$ or user$ dbms_preup.invalid_usr_tabledata_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.invalid_usr_tabledata_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
JAVAVM_JIT_MEMORY_CHECK (new 21c)
Return success for WIN_NT platforms.
The JIT memory model is different on this platform
dbms_preup.javavm_hit_memory_check(
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.javavm_jit_memory_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
JAVAVM_STATUS_CHECK
Java Virtual Machine Status check dbms_preup.javavm_status_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.javavm_status_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
JOB_QUEUE_PROCESS_0_CHECK
Returns the value of the parameter job_queue_processes. The CLOB is used to return an error message if the check raises and exception dbms_preup.job_queue_process_0_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.job_queue_process_0_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
JOB_TABLE_INTEGRITY_CHECK
Check the contents of job$ to avoid surprises during upgrade dbms_preup.job_table_integrity_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.job_table_integrity_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
JVM_MITIGATION_PATCH_CHECK
Verifies the javavm mitigation patch is installed and active dbms_preup.jvm_mitigation_patch_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.jvm_mitigation_patch_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
JVM_MITIGATION_PATCH_FIXUP
Runs the internal procedure SYS.DBMS_JAVA_DEV.ENABLE dbms_preup.jvm_mitigation_patch_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.jvm_mitigation_patch_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
MIN_ARCHIVE_DEST_SIZE_CHECK
Determine free space needed for when Archivelog mode is enabled and destination is NOT in the FRA dbms_preup.min_archive_dest_size_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.min_archive_dest_size_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
MIN_RECOVERY_AREA_SIZE_CHECK
Determine minimum free space needed when both Archivelog and Flashback Database are enabled dbms_preup.min_recovery_area_size_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.min_recovery_area_size_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
MV_REFRESH_CHECK
Verifies all MVs are fresh and sumdelta$ is empty dbms_preup.mv_refresh_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.mv_refresh_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
NETWORK_ACL_PRIV_CHECK
looks for existing network ACLs in 11g to issue warnings about a format change in 12c dbms_preup.network_acl_priv_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.network_acl_priv_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
NEW_TIME_ZONES_EXIST_CHECK
New Time Zones check dbms_preup.new_time_zones_exist_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.new_time_zones_exist_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
OBJERROR_CHECK (new 21c)
Counts the number of objerror$ rows that don't have the corresponding obj$.flags bit set dbms_preup.objerror_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.objerror_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
OBJERROR_FIXUP (new 21c)
Deletes objerror$ rows where obj$ bitand(flags,32768)=0 dbms_preup.objerror_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.objerror_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
OLAP_PAGE_POOL_SIZE_CHECK
Returns 1 if the OLAP page pool size has not been set dbms_preup.olap_page_pool_size_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.olap_page_pool_size_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
OLD_TIME_ZONES_EXIST_CHECK
Returns 1 if a valid timezone for upgrade exists dbms_preup.old_time_zones_exist_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.old_time_zones_exist_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
OLS_SYS_MOVE_CHECK
Returns 1 if there the tables SYS.PREUPG_AUD$ does not exist dbms_preup.ols_sys_move_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ols_sys_move_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
OLS_VERSION_CHECK
Verifies that the OLS version is the same as the CATPROC version or is supported for direct upgrade dbms_preup.ols_version_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ols_version_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
ORACLE_RESERVED_USERS_CHECK
Checks for reserved users by name and version number dbms_preup.oracle_reserved_users_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.oracle_reserved_users_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
ORDIMAGEINDEX_CHECK
The upgrade will remove any ORDIMAGE indexes dbms_preup.ordimageindex_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ordimageindex_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
ORDIM_DESUPPORT_CHECK
Warns user about Multimedia desupport starting with 19c dbms_preup.ordim_desupport_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ordim_desupport_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
ORDIM_INFO_DESUPPORT_CHECK (new 21c)
Returns user info about Multimedia desupport starting from 19c dbms_preup.ordim_info_desupport_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ordim_info_desupport_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
OVERLAP_NETWORK_ACL_CHECK
Returns 1 if no NACL overlaps exist dbms_preup.overlap_network_acl_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.overlap_network_acl_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PARAMETER_DEPRECATED_CHECK
Returns a list of deprecated parameters if found dbms_preup.parameter_deprecated_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.parameter_deprecated_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PARAMETER_MIN_VAL_CHECK
Checks that minimum values for a numeric parameter are acceptable dbms_preup.parameter_min_val_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.parameter_min_val_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PARAMETER_MIN_VAL_FIXUP
Fixes any minimum numeric parameter values that are not within the acceptable range dbms_preup.parameter_min_val_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.parameter_min_val_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
PARAMETER_NEW_NAME_VAL_CHECK
Renamed parameters that may or may not requre a new value dbms_preup.parameter_new_name_val_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.parameter_new_name_val_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PARAMETER_NEW_NAME_VAL_FIXUP
At this time Oracle is relying on DBUA to perform the fixup since the <InitParams> are still present dbms_preup.parameter_new_name_val_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.parameter_new_name_val_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
PARAMETER_OBSOLETE_CHECK
Renamed parameters has been that may or may not requre a new value dbms_preup.parameter_obsolete_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.parameter_obsolete_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PARAMETER_OBSOLETE_FIXUP
At this time Oracle is relying on DBUA to perform the fixup since the <InitParams> are still present dbms_preup.parameter_obsolete_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.parameter_obsolete_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
PARAMETER_RENAME_CHECK
Checks for renamed parameters dbms_preup.parameter_rename_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.parameter_rename_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PARAMETER_RENAME_FIXUP
Does nothing: Oracle still relies on DBUA to perform the fixup dbms_preup.parameter_rename_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.parameter_rename_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
PA_PROFILE_CHECK
Returns 1 if view DBA_PRIV_CAPTURES does not exist dbms_preup.pa_profile_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.pa_profile_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PENDING_DST_SESSION_CHECK
Checks for pending distributed transactions before the upgrade dbms_preup.pending_dst_session_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.pending_dst_session_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PGA_AGGREGATE_LIMIT_CHECK
Detects where the database has an pga_aggregate_limit in the spfile that is too small ... it must be >2GB dbms_preup.pga_aggregate_limit_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.pga_aggregate_limit_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
POST_DICTIONARY_CHECK
Rrecommends re-gathering dictionary stats post upgrade. Checks if statistics has been taken after upgrade, if not report it and generate the fixup in the  postupgrade fixup script, after the fixup run, it will not fail and therefore it will report this check as successfull. dbms_preup.post_dictionary_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.post_dictionary_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
POST_DICTIONARY_FIXUP
Executes dictionary stats post upgrade dbms_preup.post_dictionary_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.post_dictionary_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
POST_DISABLE_BCT_UPG_CHECK (new 21c)
Disabling Block Change Tracking during database upgrade is an option if you are running out of memory. Before disabling BCT take into account the time to run a level 0 backup after BCT is re-enabled. dbms_preup.post_disable_bct_upg_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.post_dsable_bct_upg_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
POST_FIXED_OBJECTS_CHECK
Recommends gathering fixed objetcs stats post upgrade dbms_preup.post_fixed_objects_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.post_fixed_objects_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
POST_JVM_MITIGAT_PATCH_CHECK
Looks for an enabled trigger owned by SYS named 'DBMS_JAVA_DEV_TRG' dbms_preup.post_jvm_mitigat_patch_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ppost_jvm_mitigat_patch_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
POST_JVM_MITIGAT_PATCH_FIXUP (new 21c)
Fix-up for javavm_mitigat_patch dbms_preup.post_jvm_mitigat_patch_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 
PRE_DISABLE_BCT_UPG_CHECK (new 21c)
Disabling Block Change Tracking during database upgrade is an option if you are running out of memory. Before disabling BCT take into account the time to run a level 0 backup after BCT is re-enabled. dbms_preup.pre_disable_bct_upg_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.pre_disable_bct_upg_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PRE_FIXED_OBJECTS_CHECK
Checks for stats collection on fixed object tables. If none of the fixed object tables have had stats collected then gather fixed objects stats else do nothing dbms_preup.pre_fixed_objects_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.pre_fixed_objects_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PRE_FIXED_OBJECTS_FIXUP
Executes sys.dbms_stats.gather_fixed_objects_stats dbms_preup.pre_fixed_objects_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.pre_fixed_objects_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
PURGE_RECYCLEBIN_CHECK
Selects the count of objects in sys.recyclebin$ dbms_preup.purge_recyclebin_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.purge_recyclebin_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PURGE_RECYCLEBIN_FIXUP
Executes 'PURGE DBA_RECYCLEBIN' dbms_preup.purge_recyclebin_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.purge_recyclebin_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
PWD_VFN_FUNC_CHECK (new 21c)
Returns c_failure if a user is configured to use profiles having limit for PASSWORD_VERIFY_FUNCTIONS as
VERIFY_FUNCTION and VERIFY_FUNCTION_11G
dbms_preup.pwed_vfn_func_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.remote_redo_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
PWFILE_LOCAL_ADMIN_CHECK (new 21c)
Determines whether the password file is required during the upgrade dbms_preup.result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.remote_redo_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
REMOTE_REDO_CHECK
Checks to detect if REDO configuration is supported for above version 11gR2 dbms_preup.remote_redo_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.remote_redo_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
REPCAT_SETUP_CHECK
Checks for Materialized View replication likely as a result of Oracle dropping Advanced Replication dbms_preup.repcat_setup_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.repcat_setup_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
RLP_PARAM_CHECK
Verifies that the REMOTE_LOGIN_PASSWORDFILE is not SHARED dbms_preup.rlp_param_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.rlp_param_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
RMAN_RECOVERY_VERSION_CHECK
Verifies that recovery catalog schema version is higher than the rman client version dbms_preup.rman_recovery_version_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.rman_recovery_version_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
ROLLBACK_SEGMENTS_CHECK
Checks for the use of manual undo with rollback segments dbms_preup.rollback_segments_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.rollback_segments_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
RUN_ALL_CHECKS
Runs all preupgrade checks dbms_preup.run_all_checks(result_xml OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.run_all_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
RUN_CHECK
Runs a named check dbms_preup.run_check(
check_name IN  VARCHAR2,
result_xml OUT CLOB)
RETURN BOOLEAN;
TBD
 
RUN_FIXUP
Calls a named FIXUP

Overload 1
dbms_preup.run_fixup(check_name IN VARCHAR2) RETURN BOOLEAN;
TBD
Overload 2 dbms_preup.run_fixup(
check_name IN VARCHAR2,
fixup_id   IN NUMBER)
RETURN BOOLEAN;
TBD
 
RUN_FIXUP_ONLY
Calls a named FIXUP with results returned as XML dbms_preup.run_fixup_only(
check_name       IN     VARCHAR2,
check_result_xml IN OUT VARCHAR2)
RETURN BOOLEAN;
TBD
 
RUN_PREUPGRADE
Runs the preupgrade and contains some of the most humorous text to be found in an Oracle script dbms_preup.run_preupgrade(
output_filename IN VARCHAR2 DEFAULT NULL,
xml             IN BOOLEAN  DEFAULT FALSE)
RETURN BOOLEAN;
TBD
 
STREAMS_SETUP_CHECK
Checks for capture resulting from Streams, XStreams, Audit Vault, and Change Data Capture dbms_preup.streams_setup_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.streams_setup_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
SYNC_STANDBY_DB_CHECK
Checks V$ARCHIVE_DEST_STATUS and V$ARCHIVE_DEST for STATUS <> 'VALID' with  GAP_STATUS indicating a gap dbms_preup.sync_standby_db_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.sync_standby_db_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
SYS_DEFAULT_TABLESPACE_CHECK
Verifies schemas SYS and SYSTEM both in SYSTEM tablespace dbms_preup.sys_default_tablespace_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.sys_default_tablespace_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
SYS_DEFAULT_TABLESPACE_FIXUP
Resets schemas SYS and SYSTEM to SYSTEM tablespace if they are not set properly dbms_preup.sys_default_tablespace_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.sys_default_tablespace_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
TABLESPACES_CHECK
If local undo is enabled, each PDB will have its own UNDO tablespace and reported on its respective log, if disabled all PDB's are sharing same UNDO tablespace which is created in cdb$root. Upgrade sizes UNDO tablespace based on the default number of PDB's being upgraded in parallel, with undo space size = (total_space x num_pdbs) upgraded in parallel. dbms_preup.tablespaces_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.tablespaces_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
TABLESPACES_INFO_CHECK
Checks for local undo and autoextend enabled tablespaces dbms_preup.tablespaces_info_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.tablespace_info_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
TDE_IN_USE_CHECK
Reminds the users to check that the database system has access to its TDE Master Encryption Key when TDE is in use dbms_preup.tde_in_use_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.tde_in_use_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
TEMPTS_ALLOFFLINE_CHECK (new 21c)
Detects when the default temporary tablespace has no online files dbms_preup.tempts_alloffline_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.tempts_alloffline_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
TEMPTS_NOTEMPFILE_CHECK
Verifies the temp tablespace is uses a tempfile dbms_preup.tempts_notempfile_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.tempts_notempfile_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
TRGOWNER_NO_ADMNDBTRG_CHECK
Checks for database triggers created by users that didn't receive the privilege directly dbms_preup.trgowner_no_admndbtrg_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.trgowner_no_admndbtrg_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
TRGOWNER_NO_ADMNDBTRG_FIXUP
Fix for TRGOWNER_NO_ADMNDBTRIG check dbms_preup.trgowner_no_admndbtrg_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.trgowner_no_admndbtrg_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
TS_FORUPG_STATUS_CHECK
Makes sure that the default table space for all Oracle owned users is online and in read-write mode dbms_preup.ts_forupg_status_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ts_forupg_status_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
TWO_PC_TXN_EXIST_CHECK
Looks for entries in sys.dba_2pc_pending dbms_preup.two_pc_txn_exist_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.two_pc_exist_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
ULTRASEARCH_DATA_CHECK
Once Ultra Search instance is created the wk$instance table is populated. The logic determines if Ultra Search has data or not by looking up wk$instance table. WKSYS.WK$INSTANCE table exists when Ultra Search is installed. If it's not installed, WKSYS.WK$INSTANCE doesn't exist and the pl/sql block raises exception. dbms_preup.ultrasearch_data_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.ultrasearch_data_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
UNDERSCORE_EVENTS_CHECK
Checks v$parameter2 for names are 'EVENT' and  '_TRACE_EVENTS' and 'ISDEFAULT' is FALSE' dbms_preup.underscore_events_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.underscore_events_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
UNIAUD_RECORDS_IN_FILE_CHECK
 This check reminds user to load the unified audit records from OS spillover audit files to database table before the database is upgraded.

Else, we may not be able to read those unified audit records present in the OS spillover audit files leading to the loss of
security sensitive audit information.
dbms_preup.uniaud_records_in_file_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.uniaud_records_in_file_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
UNIAUD_RECORDS_IN_FILE_FIXUP
Fix for Unified Audit Records check dbms_preup.uniaud_records_in_file_fixup(
result_txt IN OUT VARCHAR2,
pSqlcode   IN OUT NUMBER)
RETURN NUMBER;
DECLARE
 RsltVal VARCHAR2(1024);
 RetVal  NUMBER;
 SQLCode NUMBER;
BEGIN
  RetVal := dbms_preup.uniaud_records_in_file_fixup(RsltVal, SQLCode);
  dbms_output.put_line(TO_CHAR(RetVal) || ': ' || RsltVal);
  dbms_output.put_line(TO_CHAR(SQLCode);
END;
/
 
UNIAUD_TAB_CHECK
Unified Audit in use check dbms_preup.uniaud_tab_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.uniaud_tab_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
UPG_BY_STD_UPGRD_CHECK
Construct a quoted and comma separated list of components that will be upgraded by the upgrade script and verifies them dbms_preup.upg_by_std_upgrd_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.upg_by_std_upgrd_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
UTLRP_RUN_SERIAL_CHECK
Raises a warning if JOB_QUEUE_PROCESSES = 1 dbms_preup.utlrp_run_serial_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.utlrp_run_serial_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
XBRL_VERSION_CHECK
Checks sys.user$ WHERE name=''XBRLSYS' dbms_preup.xbrl_version_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.xbrl_version_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
 
XDB_RESOURCE_TYPE_CHECK
Verifies the attribute order of XDB.XDB$RESOURCE_T is either correct or feasible for patching dbms_preup.xdb_resource_type_check(result_txt OUT CLOB) RETURN NUMBER;
DECLARE
 outVal CLOB;
 retVal NUMBER;
BEGIN
  retVal := dbms_preup.xdb_resource_check(outVal);
  dbms_output.put_line(retVal);
  dbms_output.put_line(outVal);
END;
/
Related Topics
Built-in Functions
Built-in Packages
DBMS_OUTPUT
DBMS_REGISTRY
DBMS_SYSTEM
UTL_FILE
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