Oracle DBMS_DICTIONARY_CHECK
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai is now availble. If you haven't you downloaded already: Why?
Purpose This package is provides an API to assist in the identification of data dictionary metadata inconsistencies.
AUTHID DEFINER
Dependencies SELECT name FROM dba_dependencies WHERE referenced_name = 'DBMS_DICTIONARY_CHECK' UNION
SELECT referenced_name FROM dba_dependencies WHERE name = 'DBMS_DICTIONARY_CHECK'
ORDER BY 1;


Returns 56 objects
Documented Yes
First Available 23ai
Pragmas PRAGMA SUPPEMENTAL_LOG_DATA(default, READ_ONLY);
Security Model Owned by SYS with EXECUTE granted to the DBA role.
Source {ORACLE_HOME}/rdbms/admin/dbmsdictcheck.sql
{ORACLE_HOME}/rdbms/admin/prvtdictcheck.plb
Subprograms
 
CBOHILO (new 23ai)
Invalid histogram metadata check dbms_dictionary_check.cboHiLo;
set serveroutput on

exec dbms_dictionary_check.cboHiLo;

PL/SQL producedure successfully completed.
 
CHECKDUAL (new 23ai)
Invalid entries in dual check dbms_dictionary_check.checkDual;
set serveroutput on

exec dbms_dictionary_check.checkDual;
.- CheckDual ... 2300000000 <= *All Rel* 05/10 20:09:23 PASS

PL/SQL procedure successfully completed.
 
CHKIOTTS (new 23ai)
Invalid entries in dual check dbms_dictionary_check.chkIotTs;
set serveroutput on

exec dbms_dictionary_check.chkIotTs;
.- ChkIotTs ... 2300000000 <= *All Rel* 05/10 20:10:08 PASS

PL/SQL procedure successfully completed.
 
CRITICAL (new 23ai)
Execute "critical" checks only dbms_dictionary_check.critical;
set serveroutput on

exec dbms_dictionary_check.critical;
dbms_dictionary_check on 10-MAY-2023 20:05:03
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 1 Container: CDB$ROOT
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_4532_dictionary_check.trc

Catalog Fixed
Procedure Name                     Version    Vs Release    Timestamp      Result
------------------------------ ... ---------- -- ---------- -------------- ------
.- UndoSeg                     ... 2300000000 <= *All Rel*  05/10 20:05:03 PASS
.- MaxControlfSeq              ... 2300000000 <= *All Rel*  05/10 20:05:03 PASS
.- InvalidTSMaxSCN             ... 2300000000 > 1202000000  05/10 20:05:03 PASS
---------------------------------------
10-MAY-2023 20:05:03 Elapsed: 0 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_4532_dictionary_check.trc

PL/SQL procedure successfully completed.
 
DBMSSCHEMACOPY (new 23ai)
Checks for invalid execution of DBMS_SCHEMA_COPY dbms_dictionary_check.dbmsSchemaCopy;
set serveroutput on

exec dbms_dictionary_check.dmsSchemaCopy;
.- DbmsSchemaCopy ... 2300000000 <= *All Rel* 05/10 20:10:59 PASS

PL/SQL procedure successfully completed.
 
DICTOWNNONDEFAULTSYSTEM (new 23ai)
Checks that the users SYS and SYSTEM have default tablespace SYSTEM dbms_dictionary_check.dictOwnNonDefaultSystem;
set serveroutput on

exec dbms_dictionary_check.dictOwnNonDefaultSystem;
.- DictOwnNonDefaultSYSTEM ... 2300000000 <= *All Rel* 05/10 20:11:15 PASS

PL/SQL procedure successfully completed.
 
DROPPEDROTS (new 23ai)
Checks for valid entries in a read-only tablespace dbms_dictionary_check.droppedROTS;
set serveroutput on

exec dbms_dictionary_check.droppedROTS;
.- DroppedROTS ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS

PL/SQL procedure successfully completed.
 
DUPLICATEBLOCKUSE (new 23ai)
Checks for a segment header block is used by only one segment dbms_dictionary_check.duplicateBlockUse;
set serveroutput on

exec dbms_dictionary_check.duplicateBlockUse;
.- DuplicateBlockUse ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS

PL/SQL procedure successfully completed.
 
