General Information
Library Note
Morgan's Library Page Header
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.