Email: service@parnassusdata.com 7 x 24 online support!

    You are here

    • You are here:
    • Home > Blogs > PDSERVICE's blog > Oracle ORA-01578: ORACLE 数据块损坏 (文件号 , 块号 ) 尝试设置一个表空间联机

Oracle ORA-01578: ORACLE 数据块损坏 (文件号 , 块号 ) 尝试设置一个表空间联机

Oracle ORA-01578: ORACLE 数据块损坏 (文件号 , 块号 ) 尝试设置一个表空间联机

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

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

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

ORA-01578: ORACLE 数据块损坏 (文件号 , 块号 )

 

[oracle@ocm_rac01 ~]$ oerr ora 01578
01578, 00000, "ORACLE data block corrupted (file # %s, block # %s)"
// *Cause:  The data block indicated was corrupted, mostly due to software
//          errors.
// *Action: Try to restore the segment containing the block indicated. This
//          may involve dropping the segment and recreating it. If there
//          is a trace file, report the errors in it to your ORACLE
//          representative.

 

适用于:

Oracle Database – Enterprise Edition – 版本 11.2.0.3及以上
本文信息适用于任何平台。

目标

当尝试设置表空间联机时,报告ORA-1578错误。

查看errorstack 跟踪,我们可以看到函数ktundo

块不属于任何段

 

解决方案

需要一个非活跃事务来清理回收站中该段的块
当尝试设置表空间联机时,这是该错误的根源。

ORA-01578: ORACLE data block corrupted (file # 3241, block # 64066)
ORA-01110: data file 3241: ‘+DATA/trexprod/datafile/users.2148.852306913’

========= Dump for incident 1718151 (ORA 1578) ========

*** 2014-07-23 13:39:56.893
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
—– Current SQL Statement for this session (sql_id=g2sc9yx7t379a) —–
alter tablespace USERS online

—– Call Stack Trace —–
kcbgcur KCB: Get a block in current mode.
ktbgcur Kernel Transaction Block GET
kdoiur declare local objects */
kcoubk kcoubk – Kernel Cache Op Undo callBacK — invoke undo callback routine */
ktundo ktundo – Kernel Transaction UNDO
kttasu kttasu – Kernel Transaction Table Apply Save Undo
kttonl kttonl – Kernel Transaction Table ONLine
atsdrv add file list */
kcbgcur KCB: Get a block in current mode.
ktbgcur Kernel Transaction Block GET
kdoiur declare local objects */
kcoubk kcoubk – Kernel Cache Op Undo callBacK — invoke undo callback routine */
ktundo ktundo – Kernel Transaction UNDO
kttasu kttasu – Kernel Transaction Table Apply Save Undo
kttonl kttonl – Kernel Transaction Table ONLine
atsdrv add file list */

BH (0x8cf9c6188) file#: 3241 rdba: 0x2b00fa42 (172/64066) class: 1 ba: 0x8c54dc000
set: 400 pool: 3 bsz: 8192 bsi: 0 sflg: 1 pwc: 0,25
dbwrid: 15 obj: 41612848 objn: -1 tsn: 7 afn: 3241 hint: f
hash: [0x1766a27d00,0x1766a27d00] lru: [0xcffcdecf0,0xaef6b81c0]
ckptq: [NULL] fileq: [NULL] objq: [0x1620f39a60,0x1620f39a60] objaq: [0x1620f39a50,0x1620f39a50]
use: [0x17771ca878,0x17771ca878] wait: [NULL]
st: XCURRENT md: EXCL fpin: ‘kdowh01: kdoiur’ tch: 0
flags:
LRBA: [0x0.0.0] LSCN: [0x0.0] HSCN: [0xffff.ffffffff] HSUB: [65535]
buffer tsn: 7 rdba: 0x2b00fa42 (172/64066)
scn: 0x0c17.57840563 seq: 0xff flg: 0x04 tail: 0x056306ff
frmt: 0x02 chkval: 0xcf9c type: 0x06=trans data

Object in the recycle bin

清理回收站的对象,解决问题