DUPLICATEDATAOBJ (new 23ai)
Checks for duplicate segment data_object_id dbms_dictionary_check.duplicateDataObj;
set serveroutput on

exec dbms_dictionary_check.duplicateDataObj;
.- DuplicateDataobj ... 2300000000 <= *All Rel* 05/10 20:13:08 PASS

PL/SQL procedure successfully completed.
 
EXTENTLESSSEG (new 23ai)
Checks SEG$/UET$ mismatch in a dictionary-managed tablespace dbms_dictionary_check.extentlessSeg;
set serveroutput on

exec dbms_dictionary_check.extentlessSeg;

PL/SQL procedure successfully completed.
 
FETUET (new 23ai)
Checks valid free/used space in a dictionary-managed tablespace dbms_dictionary_check.FetUet;
set serveroutput on

exec dbms_dictionary_check.fetUet;
.- FetUet ... 2300000000 <= *All Rel* 05/10 20:13:53 PASS

PL/SQL procedure successfully completed.
 
FILBLKZERO (new 23ai)
Checks for zero data block address dbms_dictionary_check.filBlkZero;
set serveroutput on

exec dbms_dictionary_check.filBlkZero;
.- FilBlkZero ... 2300000000 <= *All Rel* 05/10 20:14:11 PASS

PL/SQL procedure successfully completed.
FULL (new 23ai)
Execute all checks dbms_dictionary_check.full;
set serveroutput on

exec dbms_dictionary_check.full;
dbms_dictionary_check on 10-MAY-2023 20:04:19
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 1 Container: CDB$ROOT
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_4532_dictionary_check.trc

Catalog Fixed
Procedure Name                 Version    Vs Release    Timestamp      Result
-------------------------- ... ---------- -- ---------- -------------- ------
.- OIDOnObjCol             ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- LobNotInObj             ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- SourceNotInObj          ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- OversizedFiles          ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- PoorDefaultStorage      ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- PoorStorage             ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- TabPartCountMismatch    ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- TabComPartObj           ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- Mview                   ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS

.- ValidDir                ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- DuplicateDataobj        ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ObjSyn                  ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ObjSeq                  ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- UndoSeg                 ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- IndexSeg                ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- IndexPartitionSeg       ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- IndexSubPartitionSeg    ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- TableSeg                ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- TablePartitionSeg       ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- TableSubPartitionSeg    ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- PartCol                 ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ValidSeg                ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- IndPartObj              ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- DuplicateBlockUse       ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- FetUet                  ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- Uet0Check               ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- SeglessUET              ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ValidInd                ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ValidTab                ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- IcolDepCnt              ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ObjIndDobj              ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- TrgAfterUpgrade         ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ObjType0                ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ValidOwner              ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- StmtAuditOnCommit       ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- PublicObjects           ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- SegFreelist             ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- ValidDepends            ... 2300000000 <= *All Rel*  05/10 20:04:19 PASS
.- CheckDual               ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- ObjectNames             ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- ChkIotTs                ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- NoSegmentIndex          ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- NextObject              ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- DroppedROTS             ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- FilBlkZero              ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- DbmsSchemaCopy          ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- IdnseqObj               ... 2300000000 > 1201000000  05/10 20:04:20 PASS
.- IdnseqSeq               ... 2300000000 > 1201000000  05/10 20:04:20 PASS
.- ObjError                ... 2300000000 > 1102000000  05/10 20:04:20 PASS
.- ObjNotLob               ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- MaxControlfSeq          ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- SegNotInDeferredStg     ... 2300000000 > 1102000000  05/10 20:04:20 PASS
.- SystemNotRfile1         ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- DictOwnNonDefaultSYSTEM ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- ValidateTrigger         ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- ObjNotTrigger           ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
.- InvalidTSMaxSCN         ... 2300000000 > 1202000000  05/10 20:04:20 PASS
.- OBJRecycleBin           ... 2300000000 <= *All Rel*  05/10 20:04:20 PASS
---------------------------------------
10-MAY-2023 20:04:20 Elapsed: 1 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_4532_dictionary_check.trc

PL/SQL procedure successfully completed.
 
ICOLDEPCNT (new 23ai)
Checks valid entries in ICOLDEP$ dbms_dictionary_check.iColDepCnt;
set serveroutput on

exec dbms_dictionary_check.iColDepCnt;
.- IcolDepCnt ... 2300000000 <= *All Rel* 05/10 20:14:26 PASS

