eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« Oracle SQLID 与 Hash_value 算法及转换 | Blog首页 | 日志信息:kewastUnPackStats(): bad magic 1 - Bug »

Event 38003 与 C_OBJ#_INTCOL# 对象清理
modb.pro

在很多朋友的数据库中,聚簇对象 C_OBJ#_INTCOL# 占用了大量空间,有时候希望通过TRUNCATE清理这个对象,注意,当然最好不要这么做,风险太高。

但是当遇到坏块时,如下:
Sat May 26 06:00:11 2012
Corrupt Block Found
         TSN = 0, TSNAME = SYSTEM
         RFN = 1, BLK = 38287, RDBA = 4232591
         OBJN = 253, OBJD = 251, OBJECT = C_OBJ#_INTCOL#, SUBOBJECT =
         SEGMENT OWNER = SYS, SEGMENT TYPE = Cluster Segment

就可能可以尝试一下,使用特殊的手段进行恢复尝试。
设置 38003 事件,可以将对象 C_OBJ#_INTCOL# 从启动依赖中暂时剥离出来:
alter system set event='38003 trace name context forever, level 10' scope=spfile;

然后重启数据库,可以Truncate该对象:
SQL> truncate cluster c_obj#_intcol#;

Cluster truncated.

此后去掉参数,重启数据库即可。

C_OBJ#_INTCOL#.jpg

聚簇对象 C_OBJ#_INTCOL# 存储着柱状图信息, histgrm$ 基于其创建:

rem
rem  Histograms
rem
create cluster c_obj#_intcol#
( obj#            number,                                   /* object number */
  intcol#         number)                          /* internal column number */
  pctfree 5
  storage (initial 2m next 200k maxextents unlimited pctincrease 0)
/
create index i_obj#_intcol# on cluster c_obj#_intcol#
  storage (maxextents unlimited)
/
create table histgrm$                                     /* histogram table */
( obj#            number not null,                          /* object number */
  col#            number not null,                          /* column number */
  row#            number,                       /* row number (in row cache) */
  bucket          number not null,                          /* bucket number */
  endpoint        number not null,                  /* endpoint hashed value */
  intcol#         number not null,                 /* internal column number */
  epvalue         varchar2(1000),              /* endpoint value information */
  spare1          number,
  spare2          number)
cluster c_obj#_intcol#(obj#, intcol#)
/
create index i_h_obj#_col# on histgrm$(obj#, col#)
  storage (maxextents unlimited)
/
注意:如果选择安全的方式,建议导出数据,重建数据库,如果有备份,通过备份进行块恢复是最好的选择。

可以参考以下链接:
http://www.eygle.com/archives/2007/02/ora_00701_warmstarting.html




历史上的今天...
    >> 2016-05-28文章:

By eygle on 2012-05-28 15:21 | Comments (0) | Backup&Recovery | 3014 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com