总结 ?ORA-01548: 已找到活动回退段 '_SYSSMU1$', 终止删除表空间?
出现的原因:由于服务器自动重新启动造成回滚事务没有及时提交造成数据库块的损坏,及后面造成一系列的问题。
/* :
Wed Dec 08 15:20:03 2010
Errors in file d:/oracle/product/10.2.0/admin/taxdev/bdump/taxdev_smon_2572.trc:
ORA-01578: ORACLE data block corrupted (file # 48, block # 1919)
ORA-01110: data file 48: 'F:/UNDO0001'
*/
前提已经建立好表空间undo2:
--DROP TABLESPACE UNDOTB1 INCLUDING CONTENTS AND DATAFILES;
CREATE UNDO TABLESPACE undo2 DATAFILE
'F:/UNDO02' SIZE 1000M AUTOEXTEND ON NEXT 50M MAXSIZE 8000M,
'F:/UNDO03' SIZE 1000M AUTOEXTEND ON NEXT 50M MAXSIZE 8000M,
'F:/UNDO04' SIZE 1000M AUTOEXTEND ON NEXT 50M MAXSIZE 8000M,
'F:/UNDO05' SIZE 1000M AUTOEXTEND ON NEXT 50M MAXSIZE 8000M
ONLINE
RETENTION NOGUARANTEE
BLOCKSIZE 8K
FLASHBACK ON;
-- 删除回滚段
DROP TABLESPACE UNDO2 INCLUDING CONTENTS AND DATAFILES;
?ORA-01548: 已找到活动回退段 '_SYSSMU1$', 终止删除表空间
--CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE 'F:/UNDOTBS1.DBF' SIZE2000M;
/*
Wed Dec 08 15:20:03 2010
Errors in file d:/oracle/product/10.2.0/admin/taxdev/bdump/taxdev_smon_2572.trc:
ORA-01578: ORACLE data block corrupted (file # 48, block # 1919)
ORA-01110: data file 48: 'F:/UNDO0001'
*/
可是这里没有备份啊,那就先确定损坏的是什么
SELECT segment_name, segment_type, owner, tablespace_name
FROM dba_extents
WHERE file_id = 48 AND 1919 BETWEEN block_id AND block_id + blocks - 1
查询结果如下
---------------------------------------------------------------------
segment_name segment_