PL/SQL procedure successfully completed.
 
IDNSEQOBJ (new 23ai)
Checks that Identity column has a valid object dbms_dictionary_check.idnseqObj;
set serveroutput on

exec dbms_dictionary_check.idnseqObj;
.- IdnseqObj ... 2300000000 > 1201000000 05/10 20:14:44 PASS

PL/SQL procedure successfully completed.
 
IDNSEQSEQ (new 23ai)
Checks that a sequence has a valid object dbms_dictionary_check.idnseqSeq;
set serveroutput on

exec dbms_dictionary_check.idnseqSeq;
.- IdnseqSeq ... 2300000000 > 1201000000 05/10 20:15:07 PASS

PL/SQL procedure successfully completed.
 
INDEXPARTITIONSEG (new 23ai)
Checks that an index partition has a valid entry in SEG$ dbms_dictionary_check.indexPartitionSeg;
set serveroutput on

exec dbms_dictionary_check.indexPartitionSeg;
.- IndexPartitionSeg ... 2300000000 <= *All Rel* 05/10 20:15:21 PASS

PL/SQL procedure successfully completed.
 
INDEXSEG (new 23ai)
Checks that an index segment has a valid entry in SEG$ dbms_dictionary_check.indexSeg;
set serveroutput on

exec dbms_dictionary_check.indexSeg;
.- IndexSeg ... 2300000000 <= *All Rel* 05/10 20:15:31 PASS

PL/SQL procedure successfully completed.
 
INDEXSUBPARTITIONSEG (new 23ai)
Checks that an index sub-partition has a valid entry in SEG$ dbms_dictionary_check.indexSubPartitionSeg;
set serveroutput on

exec dbms_dictionary_check.indexSubPartitionSeg;
.- IndexSubPartitionSeg ... 2300000000 <= *All Rel* 05/10 20:16:43 PASS

PL/SQL procedure successfully completed.
 
INDINDPARMISMATCH (new 23ai)
Checks for index name mismatch between partitions dbms_dictionary_check.indIndParMismatch;
set serveroutput on

exec dbms_dictionary_check.indIndParMismatch;

PL/SQL procedure successfully completed.
 
INDPARTOBJ (new 23ai)
Checks that an index partition has an entry in OBJ$ dbms_dictionary_check.indPartObj;
set serveroutput on

exec dbms_dictionary_check.indPartObj;
.- IndPartObj ... 2300000000 <= *All Rel* 05/10 20:16:30 PASS

PL/SQL procedure successfully completed.
 
INVALIDTSMAXSCN (new 23ai)
Check for invalid SCN entries in tablespaces dbms_dictionary_check.invalidTSMaxSCN;
set serveroutput on

exec dbms_dictionary_check.invalidTSMaxSCN;
.- InvalidTSMaxSCN ... 2300000000 > 1202000000 05/10 20:17:50 PASS

PL/SQL procedure successfully completed.
 
INVCORRAUDIT (new 23ai)
Check for invalid AUDIT$ entries dbms_dictionary_check.invCorrAudit;
set serveroutput on

exec dbms_dictionary_check.invCorrAudit;

PL/SQL procedure successfully completed.
 
LOBNOTINOBJ (new 23ai)
Check for LOB segments is not in OBJ$ dbms_dictionary_check.lobNotInObj;
set serveroutput on

exec dbms_dictionary_check.lobNotInObj;
.- LobNotInObj ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS

PL/SQL procedure successfully completed.
 
LOBSEG (new 23ai)
Check that a lob segment has a valid entry in SEG$ dbms_dictionary_check.lobseg;
exec dbms_dictionary_check.lobseg;

dbms_dictionary_check on 01-SEP-2025 09:07:25
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 1 Container: CDB$ROOT
Trace File: C:\APP\ORACLE\PRODUCT\23AI\diag\rdbms\free\free\trace\free_ora_16348_DICTCHECK.trc

Catalog Fixed
Procedure Name                     Version    Vs Release    Timestamp      Result
------------------------------ ... ---------- -- ---------- -------------- ------
.- LobSeg                      ... 2300000000 <= *All Rel*  09/01 09:07:25 PASS

PL/SQL procedure successfully completed.
 
