UNDO 表空间数据块损坏 ORA-01578 & ORA-01110

本文描述了一种解决Oracle数据库中遇到的ORA-01578和ORA-01110错误的方法,即UNDO表空间数据块损坏。通过创建新的UNDO表空间,切换到新表空间,然后删除损坏的表空间,从而完成数据的清理和系统的恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UNDO 表空间数据块损坏 ORA-01578 & ORA-01110

前两天搭了某测试数据库,最近被告之删除数据时报错。

 

alert .log

--------------------------------------

Thu Apr 14 01:58:49 2011

Errors in file D:/oracle/admin/MRC/bdump/mrcSMON.TRC:

ORA-01595: error freeing extent (2) of rollback segment (1))

ORA-01578: ORACLE data block corrupted (file # 2, block # 3)

ORA-01110: data file 2: 'E:/ORADATA/UNDOTBS01.DBF'

--------------------------------------

 

 

是程序员执行delete 语句时报错,工具toad 。 

Oracle version :9205


delete from mrc_ext_detail_really


报:

-------------------------------------


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

ORA-01110: 数据文件 2: 'E:/ORADATA/UNDOTBS01.DBF'


我查了这张表一下。大概300W数据,并且该表建了很恶心的索引。3个索引。


好吧。首先直接删这表会怎样呢?可想而知..慢的要死,要么机器死,要么人阵亡。

 

如果要直接删除所有数据,那么truncate 好了。

 

回到主题:

由于测试DB的这张表是需要删除所有数据的。因此不用导出导入table中的数据。

 

 

因此.....

 

 

如果正式数据库上可要小心操作哦。也可以用一临时UNDO表空间来做切换,以达到删除重建原来的UNDO表空间的目的。

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值