[20161025]ORA-00600 [kkpo_rcinfo_defstgdelseg], [xxxx].txt

--链接http://www.anbob.com/archives/2745.html,重复操作,做1个记录。
--模拟ORA-00600 [kkpo_rcinfo_defstgdelseg], [xxxx]错误

1.环境:
SCOTT@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SCOTT@book> show parameter defer
NAME                       TYPE      VALUE
-------------------------- --------- -------
deferred_segment_creation  boolean   TRUE

create table tpart(id number, name varchar2(100)) 
partition by range(id)
(
partition p_100 values less than(101),
partition p_200 values less than(201),
partition p_300 values less than(301)
);

2.测试:
SCOTT@book> select * from dba_objects where owner=user and object_name='TPART';
OWNER  OBJECT_NAME SUBOBJECT_  OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE     CREATED             LAST_DDL_TIME       TIMESTAMP           STATUS  T G S  NAMESPACE EDITION_NAME
------ ----------- ---------- ---------- -------------- --------------- ------------------- ------------------- ------------------- ------- - - - ---------- ------------
SCOTT  TPART                       88785                TABLE           2016-10-27 09:18:02 2016-10-27 09:18:02 2016-10-27:09:18:02 VALID   N N N          1
SCOTT  TPART       P_100           88786          88786 TABLE PARTITION 2016-10-27 09:18:02 2016-10-27 09:18:02 2016-10-27:09:18:02 VALID   N N N          1
SCOTT  TPART       P_200           88787          88787 TABLE PARTITION 2016-10-27 09:18:02 2016-10-27 09:18:02 2016-10-27:09:18:02 VALID   N N N          1
SCOTT  TPART       P_300           88788          88788 TABLE PARTITION 2016-10-27 09:18:02 2016-10-27 09:18:02 2016-10-27:09:18:02 VALID   N N N          1

SCOTT@book> select ts#,file#,block#,flags,bitand(flags, 65536) from sys.tabpart$ where obj#=88786;
       TS#      FILE#     BLOCK#      FLAGS BITAND(FLAGS,65536)
---------- ---------- ---------- ---------- -------------------
         4          0          0      65536               65536

--//由于使用段延迟建立,没有数据的对象,没有分配段。插入1行,分配段看看。
SCOTT@book> insert into tpart values(1,'a');
1 row created.

SCOTT@book> commit ;
Commit complete.

SCOTT@book> select ts#,file#,block#,flags,bitand(flags, 65536) from sys.tabpart$ where obj#=88786;
       TS#      FILE#     BLOCK#      FLAGS BITAND(FLAGS,65536)
---------- ---------- ---------- ---------- -------------------
         4          4        657          0                   0

--一旦段分配了flags不再等于65536,而且file#,block#不再是0.

SCOTT@book> select owner,segment_name,partition_name,segment_type,header_file,header_block,bytes,blocks,extents from dba_segments where owner=user and segment_name='TPART';
OWNER  SEGMENT_NAME         PARTITION_NAME                 SEGMENT_TYPE       HEADER_FILE HEADER_BLOCK      BYTES     BLOCKS    EXTENTS
------ -------------------- ------------------------------ ------------------ ----------- ------------ ---------- ---------- ----------
SCOTT  TPART                P_100                          TABLE PARTITION              4          657    8388608       1024          1

3.开始破坏数据字典不一致。

SCOTT@book> select obj#,ts#,file#,block#,flags,bitand(flags, 65536) from sys.tabpart$ where obj# in (88786,88787,88788);
      OBJ#        TS#      FILE#     BLOCK#      FLAGS BITAND(FLAGS,65536)
---------- ---------- ---------- ---------- ---------- -------------------
     88786          4          4        657          0                   0
     88787          4          0          0      65536               65536
     88788          4          0          0      65536               65536

SYS@book> update tabpart$ set flags=0 where  obj#=88787;
1 row updated.

SYS@book> commit ;
Commit complete.

SCOTT@book> select obj#,ts#,file#,block#,flags,bitand(flags, 65536) from sys.tabpart$ where obj# in (88786,88787,88788);
      OBJ#        TS#      FILE#     BLOCK#      FLAGS BITAND(FLAGS,65536)
---------- ---------- ---------- ---------- ---------- -------------------
     88786          4          4        657          0                   0
     88787          4          0          0          0                   0
     88788          4          0          0      65536               65536

SCOTT@book> alter system flush shared_pool;
System altered.

SCOTT@book> select * from tpart partition(p_200);
select * from tpart partition(p_200)
              *
ERROR at line 1:
ORA-00600: internal error code, arguments: [kkpo_rcinfo_defstg:delseg], [88787], [], [], [], [], [], [], [], [], [], []

-- 产生错误,第2个参数值obj#。