MAXCONTROLFSEQ (new 23ai)
Checks if Control Seq is near the limit dbms_dictionary_check.maxControlFSeq;
set serveroutput on

exec dbms_dictionary_check.maxControlFSeq;
.- MaxControlfSeq ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS

PL/SQL procedure successfully completed.
 
MVIEW (new 23ai)
Checks for invalid  materialized view entries dbms_dictionary_check.mview;
set serveroutput on

exec dbms_dictionary_check.mview;
.- Mview ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS

PL/SQL procedure successfully completed.
 
NEXTOBJECT (new 23ai)
Checks for valid data_object_ids dbms_dictionary_check.nextObject;
set serveroutput on

exec dbms_dictionary_check.nextObject;
.- NextObject ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS

PL/SQL procedure successfully completed.
 
NOSEGMENTINDEX (new 23ai)
Check for NOSEGMENT indexes dbms_dictionary_check.noSegmentIndex;
set serveroutput on

exec dbms_dictionary_check.noSegmentIndex;
.- NoSegmentIndex ... 2300000000 <= *All Rel* 05/11 13:22:10 PASS

PL/SQL procedure successfully completed.
 
OBJECTNAMES (new 23ai)
Checks if an object has the same name as its schema owner dbms_dictionary_check.objectNames;
set serveroutput on

exec dbms_dictionary_check.objectNames;
.- ObjectNames ... 2300000000 <= *All Rel* 05/11 13:22:36 PASS

PL/SQL procedure successfully completed.
 
OBJERROR (new 23ai)
Checks that an object error is valid dbms_dictionary_check.objError;
set serveroutput on

exec dbms_dictionary_check.objError;
.- ObjError ... 2300000000 > 1102000000 05/11 13:22:46 PASS

PL/SQL procedure successfully completed.
 
OBJINDDOBJ (new 23ai)
Checks for index data_object_id mismatch between OBJ$ and IND$ dbms_dictionary_check.objIndDObj;
set serveroutput on

exec dbms_dictionary_check.objIndDObj;
.- ObjIndDobj ... 2300000000 <= *All Rel* 05/11 13:22:26 PASS

PL/SQL procedure successfully completed.
 
OBJLOGICALCONSTRAINTS (new 23ai)
Check logical constraints in OBJ$ dbms_dictionary_check.objLogicalConstraints;
exec dbms_dictionary_check.objLogicalConstraints;
.- ObjLogicalConstraints ... 2300000000 <= *All Rel* 09/01 09:08:00 PASS

PL/SQL procedure successfully completed.
objn
OBJNOTLOB (new 23ai)
Checks that a LOB object has an entry in LOB$ dbms_dictionary_check.objNotLOB;
set serveroutput on

exec dbms_dictionary_check.objNotLOB;
.- ObjNotLob ... 2300000000 <= *All Rel* 05/11 13:22:57 PASS

PL/SQL procedure successfully completed.
 
OBJNOTTRIGGER (new 23ai)
Checks if an object trigger is not in TRIGGER$ dbms_dictionary_check.objNotTrigger;
set serveroutput on

exec dbms_dictionary_check.objNotTrigger;
.- ObjNotTrigger ... 2300000000 <= *All Rel* 05/11 13:23:08 PASS

PL/SQL procedure successfully completed.
 
OBJRECYCLEBIN (new 23ai)
Checks that recycle bin objects in OBJ$ exist in RECYCLEBIN$ dbms_dictionary_check.objRecycleBin;
set serveroutput on

exec dbms_dictionary_check.objRecycleBin;
.- OBJRecycleBin ... 2300000000 <= *All Rel* 05/10 20:07:01 PASS

PL/SQL procedure successfully completed.
 
OBJSEQ (new 23ai)
Checks that a sequence has a valid entry in OBJ$ dbms_dictionary_check.objSeq;
set serveroutput on

exec dbms_dictionary_check.objSeq;
.- ObjSeq ... 2300000000 <= *All Rel* 05/11 13:23:25 PASS

PL/SQL procedure successfully completed.
 
OBJSYN (new 23ai)
Checks that a synonym has a valid entry in OBJ$ dbms_dictionary_check.objSyn;
set serveroutput on

exec dbms_dictionary_check.objSyn;
.- ObjSyn ... 2300000000 <= *All Rel* 05/11 13:23:36 PASS

