General Information
Library Note
Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com . Request a Workshop for
your organization today.
Purpose
This package is provides an API to assist in the identification of data dictionary metadata inconsistencies.
AUTHID
DEFINER
Dependencies
AUDIT$
FILE$
SUM$
CLU$
HIST_HEAD$
SYN$
COL$
ICOLDEP$
SYSTEM_PRIVILEGE_MAP
COLTYPE$
IND$
SYS_DBA_SEGS
DBA_DATA_FILES
INDPART$
TAB$
DBA_OBJECTS
INDSUBPART$
TABCOMPART$
DBA_REGISTRY
LOB$
TABPART$
DBA_SEGMENTS
LOBFRAG$
TABSUBPART$
DBA_TABLESPACES
OBJ$
TRIGGER$
DBA_USERS
OBJAUTH$
TS$
DBMS_HM
OID$
UET$
DBMS_OUTPUT
PARTCOL$
UNDO$
DBMS_STANDARD
PARTOBJ$
USERS$
DBMS_SYSTEM
RECYCLEBIN$
V$DATABASE
DEPENDENCY$
SEG$
V$DATAFILE
DIR$
SEQ$
V$DIAG_INFO
DUAL
SOURCE$
X$KCVFH
FET$
STMT_AUDIT_OPTION_MAP
Documented
Yes
First Available
23.1
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/dbmshcheck.sql
{ORACLE_HOME}/rdbms/admin/prvthcheck.plb
Subprograms
CBOHILO
Invalid histogram metadata check
dbms_hcheck.cboHiLo;
set serveroutput on
exec dbms_hcheck.cboHiLo ;
PL/SQL producedure successfully completed.
CHECKDUAL
Invalid entries in dual check
dbms_hcheck.checkDual;
set serveroutput on
exec dbms_hcheck.checkDual ;
.- CheckDual ... 2300000000 <= *All Rel* 05/10 20:09:23 PASS
PL/SQL procedure successfully completed.
CHKIOTTS
Invalid entries in dual check
dbms_hcheck.chkIotTs;
set serveroutput on
exec dbms_hcheck.chkIotTs ;
.- ChkIotTs ... 2300000000 <= *All Rel* 05/10
20:10:08 PASS
PL/SQL procedure successfully completed.
CRITICAL
Execute "critical" checks only
dbms_hcheck.critical;
set serveroutput on
exec dbms_hcheck.critical ;
dbms_hcheck 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_HCHECK.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_HCHECK.trc
PL/SQL procedure successfully completed.
DBMSSCHEMACOPY
Checks for invalid execution of DBMS_SCHEMA_COPY
dbms_hcheck.dbmsSchemaCopy;
set serveroutput on
exec dbms_hcheck.dmsSchemaCopy ;
.- DbmsSchemaCopy ... 2300000000 <= *All Rel* 05/10 20:10:59 PASS
PL/SQL procedure successfully completed.
DICTOWNNONDEFAULTSYSTEM
Checks that the users SYS and SYSTEM have default tablespace SYSTEM
dbms_hcheck.dictOwnNonDefaultSystem;
set serveroutput on
exec dbms_hcheck.dictOwnNonDefaultSystem ;
.- DictOwnNonDefaultSYSTEM ... 2300000000 <= *All Rel* 05/10 20:11:15 PASS
PL/SQL procedure successfully completed.
DROPPEDROTS
Checks for valid entries in a read-only tablespace
dbms_hcheck.droppedROTS;
set serveroutput on
exec dbms_hcheck.droppedROTS ;
.- DroppedROTS ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS
PL/SQL procedure successfully completed.
DUPLICATEBLOCKUSE
Checks for a segment header block is used by only one segment
dbms_hcheck.duplicateBlockUse;
set serveroutput on
exec dbms_hcheck.duplicateBlockUse ;
.- DuplicateBlockUse ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS
PL/SQL procedure successfully completed.
DUPLICATEDATAOBJ
Checks for duplicate segment data_object_id
dbms_hcheck.duplicateDataObj;
set serveroutput on
exec dbms_hcheck.duplicateDataObj ;
.- DuplicateDataobj ... 2300000000 <= *All Rel* 05/10 20:13:08 PASS
PL/SQL procedure successfully completed.
EXTENTLESSEG
Checks SEG$/UET$ mismatch in a dictionary-managed tablespace
dbms_hcheck.ExtentlessSeg;
set serveroutput on
exec dbms_hcheck.extentlessSeg ;
PL/SQL procedure successfully completed.
FETUET
Checks valid free/used space in a dictionary-managed tablespace
dbms_hcheck.FetUet;
set serveroutput on
exec dbms_hcheck.fetUet ;
.- FetUet ... 2300000000 <= *All Rel* 05/10 20:13:53 PASS
PL/SQL procedure successfully completed.
FILBLKZERO
Checks for zero data block address
dbms_hcheck.filBlkZero;
set serveroutput on
exec dbms_hcheck.filBlkZero ;
.- FilBlkZero ... 2300000000 <= *All Rel* 05/10 20:14:11 PASS
PL/SQL procedure successfully completed.
FULL
Execute all checks
dbms_hcheck.full;
set serveroutput on
exec dbms_hcheck.full ;
dbms_hcheck 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_HCHECK.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_HCHECK.trc
PL/SQL procedure successfully completed.
ICOLDEPCNT
Checks valid entries in ICOLDEP$
dbms_hcheck.iColDepCnt;
set serveroutput on
exec dbms_hcheck.iColDepCnt ;
.- IcolDepCnt ... 2300000000 <= *All Rel* 05/10 20:14:26 PASS
PL/SQL procedure successfully completed.
IDNSEQOBJ
Checks that Identity column has a valid object
dbms_hcheck.idnseqObj;
set serveroutput on
exec dbms_hcheck.idnseqObj ;
.- IdnseqObj ... 2300000000 > 1201000000 05/10 20:14:44 PASS
PL/SQL procedure successfully completed.
IDNSEQSEQ
Checks that a sequence has a valid object
dbms_hcheck.idnseqSeq;
set serveroutput on
exec dbms_hcheck.idnseqSeq ;
.- IdnseqSeq ... 2300000000 > 1201000000 05/10 20:15:07 PASS
PL/SQL procedure successfully completed.
INDEXPARTITIONSEG
Checks that an index partition has a valid entry in SEG$
dbms_hcheck.indexPartitionSeg;
set serveroutput on
exec dbms_hcheck.indexPartitionSeg ;
.- IndexPartitionSeg ... 2300000000 <= *All Rel* 05/10 20:15:21 PASS
PL/SQL procedure successfully completed.
INDEXSEG
Checks that an index segment has a valid entry in SEG$
dbms_hcheck.indexSeg;
set serveroutput on
exec dbms_hcheck.indexSeg ;
.- IndexSeg ... 2300000000 <= *All Rel* 05/10 20:15:31 PASS
PL/SQL procedure successfully completed.
INDPARTOBJ
Checks that an index partition has an entry in OBJ$
dbms_hcheck.indPartObj;
set serveroutput on
exec dbms_hcheck.indPartObj ;
.- IndPartObj ... 2300000000 <= *All Rel* 05/10 20:16:30 PASS
PL/SQL procedure successfully completed.
INDEXSUBPARTITIONSEG
Checks that an index sub-partition has a valid entry in SEG$
dbms_hcheck.indexSubPartitionSeg;
set serveroutput on
exec dbms_hcheck.indexSubPartitionSeg ;
.- IndexSubPartitionSeg ... 2300000000 <= *All Rel* 05/10 20:16:43 PASS
PL/SQL procedure successfully completed.
INDINDPARMISMATCH
Checks for index name mismatch between partitions
dbms_hcheck.indIndParMismatch;
set serveroutput on
exec dbms_hcheck.indIndParMismatch ;
PL/SQL procedure successfully completed.
INVALIDTSMAXSCN
Check for invalid SCN entries in tablespaces
dbms_hcheck.invalidTSMaxSCN;
set serveroutput on
exec dbms_hcheck.invalidTSMaxSCN ;
.- InvalidTSMaxSCN ... 2300000000 > 1202000000 05/10 20:17:50 PASS
PL/SQL procedure successfully completed.
INVCORRAUDIT
Check for invalid AUDIT$ entries
dbms_hcheck.invCorrAudit;
set serveroutput on
exec dbms_hcheck.invCorrAudit ;
PL/SQL procedure successfully completed.
LOBNOTINOBJ
Check for LOB segments is not in OBJ$
dbms_hcheck.lobNotInObj;
set serveroutput on
exec dbms_hcheck.lobNotInObj ;
.- LobNotInObj ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS
PL/SQL procedure successfully completed.
MAXCONTROLFSEQ
Checks if Control Seq is near the limit
dbms_hcheck.maxControlFSeq;
set serveroutput on
exec dbms_hcheck.maxControlFSeq ;
.- MaxControlfSeq ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS
PL/SQL procedure successfully completed.
MVIEW
Checks for invalid materialized view entries
dbms_hcheck.mview;
set serveroutput on
exec dbms_hcheck.mview ;
.- Mview ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS
PL/SQL procedure successfully completed.
NEXTOBJECT
Checks for valid data_object_ids
dbms_hcheck.nextObject;
set serveroutput on
exec dbms_hcheck.nextObject ;
.- NextObject ... 2300000000 <= *All Rel* 05/10 20:12:51 PASS
PL/SQL procedure successfully completed.
NOSEGMENTINDEX
Check for NOSEGMENT indexes
dbms_hcheck.noSegmentIndex;
set serveroutput on
exec dbms_hcheck.noSegmentIndex ;
.- NoSegmentIndex ... 2300000000 <= *All Rel*
05/11 13:22:10 PASS
PL/SQL procedure successfully completed.
OBJINDDOBJ
Checks for index data_object_id mismatch between OBJ$ and IND$
dbms_hcheck.objIndDObj;
set serveroutput on
exec dbms_hcheck.objIndDObj ;
.- ObjIndDobj ... 2300000000 <= *All Rel* 05/11
13:22:26 PASS
PL/SQL procedure successfully completed.
OBJECTNAMES
Checks if an object has the same name as its schema owner
dbms_hcheck.objectNames;
set serveroutput on
exec dbms_hcheck.objectNames ;
.- ObjectNames ... 2300000000 <= *All Rel* 05/11
13:22:36 PASS
PL/SQL procedure successfully completed.
OBJERROR
Checks that an object error is valid
dbms_hcheck.objError;
set serveroutput on
exec dbms_hcheck.objError ;
.- ObjError ... 2300000000 > 1102000000 05/11
13:22:46 PASS
PL/SQL procedure successfully completed.
OBJNOTLOB
Checks that a LOB object has an entry in LOB$
dbms_hcheck.objNotLOB;
set serveroutput on
exec dbms_hcheck.objNotLOB ;
.- ObjNotLob ... 2300000000 <= *All Rel* 05/11
13:22:57 PASS
PL/SQL procedure successfully completed.
OBJNOTTRIGGER
Checks if an object trigger is not in TRIGGER$
dbms_hcheck.objNotTrigger;
set serveroutput on
exec dbms_hcheck.objNotTrigger ;
.- ObjNotTrigger ... 2300000000 <= *All Rel*
05/11 13:23:08 PASS
PL/SQL procedure successfully completed.
OBJRECYCLEBIN
Checks that recycle bin objects in OBJ$ exist in RECYCLEBIN$
dbms_hcheck.objRecycleBin;
set serveroutput on
exec dbms_hcheck.objRecycleBin ;
.- OBJRecycleBin ... 2300000000 <= *All Rel* 05/10 20:07:01 PASS
PL/SQL procedure successfully completed.
OBJSEQ
Checks that a sequence has a valid entry in OBJ$
dbms_hcheck.objSeq;
set serveroutput on
exec dbms_hcheck.objSeq ;
.- ObjSeq ... 2300000000 <= *All Rel* 05/11
13:23:25 PASS
PL/SQL procedure successfully completed.
OBJSYN
Checks that a synonym has a valid entry in OBJ$
dbms_hcheck.objSyn;
set serveroutput on
exec dbms_hcheck.objSyn ;
.- ObjSyn ... 2300000000 <= *All Rel* 05/11
13:23:36 PASS
PL/SQL procedure successfully completed.
OBJTYPE0
Checks that OBJ$ has a valid type greater than 0
dbms_hcheck.objType0;
set serveroutput on
exec dbms_hcheck.objType0 ;
.- ObjType0 ... 2300000000 <= *All Rel* 05/11
13:23:49 PASS
PL/SQL procedure successfully completed.
OIDONOBJCOL
Checks if an object type column is not in OID$
dbms_hcheck.oidOnObjCol;
set serveroutput on
exec dbms_hcheck.oidOnObjCol ;
.- OIDOnObjCol ... 2300000000 <= *All Rel* 05/11
13:24:07 PASS
PL/SQL procedure successfully completed.
OVERSIZEDFILES
Checks for oversized database files
dbms_hcheck.oversizedFiles;
set serveroutput on
exec dbms_hcheck.oversizedFiles ;
.- OversizedFiles ... 2300000000 <= *All Rel*
05/11 13:24:21 PASS
PL/SQL procedure successfully completed.
PARTCOL
Checks for valid entry of column partition
dbms_hcheck.partCol;
set serveroutput on
exec dbms_hcheck.partCol ;
.- PartCol ... 2300000000 <= *All Rel* 05/11
13:24:28 PASS
PL/SQL procedure successfully completed.
PARTSUBPARTMISMATCH
Checks valid partition methods
dbms_hcheck.partSubpartMismatch;
set serveroutput on
exec dbms_hcheck.partSubpartMismatch ;
PL/SQL procedure successfully completed.
POORDEFAULTSTORAGE
Checks tablespace default storage clauses
dbms_hcheck.poorDefaultStorage;
set serveroutput on
exec dbms_hcheck.poorDefaultStorage ;
.- PoorDefaultStorage ... 2300000000 <= *All Rel*
05/11 13:24:59 PASS
PL/SQL procedure successfully completed.
POORSTORAGE
Checks objects storage clause
dbms_hcheck.poorStorage;
set serveroutput on
exec dbms_hcheck.poorStorage ;
.- PoorStorage ... 2300000000 <= *All Rel* 05/11
13:25:08 PASS
PL/SQL procedure successfully completed.
PUBLICOBJECTS
Checks that objects are not owned by PUBLIC
dbms_hcheck.publicObjects;
set serveroutput on
exec dbms_hcheck.publicObjects ;
.- PublicObjects ... 2300000000 <= *All Rel*
05/11 13:25:20 PASS
PL/SQL procedure successfully completed.
SEGFREELIST
Checks that a LOB segment has a valid free list group
dbms_hcheck.segFreelist;
set serveroutput on
exec dbms_hcheck.segFreelist ;
.- SegFreelist ... 2300000000 <= *All Rel* 05/11
13:25:30 PASS
PL/SQL procedure successfully completed.
SEGLESSUET
Checks UET$/SEG$ mismatch in a dictionary-managed tablespace
dbms_hcheck.segLessUET;
set serveroutput on
exec dbms_hcheck.segLessUET ;
.- SeglessUET ... 2300000000 <= *All Rel* 05/11
13:29:17 PASS
PL/SQL procedure successfully completed.
SEGNOTINDEFERREDSTG
Checks for an invalid deferred segment
dbms_hcheck.segNotInDeferredStg;
set serveroutput on
exec dbms_hcheck.segNotInDeferredStg ;
.- SegNotInDeferredStg ... 2300000000 >
1102000000 05/11 13:29:35 PASS
PL/SQL procedure successfully completed.
SOURCENOTINOBJ
Checks if an entry in SOURCE$ is not in OBJ$
dbms_hcheck.sourceNotInObj;
set serveroutput on
exec dbms_hcheck.sourceNotInObj ;
.- SourceNotInObj ... 2300000000 <= *All Rel*
05/11 13:29:49 PASS
PL/SQL procedure successfully completed .
STMTAUDITONCOMMIT
Checks valid entries for STMT_AUDIT_OPTION_MAP
dbms_hcheck.stmtAuditOnCommit;
set serveroutput on
exec dbms_hcheck.stmtAuditOnCommit ;
.- StmtAuditOnCommit ... 2300000000 <= *All Rel*
05/11 13:37:03 PASS
PL/SQL procedure successfully completed.
SYSTEMNOTRFILE1
Checks that the system tablespace has a relative file number 1
dbms_hcheck.systemNotRFile1;
set serveroutput on
exec dbms_hcheck.systemNotRFile1 ;
.- SystemNotRfile1 ... 2300000000 <= *All Rel*
05/11 13:31:19 PASS
PL/SQL procedure successfully completed.
TABCOMPARTOBJ
Checks that the composite partition has a valid entry in OBJ$
dbms_hcheck.tabComPartObj;
set serveroutput on
exec dbms_hcheck.tabComPartObj ;
.- TabComPartObj ... 2300000000 <= *All Rel*
05/11 13:31:33 PASS
PL/SQL procedure successfully completed.
TABLEPARTITIONSEG
Checks that a table partition has a valid entry in SEG$
dbms_hcheck.tablePartitionSeg;
set serveroutput on
exec dbms_hcheck.tablePartitionSeg ;
.- TablePartitionSeg ... 2300000000 <= *All Rel*
05/11 13:31:49 PASS
PL/SQL procedure successfully completed.
TABLESEG
Checks that a table has a valid entry in SEG$
dbms_hcheck.tableSeg;
set serveroutput on
exec dbms_hcheck.tableSeg ;
.- TableSeg ... 2300000000 <= *All Rel* 05/11
13:32:34 PASS
PL/SQL procedure successfully completed.
TABLESUBPARTITIONSEG
Checks that a table sub-partition has a valid entry in SEG$
dbms_hcheck.tableSubpartitionSeg;
set serveroutput on
exec dbms_hcheck.tableSubpartitionSeg ;
.- TableSubPartitionSeg ... 2300000000 <= *All
Rel* 05/11 13:32:47 PASS
PL/SQL procedure successfully completed.
TABPARTCOUNTMISMATCH
Checks invalid data between OBJ$-PARTOBJ$ and TABPART$
dbms_hcheck.tabPartCountMismatch;
set serveroutput on
exec dbms_hcheck.tabPartCountMismatch ;
.- TabPartCountMismatch ... 2300000000 <= *All
Rel* 05/11 13:32:57 PASS
PL/SQL procedure successfully completed.
TRGAFTERUPGRADE
Checks valid entries in triggers
dbms_hcheck.trgAfterUpgrade;
set serveroutput on
exec dbms_hcheck.trgAfterUpgrade ;
.- TrgAfterUpgrade ... 2300000000 <= *All Rel*
05/11 13:33:07 PASS
PL/SQL procedure successfully completed.
UET0CHECK
Checks valid first extent in a dictionary-managed tablespace
dbms_hcheck.uet0Check;
set serveroutput on
exec dbms_hcheck.uet0Check ;
.- Uet0Check ... 2300000000 <= *All Rel* 05/11
13:33:19 PASS
PL/SQL procedure successfully completed.
UNDOSEG
Checks that undo segment has a valid entry in SEG$
dbms_hcheck.undoSeg;
set serveroutput on
exec dbms_hcheck.undoSeg ;
.- UndoSeg ... 2300000000 <= *All Rel* 05/11
13:33:26 PASS
PL/SQL procedure successfully completed.
VALIDATESEG
Checks that a segment in SEG$ has an entry in its parent
dbms_hcheck.validateSeg;
set serveroutput on
exec dbms_hcheck.validateSeg ;
.- ValidSeg ... 2300000000 <= *All Rel* 05/11
13:33:36 PASS
PL/SQL procedure successfully completed.
VALIDATETRIGGER
Checks that triggers have valid entries in their parents
dbms_hcheck.validateTrigger;
set serveroutput on
exec dbms_hcheck.validateTrigger ;
.- ValidateTrigger ... 2300000000 <= *All Rel*
05/11 13:33:44 PASS
PL/SQL procedure successfully completed.
VALIDDEPENDS
Checks for valid dependency timestamps
dbms_hcheck.validDepends;
set serveroutput on
exec dbms_hcheck.validDepends ;
.- ValidDepends ... 2300000000 <= *All Rel* 05/11
13:33:54 PASS
PL/SQL procedure successfully completed.
VALIDDIR
Checks that the directory object has valid entries
dbms_hcheck.validDir;
set serveroutput on
exec dbms_hcheck.validDir ;
.- ValidDir ... 2300000000 <= *All Rel* 05/11
13:34:06 PASS
PL/SQL procedure successfully completed.
VALIDIND
Checks that an index in OBJ$ has a corresponding entry in the index dictionary
dbms_hcheck.validInd;
set serveroutput on
exec dbms_hcheck.validInd ;
.- ValidInd ... 2300000000 <= *All Rel* 05/11
13:34:16 PASS
PL/SQL procedure successfully completed.
VALIDOWNER
Checks that an entry in OBJ$ has a valid user ID
dbms_hcheck.validOwner;
set serveroutput on
exec dbms_hcheck.validOwner ;
.- ValidOwner ... 2300000000 <= *All Rel* 05/11
13:34:24 PASS
PL/SQL procedure successfully completed.
VALIDTAB
Checks that a table in OBJ$ has a corresponding entry in TAB$
dbms_hcheck.validTab;
set serveroutput on
exec dbms_hcheck.validTab ;
.- ValidTab ... 2300000000 <= *All Rel* 05/11
13:34:30 PASS
PL/SQL procedure successfully completed.
WARNICOLDEP
Checks that an index does not have an ADT (object column)
dbms_hcheck.warnIcolDep;
set serveroutput on
exec dbms_hcheck.warnIcolDep ;
PL/SQL procedure successfully completed.
WARNINGTSMAXSCN
Checks exposed SCN entries in tablespaces
dbms_hcheck.warningTSMaxSCN;
set serveroutput on
exec dbms_hcheck.warningTSMaxSCN ;
PL/SQL procedure successfully completed.