IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ORA-00600: 内部错误代码, 参数: [6856] 一例

    PDSERVICE发表于 2016-05-31 05:55:03
    love 0

    如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

    诗檀软件专业数据库修复团队 

    服务热线 : 400-690-3643   备用电话: 13764045638    邮箱:service@parnassusdata.com

     

    ORA-00600: 内部错误代码, 参数: [6856]

     

    某用户数据库一表空间tablespace在OFFLINE之后出现无法ONLINE的问题,一旦操作alter tablespace ABC  online即报错:

    QQ截图20151221143340

     

    alter tablespace abc online;
    
    error at line 1:
    
    ORA-00600: internal error code, arguments : [6856],[0],[163]
    
    
    根据600的argument 1 可知该报错应当与发现该表空间上的数据与undo数据之间存在不一致所致。
    
    Ora-600 Base Functionality Description
    6000 ram/data
    ram/analyze
    ram/index
    data, analyze command and index related activity

     

    这里的undo数据指的是 Deferred Undo Segment;

    些DEFERRED ROLLBACK也叫做SAVE Undo segments,具有以下的特性:

    • 其存在是为了那些突然OFFLINE掉的表空间上的活跃事务存放UNDO/Rollback回滚数据
    • Segment_name数据段的名字为FILE#文件号.Block#块号
    • 其SEGMENT_TYPE是DEFERRED ROLLBACK
    • 一般自动创建在SYSTEM表空间上
    • 属于SYS用户
    • 如果OFFLINE掉的表空间重新ONLINE且undo数据已经被应用则会被自动DROP掉

     

    Deferred Undo Segments是特殊用途的回滚段,其中的undo数据不同于undo表空间上的数据结构,以一种简单的顺序日志形式存在。其SEGMENT_NAME为FILE#.Block#,对应其段头segment header的物理位置。

    从DBA_SEGMENTS查的话就是SEGMENT_TYPE为DEFERRED ROLLBACK的数据段,一般存在SYSTEM表空间上,且属于SYS用户。  有用户遇到过OFFLINE掉几个表空间后,SYSTEM表空间急速膨胀,最后查出来就是被这些DEFERRED ROLLBACK回滚段占用了空间。

     

    具体可以见 :http://www.askmaclean.com/archives/deferred-rollback.html

     

    对于该ORA-00600: internal error code, arguments : [6856],[0],[163] 报错的解决方案是找到其对应的deferred rollback 回滚数据段,并使用例如bbed之类的命令对该deferred rollback segment中的 rollback header做一些处理。

     



沪ICP备19023445号-2号
友情链接