PL/SQL procedure successfully completed.
 
OBJTYPE0 (new 23ai)
Checks that OBJ$ has a valid type greater than 0 dbms_dictionary_check.objType0;
set serveroutput on

exec dbms_dictionary_check.objType0;
.- ObjType0 ... 2300000000 <= *All Rel* 05/11 13:23:49 PASS

PL/SQL procedure successfully completed.
 
OIDONOBJCOL (new 23ai)
Checks if an object type column is not in OID$ dbms_dictionary_check.oidOnObjCol;
set serveroutput on

exec dbms_dictionary_check.oidOnObjCol;
.- OIDOnObjCol ... 2300000000 <= *All Rel* 05/11 13:24:07 PASS

PL/SQL procedure successfully completed.
 
OVERSIZEDFILES (new 23ai)
Checks for oversized database files dbms_dictionary_check.oversizedFiles;
set serveroutput on

exec dbms_dictionary_check.oversizedFiles;
.- OversizedFiles ... 2300000000 <= *All Rel* 05/11 13:24:21 PASS

PL/SQL procedure successfully completed.
 
PARTCOL (new 23ai)
Checks for valid entry of column partition dbms_dictionary_check.partCol;
set serveroutput on

exec dbms_dictionary_check.partCol;
.- PartCol ... 2300000000 <= *All Rel* 05/11 13:24:28 PASS

PL/SQL procedure successfully completed.
 
PARTSUBPARTMISMATCH (new 23ai)
Checks valid partition methods dbms_dictionary_check.partSubpartMismatch;
set serveroutput on

exec dbms_dictionary_check.partSubpartMismatch;

PL/SQL procedure successfully completed.
 
POORDEFAULTSTORAGE (new 23ai)
Checks tablespace default storage clauses dbms_dictionary_check.poorDefaultStorage;
set serveroutput on

exec dbms_dictionary_check.poorDefaultStorage;
.- PoorDefaultStorage ... 2300000000 <= *All Rel* 05/11 13:24:59 PASS

PL/SQL procedure successfully completed.
 
POORSTORAGE (new 23ai)
Checks objects storage clause dbms_dictionary_check.poorStorage;
set serveroutput on

exec dbms_dictionary_check.poorStorage;
.- PoorStorage ... 2300000000 <= *All Rel* 05/11 13:25:08 PASS

PL/SQL procedure successfully completed.
 
PUBLICOBJECTS (new 23ai)
Checks that objects are not owned by PUBLIC dbms_dictionary_check.publicObjects;
set serveroutput on

exec dbms_dictionary_check.publicObjects;
.- PublicObjects ... 2300000000 <= *All Rel* 05/11 13:25:20 PASS

PL/SQL procedure successfully completed.
 
SEGFREELIST (new 23ai)
Checks that a LOB segment has a valid free list group dbms_dictionary_check.segFreelist;
set serveroutput on

exec dbms_dictionary_check.segFreelist;
.- SegFreelist ... 2300000000 <= *All Rel* 05/11 13:25:30 PASS

PL/SQL procedure successfully completed.
 
SEGLESSUET (new 23ai)
Checks UET$/SEG$ mismatch in a dictionary-managed tablespace dbms_dictionary_check.segLessUET;
set serveroutput on

exec dbms_dictionary_check.segLessUET;
.- SeglessUET ... 2300000000 <= *All Rel* 05/11 13:29:17 PASS

PL/SQL procedure successfully completed.
 
SEGNOTINDEFERREDSTG (new 23ai)
Checks for an invalid deferred segment dbms_dictionary_check.segNotInDeferredStg;
set serveroutput on

exec dbms_dictionary_check.segNotInDeferredStg;
.- SegNotInDeferredStg ... 2300000000 > 1102000000 05/11 13:29:35 PASS

PL/SQL procedure successfully completed.
 
SOURCENOTINOBJ (new 23ai)
Checks if an entry in SOURCE$ is not in OBJ$ dbms_dictionary_check.sourceNotInObj;
set serveroutput on

exec dbms_dictionary_check.sourceNotInObj;
.- SourceNotInObj ... 2300000000 <= *All Rel* 05/11 13:29:49 PASS

PL/SQL procedure successfully completed
.
 
