drop tablespace UNDOTBS1 including contents and datafiles;
修改pfile.ora,去除之前添加的隐藏参数启动数据库:
startup pfile='c:/pfile.ora'
检查数据库是否能正常工作。
检查正常,确认完成修复,重启服务器。
以下为修复中使用过的一些命令记录:
查询正在运行的事务的回滚段使用情况
select s.username, u.name from v$transaction t,v$rollstat r, v$rollname u,v$session s where s.taddr=t.addr and t.xidusn=r.usn and r.usn=u.usn order by s.username;
查询数据文件情况
select * from dba_data_files where tablespace_name like 'UNDOTBS1';
查询回滚空间的使用情况
select usn,xacts,status,rssize/1024/1024/1024, hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;
创建新的UNDO表空间
create undo tablespace undotbs2 datafile 'D:\app\Administrator\oradata\QAS\UNDOTBS02.DBF' size 10m reuse autoextend on next 100m maxsize 20g;
指定系统使用新的UNDO表空间
alter system set undo_tablespace=undotbs2 scope=both;
显示UNDO相关参数
show parameter undo;
几个参考链接:
http://blog.csdn.net/life_dba/article/details/9139353
http://blog.csdn.net/cockcrow/article/details/598703
http://www.dba-oracle.com/t_fix_undo_log_corruption.htm