hcheck测试

今天要测试一下hcheck,就自己模拟了一下创建了一个表空间
CREATE TABLESPACE TAB_CHECK_TEST1
DATAFILE 'D:\opt\oracle\product\10.2.0\oradata\orcl\CHECK_TEST1.DBF' SIZE 10M
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;

scott>create table check_test(id number) tablespace TAB_CHECK_TEST;

SELECT COUNT(*) FROM DBA_TABLES WHERE TABLESPACE_NAME='TAB_CHECK_TEST';
结果:1

SELECT * FROM obj$ WHERE NAME='CHECK_TEST';

查到obj#=60671

select * from tab$ WHERE OBJ#=60671;

delete from obj$ where name='CHECK_TEST';

commit;

这里obj$里与表CHECK_TEST相关的记录被删除了,而tab$中相关的记录仍然存在。

sys>@d:\hOut.sql
sys>@hcheck3.sql
信息如下:
H.Check Version 9i+/hc3.35                                                     
---------------------------------------                                        
Catalog Version 10.2.0.4.0 (1002000400)                                        
---------------------------------------                                        

                                   Catalog       Fixed                        
Procedure Name                     Version    Vs Release      Run              
------------------------------ ... ---------- -- ----------   ---              
.- SynLastDDLTim               ... 1002000400 >  1001000200 : n/a              
.- LobNotInObj                 ... 1002000400 >  1000000200 : n/a              
.- MissingOIDOnObjCol          ... 1002000400 <=  *All Rel* : Ok               
.- SourceNotInObj              ... 1002000400 >  1002000100 : n/a              
.- IndIndparMismatch           ... 1002000400 <= 1102000100 : Ok               
.- InvCorrAudit                ... 1002000400 <= 1102000100 : Ok               
.- OversizedFiles              ... 1002000400 <=  *All Rel* : Ok               
.- TinyFiles                   ... 1002000400 >   900010000 : n/a              
.- PoorDefaultStorage          ... 1002000400 <=  *All Rel* : Ok               
.- PoorStorage                 ... 1002000400 <=  *All Rel* : Ok               
.- MissTabSubPart              ... 1002000400 >   900010000 : n/a              
.- PartSubPartMismatch         ... 1002000400 <= 1102000100 : Ok               
.- TabPartCountMismatch        ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedTabComPart          ... 1002000400 >   900010000 : n/a              
.- ZeroTabSubPart              ... 1002000400 >   902000100 : n/a              
.- MissingSum$                 ... 1002000400 <=  *All Rel* : Ok               
.- MissingDir$                 ... 1002000400 <=  *All Rel* : Ok               
.- DuplicateDataobj            ... 1002000400 <=  *All Rel* : Ok               
.- ObjSynMissing               ... 1002000400 <=  *All Rel* : Ok               
.- ObjSeqMissing               ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedUndo                ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedIndex               ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedIndexPartition      ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedIndexSubPartition   ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedTable               ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedTablePartition      ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedTableSubPartition   ... 1002000400 <=  *All Rel* : Ok               
.- MissingPartCol              ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedSeg$                ... 1002000400 <=  *All Rel* : Ok               
.- OrphanedIndPartObj#         ... 1002000400 <= 1101000600 : Ok               
.- DuplicateBlockUse           ... 1002000400 <=  *All Rel* : Ok               
.- HighObjectIds               ... 1002000400 >   801060000 : n/a              
.- PQsequence                  ... 1002000400 >   800060000 : n/a              
.- TruncatedCluster            ... 1002000400 >   801070000 : n/a              
.- FetUet                      ... 1002000400 <=  *All Rel* : Ok               
.- Uet0Check                   ... 1002000400 <=  *All Rel* : Ok               
.- ExtentlessSeg               ... 1002000400 <=  *All Rel* : Ok               
.- SeglessUET                  ... 1002000400 <=  *All Rel* : Ok               
.- BadInd$                     ... 1002000400 <=  *All Rel* : Ok               
.- BadTab$                     ... 1002000400 <=  *All Rel* : Ok               
.- BadIcolDepCnt               ... 1002000400 <= 1101000700 : Ok               
.- WarnIcolDep                 ... 1002000400 <= 1101000700 : Ok               
.- OnlineRebuild$              ... 1002000400 <=  *All Rel* : Ok               
.- DropForceType               ... 1002000400 >  1001000200 : n/a              
.- TrgAfterUpgrade             ... 1002000400 <=  *All Rel* : Ok               
.- FailedInitJVMRun            ... 1002000400 <=  *All Rel* : Ok               
.- TypeReusedAfterDrop         ... 1002000400 >   900010000 : n/a              
.- Idgen1$TTS                  ... 1002000400 >   900010000 : n/a              
.- DroppedFuncIdx              ... 1002000400 >   902000100 : n/a              
.- BadOwner                    ... 1002000400 >   900010000 : n/a              
.- UpgCheckc0801070            ... 1002000400 <=  *All Rel* : Ok               
.- BadPublicObjects            ... 1002000400 <=  *All Rel* : Ok               
.- BadSegFreelist              ... 1002000400 <=  *All Rel* : Ok               
.- BadCol#                     ... 1002000400 >  1001000200 : n/a              
.- BadDepends                  ... 1002000400 <=  *All Rel* : Ok               
.- CheckDual                   ... 1002000400 <=  *All Rel* : Ok               
.- ObjectNames                 ... 1002000400 <=  *All Rel* : Ok               
.- BadCboHiLo                  ... 1002000400 <=  *All Rel* : Ok               
.- ChkIotTs                    ... 1002000400 <=  *All Rel* : Ok               
.- NoSegmentIndex              ... 1002000400 <=  *All Rel* : Ok               
.- BadNextObject               ... 1002000400 <=  *All Rel* : Ok               
.- OrphanIndopt                ... 1002000400 >   902000800 : n/a              
.- UpgFlgBitTmp                ... 1002000400 >  1001000100 : n/a              
.- RenCharView                 ... 1002000400 >  1001000100 : n/a              
.- Upg9iTab$                   ... 1002000400 >   902000400 : n/a              
.- Upg9iTsInd                  ... 1002000400 >   902000500 : n/a              
.- Upg10gInd$                  ... 1002000400 >  1002000000 : n/a              
.- DroppedROTS                 ... 1002000400 <=  *All Rel* : Ok               
.- ChrLenSmtcs                 ... 1002000400 <= 1101000600 : Ok               
.- FilBlkZero                  ... 1002000400 <=  *All Rel* : Ok               

Found 0 potential problem(s) and 0 warning(s)                                 

PL/SQL 过程已成功完成。

竟然没有检查到错误!!!

delete from tab$ where obj#=60671;
commit;

DROP TABLESPACE TAB_CHECK_TEST including contents;
却报错:
SQL 错误: ORA-01561: 无法删除指定表空间中的所有对象
01561. 00000 -  "failed to remove all objects in the tablespace specified"
*Cause:    Failed to remove all objects when dropping a tablespace
*Action:   Retry the drop tablespace until all objects are dropped

这个郁闷了,情况没有模拟出来,表空间也删除不了。。。。看来数据字典的信息并没有那么简单,这样模拟应该是不可以的。哎。。。。。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23065269/viewspace-714857/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23065269/viewspace-714857/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值