STMTAUDITONCOMMIT (new 23ai)
Checks valid entries for STMT_AUDIT_OPTION_MAP dbms_dictionary_check.stmtAuditOnCommit;
set serveroutput on

exec dbms_dictionary_check.stmtAuditOnCommit;
.- StmtAuditOnCommit ... 2300000000 <= *All Rel* 05/11 13:37:03 PASS

PL/SQL procedure successfully completed.
 
SYSSEQUENCES (new 23ai)
Check inconsistencies with critical sequences owned by SYS dbms_dictionary_check.sysSequences(repair IN BOOLEAN DEFAULT FALSE);
exec dbms_dictionary_check.sysSequences(TRUE);
.- SysSequences ... 2300000000 <= *All Rel* 09/01 09:08:56 PASS

PL/SQL procedure successfully completed.
 
SYSTEMNOTRFILE1 (new 23ai)
Checks that the system tablespace has a relative file number 1 dbms_dictionary_check.systemNotRFile1;
set serveroutput on

exec dbms_dictionary_check.systemNotRFile1;
.- SystemNotRfile1 ... 2300000000 <= *All Rel* 05/11 13:31:19 PASS

PL/SQL procedure successfully completed.
 
TABCOMPARTOBJ (new 23ai)
Checks that the composite partition has a valid entry in OBJ$ dbms_dictionary_check.tabComPartObj;
set serveroutput on

exec dbms_dictionary_check.tabComPartObj;
.- TabComPartObj ... 2300000000 <= *All Rel* 05/11 13:31:33 PASS

PL/SQL procedure successfully completed.
 
TABLEPARTITIONSEG (new 23ai)
Checks that a table partition has a valid entry in SEG$ dbms_dictionary_check.tablePartitionSeg;
set serveroutput on

exec dbms_dictionary_check.tablePartitionSeg;
.- TablePartitionSeg ... 2300000000 <= *All Rel* 05/11 13:31:49 PASS

PL/SQL procedure successfully completed.
 
TABLESEG (new 23ai) (new 23ai)
Checks that a table has a valid entry in SEG$ dbms_dictionary_check.tableSeg;
set serveroutput on

exec dbms_dictionary_check.tableSeg;
.- TableSeg ... 2300000000 <= *All Rel* 05/11 13:32:34 PASS

PL/SQL procedure successfully completed.
 
TABLESUBPARTITIONSEG (new 23ai)
Checks that a table sub-partition has a valid entry in SEG$ dbms_dictionary_check.tableSubpartitionSeg;
set serveroutput on

exec dbms_dictionary_check.tableSubpartitionSeg;
.- TableSubPartitionSeg ... 2300000000 <= *All Rel* 05/11 13:32:47 PASS

PL/SQL procedure successfully completed.
 
TABPARTCOUNTMISMATCH (new 23ai)
Checks invalid data between OBJ$-PARTOBJ$ and TABPART$ dbms_dictionary_check.tabPartCountMismatch;
set serveroutput on

exec dbms_dictionary_check.tabPartCountMismatch;
.- TabPartCountMismatch ... 2300000000 <= *All Rel* 05/11 13:32:57 PASS

PL/SQL procedure successfully completed.
 
TRGAFTERUPGRADE (new 23ai)
Checks valid entries in triggers dbms_dictionary_check.trgAfterUpgrade;
set serveroutput on

exec dbms_dictionary_check.trgAfterUpgrade;
.- TrgAfterUpgrade ... 2300000000 <= *All Rel* 05/11 13:33:07 PASS

PL/SQL procedure successfully completed.
 
UET0CHECK (new 23ai)
Checks valid first extent in a dictionary-managed tablespace dbms_dictionary_check.uet0Check;
set serveroutput on

exec dbms_dictionary_check.uet0Check;
.- Uet0Check ... 2300000000 <= *All Rel* 05/11 13:33:19 PASS

PL/SQL procedure successfully completed.
 
UNDOSEG (new 23ai)
Checks that undo segment has a valid entry in SEG$ dbms_dictionary_check.undoSeg;
set serveroutput on

exec dbms_dictionary_check.undoSeg;
.- UndoSeg ... 2300000000 <= *All Rel* 05/11 13:33:26 PASS

PL/SQL procedure successfully completed.
 