select i.obj#, i.ts#, i.file#, i.block#, i.bo#, s.type#
from seg$ s, tabpart$ i
where i.ts#=s.ts#(+)
  and i.file#=s.file#(+)
  and i.block#=s.block#(+)
  and i.dataobj# is not null   /* A Physical object, Excludes IOT */
  and nvl(s.type#,0)!=5
  and bitand(i.flags, 65536) != 65536 /* Exclude DEFERRED Segment */;

OBJ#        TS#      FILE#     BLOCK#        BO#      TYPE#
---------- ---------- ---------- ---------- ---------- ----------
     88787          4          0          0      88785

SCOTT@book> alter table tpart modify partition p_200  allocate extent(size 10m);
alter table tpart modify partition p_200  allocate extent(size 10m)
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [25027], [4], [0], [], [], [], [], [], [], [], [], []

SCOTT@book> alter table tpart move partition p_200;
alter table tpart move partition p_200
            *
ERROR at line 1:
ORA-00600: internal error code, arguments: [ktadrprc-1], [], [], [], [], [], [], [], [], [], [], []

--//使用分区交换看看。
SCOTT@book> create table tpart_bak as select * from tpart partition(p_100) where 1=0;
Table created.

SCOTT@book> alter table tpart exchange partition p_200 with table tpart_bak;
alter table tpart exchange partition p_200 with table tpart_bak
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [ktsssun_segment2], [4], [0], [0], [], [], [], [], [], [], [], []

4.修正回来:
SYS@book> update  tabpart$ set flags=65536 where  obj#=88787;
1 row updated.

SYS@book> commit ;
Commit complete.

SCOTT@book> alter system flush shared_pool;
System altered.

SCOTT@book> select * from tpart partition(p_200);
no rows selected

--ok现在问题消失。

SCOTT@book> select obj#,ts#,file#,block#,flags,bitand(flags, 65536) from sys.tabpart$ where obj# in (88786,88787,88788);
      OBJ#        TS#      FILE#     BLOCK#      FLAGS BITAND(FLAGS,65536)
---------- ---------- ---------- ---------- ---------- -------------------
     88786          4          4        657          0                   0
     88787          4          0          0      65536               65536
     88788          4          0          0      65536               65536

--move看看,是否分配段。

SCOTT@book> select obj#,ts#,file#,block#,flags,bitand(flags, 65536) from sys.tabpart$ where obj# in (88786,88787,88788);
      OBJ#        TS#      FILE#     BLOCK#      FLAGS BITAND(FLAGS,65536)
---------- ---------- ---------- ---------- ---------- -------------------
     88786          4          4        657          0                   0
     88787          4          0          0      65536               65536
     88788          4          0          0      65536               65536

SCOTT@book> select owner,segment_name,partition_name,segment_type,header_file,header_block,bytes,blocks,extents from dba_segments where owner=user and segment_name='TPART';
OWNER  SEGMENT_NAME         PARTITION_NAME                 SEGMENT_TYPE       HEADER_FILE HEADER_BLOCK      BYTES     BLOCKS    EXTENTS
------ -------------------- ------------------------------ ------------------ ----------- ------------ ---------- ---------- ----------
SCOTT  TPART                P_100                          TABLE PARTITION              4          657    8388608       1024          1

SCOTT@book> alter table tpart modify partition p_200  allocate extent(size 10m);
Table altered.

SCOTT@book> select owner,segment_name,partition_name,segment_type,header_file,header_block,bytes,blocks,extents from dba_segments where owner=user and segment_name='TPART';
OWNER  SEGMENT_NAME         PARTITION_NAME SEGMENT_TYPE       HEADER_FILE HEADER_BLOCK      BYTES     BLOCKS    EXTENTS
------ -------------------- -------------- ------------------ ----------- ------------ ---------- ---------- ----------
SCOTT  TPART                P_200          TABLE PARTITION              4         1681   18874368       2304          4
SCOTT  TPART                P_100          TABLE PARTITION              4          657    8388608       1024          1

--另外注意一个小细节,就是建立的段分配1024块,占用8M,这个oracle隐含参数影响_partition_large_extents=true影响,如果分区
--很多,而每个分区记录很小的情况下,空间浪费很大。

SYS@book> @ &r/hide _partition_large_extents
NAME                           DESCRIPTION                                             DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE
------------------------------ ------------------------------------------------------- ------------- ------------- ------------
_index_partition_large_extents Enables large extent allocation for partitioned indices TRUE          FALSE         FALSE
_partition_large_extents       Enables large extent allocation for partitioned tables  TRUE          TRUE          TRUE

总结:

因为某些原因数据字典表不一致,导到该表在查询或导出时都会提示ora-600 [kkpo_rcinfo_defstg:delseg] 错误,因为数据库使用延迟
段创建,手动分配segment时提示ORA-600 [25027],对分区做MOVE时会提示ORA-600 [ktadrprc-1], 使用hcheck脚本检查会提示Orphaned
TABPART$ ,然后通过脚本中找到字典的错误,修改数据字典后记的flush shared_pool, 使用RAC 时刷新所有实例shared_pool,并重新登
录验证,问题得到解决。生产不建议对基表直接修改,或修改前备份。

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

转载于:http://blog.itpub.net/267265/viewspace-2127186/

1025ORA-00600[kkpo_rcinfo_defstgdelseg]相关推荐

  1. 00600 ora 关闭oracle_ORA-00600的解决方法?

    说明: 系统是从2003年底开始启用的,我最近才接手,对于系统的历史情况不了解,但从alert.log文件知道,ORA-00600 [17069]错误去年就有了,一直没有得到解决.现在把系统的基本情况 ...

  2. 00600 ora 关闭oracle_Oracle集群高可用故障切换

    原文链接 [WK-T]ORACLE 10G 配置故障转移(Failover)​blog.itpub.net 文章参考:<大话 Oracle RAC 集群 高可用性 备份与恢复> 张晓明 编 ...

  3. oracle掉电后ora 00600,ORA-00600: 内部错误代码, 参数: [kcratr1_lastbwr](转)

    原因: 可能是非法关机或掉电造成,以下是出 现的问题及解决方法: C:/Documents and Settings /Administrator>sqlplus SQL*Plus: Relea ...

  4. oracle 00600 kccpb,【案例】Oracle报错ORA-00600 kccpb_sanity_check_2 恢复控制文件过程

    天萃荷净 运维DBA反映Oracle数据库报错ORA-00600 kccpb_sanity_check_2,分析原因为数据库无法启动用户重建控制文件导致部分数据文件异常 有客户数据库由于某种原因无法o ...

  5. oracle 00600 kccpb,ora-00600 [kccpb_sanity_check_2] 错误处理

    遇到如下报错(数据库版本为10205),根据mos和baidu搜索,结合现场环境情况使用第三种方法进行了恢复. ora-00600:internal error code ,arguments:[kc ...

  6. oracle 00600 kccpb,ORA-00600: [kccpb_sanity_check_2]报错处理一则

    昨天遇到一个断电导致oracle异常的案例,记录一下: 客户方有同事不懂数据库,直接将装有oracle双机的两台服务器直接先后断电,等待几分钟再重新启动两台服务器,结果后来oracle在启动的时候报如 ...

  7. oracle 00600 kccpb,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...

    在哪些情况下,数据库不启动附加日志不能正常的被Logminer捕获到的,这里做了一个简单的测试,说明在不启用附加日志的情况下,很多操作不能被捕获,不仅仅是行迁移的数据记录.当然本实验仅供参考,因为在不 ...

  8. html财务统计,财务统计.html · 珠烟/layuiadmin-templete - Gitee.com

    众创数字资产综合运营管理平台 年份 请选择 2017 2016 2015 2014 今日近7天近30天查询 2016-12-01 至 2016-12-28共计: 成交数量:1800 商品成本:1200 ...

  9. 100W无线电耦合功率测试实验

    ▌01 无线功率耦合   根据 Experimental Test on a Contactless Power Transfer System 中的方案,进行无线功率发送实验. ⊙ 耦合线圈   1 ...

最新文章

  1. 源码安装apache及配置转发
  2. 非线程安全的HashMap 和 线程安全的ConcurrentHashMap
  3. ES6_入门(2)_const命令
  4. python(numpy,pandas1)——numpy(ndim,shape,size,zero, empty, arange, linspace)
  5. scala编程第18章学习笔记——有状态的对象
  6. cnnvd爬取漏洞信息
  7. 常见路由器初始密码合集
  8. c语言实现对矩阵进行行程编码,游程编码行程编码.pptx
  9. 火车采集器如何采集ajax数据和百度站内搜索数据
  10. Elasticsearch:从搜索中获取选定的字段 fields
  11. 群晖docker搭建halo个人博客
  12. 货币政策新款“奥利给”:普惠小微企业信贷支持计划的制约与动力
  13. 我的IT成长路——为梦想扬帆起航
  14. 计算机本科 很多很多科目的总结
  15. C语言中打印图形问题
  16. FreeRTOSMini
  17. 离开 FB 两年后,Instagram 创始人干嘛去了?
  18. crh寄存器_牛人的STM32学习笔记(寄存器版本).doc
  19. 带联网功能的RFID宿舍门禁(五)-项目总结
  20. 报错(root) Additional property redis is not allowed

热门文章

  1. 文献阅读-图文匹配的相似性推理和过滤
  2. Android开发之Compose学习示例之一个简单的网络图片列表展示
  3. Vivado RTL Schematic两种寄存器
  4. CPU性能衡量参数-主频,MIPS,CPI,时钟周期,机器周期,指令周期之时钟频率计算
  5. SEH异常之编译器原理探究
  6. DSA之十大排序算法第二种:Straight Selection Sort
  7. myelicpes2019初次使用设置_【北通手柄设置】实况足球2019手柄操作设置教程-挖辣椒攻略...
  8. Java转Go从零开始学习一:GoLand环境搭建及输出HelloWord
  9. Delphi数据类型ASCⅡ快捷键查询
  10. Cortex-M软件结构