VALIDATEFEDOBJ (new 23ai)
Checks for obj$ entries marked with FedApps in Non-CDB databases dbms_dictionary_check.validateFedObj(repair IN BOOLEAN DEFAULT FALSE);
exec dbms_dictionary_check.validateFedObj(TRUE);

PL/SQL procedure successfully completed.
 
VALIDATEFILE (new 23ai)
Checks for invalid file$ entries dbms_dictionary_check.validateFile(repair IN BOOLEAN DEFAULT FALSE);
exec dbms_dictionary_check.validateFile(TRUE);
.- ValidateFile ... 2300000000 <= *All Rel* 09/01 09:10:38 PASS

PL/SQL procedure successfully completed.
 
VALIDATEOBJSTUB (new 23ai)
Check for orphaned stubs and removes identified orphaned stubs dbms_dictionary_check.validateObjStub(repair IN BOOLEAN DEFAULT FALSE);
exec dbms_dictionary_check.validateObjStub(TRUE);
.- ValidateObjStub ... 2300000000 <= *All Rel* 09/01 09:11:07 PASS

PL/SQL procedure successfully completed.
 
VALIDATESEG (new 23ai)
Checks that a segment in SEG$ has an entry in its parent dbms_dictionary_check.validateSeg;
set serveroutput on

exec dbms_dictionary_check.validateSeg;
.- ValidSeg ... 2300000000 <= *All Rel* 05/11 13:33:36 PASS

PL/SQL procedure successfully completed.
 
VALIDATETRIGGER (new 23ai)
Checks that triggers have valid entries in their parents dbms_dictionary_check.validateTrigger;
set serveroutput on

exec dbms_dictionary_check.validateTrigger;
.- ValidateTrigger ... 2300000000 <= *All Rel* 05/11 13:33:44 PASS

PL/SQL procedure successfully completed.
 
VALIDDEPENDS (new 23ai)
Checks for valid dependency timestamps dbms_dictionary_check.validDepends;
set serveroutput on

exec dbms_dictionary_check.validDepends;
.- ValidDepends ... 2300000000 <= *All Rel* 05/11 13:33:54 PASS

PL/SQL procedure successfully completed.
 
VALIDDIR (new 23ai)
Checks that the directory object has valid entries dbms_dictionary_check.validDir;
set serveroutput on

exec dbms_dictionary_check.validDir;
.- ValidDir ... 2300000000 <= *All Rel* 05/11 13:34:06 PASS

PL/SQL procedure successfully completed.
 
VALIDIND (new 23ai)
Checks that an index in OBJ$ has a corresponding entry in the index dictionary dbms_dictionary_check.validInd;
set serveroutput on

exec dbms_dictionary_check.validInd;
.- ValidInd ... 2300000000 <= *All Rel* 05/11 13:34:16 PASS

PL/SQL procedure successfully completed.
 
VALIDOWNER (new 23ai)
Checks that an entry in OBJ$ has a valid user ID dbms_dictionary_check.validOwner;
set serveroutput on

exec dbms_dictionary_check.validOwner;
.- ValidOwner ... 2300000000 <= *All Rel* 05/11 13:34:24 PASS

PL/SQL procedure successfully completed.
 
VALIDTAB (new 23ai)
Checks that a table in OBJ$ has a corresponding entry in TAB$ dbms_dictionary_check.validTab;
set serveroutput on

exec dbms_dictionary_check.validTab;
.- ValidTab ... 2300000000 <= *All Rel* 05/11 13:34:30 PASS

PL/SQL procedure successfully completed.
 
WARNICOLDEP (new 23ai)
Checks that an index does not have an ADT (object column) dbms_dictionary_check.warnIcolDep;
set serveroutput on

exec dbms_dictionary_check.warnIcolDep;

PL/SQL procedure successfully completed.
 
WARNINGTSMAXSCN (new 23ai)
Checks exposed SCN entries in tablespaces dbms_dictionary_check.warningTSMaxSCN;
set serveroutput on

exec dbms_dictionary_check.warningTSMaxSCN;

PL/SQL procedure successfully completed.

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_ADR
DBMS_HM
DBMS_IR
DBMS_SQLDIAG
ORADEBUG
What's New In 21c
What's New In 26ai

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