近日发生undo空间爆满,准备进行undo空间切换
步骤如下:
1.创建新的UNDO空间
create undo tablespace undotbs1 datafile 'e:\oradata\undotbs1.DBF' size 10000m reuse autoextend on next 800m maxsize unlimited;
2.切换UNDO空间
alter system set UNDO_TABLESPACE=UNDOTBS1
3.查看正在使用的UNDO空间
select segment_name,status,tablespace_name from dba_rollback_seg;
4.如果在以前UNDO空间的segment 都已经 underline
drop tablespace undotbs2 including contents and datafiles;
5.如果出现 ORA-01548 错误
查找 oracle 安装目录\admin\......\spfile\init.ora********
在undo说明下添加
_corrupted_rollback_segments=( _SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU1$)
意义为回滚段限制为 1~10
然后 sqlplus 下 shutdown abort
startup pfile='E:/oracle/product/10.2.0/db_1/database/inittest.ora'; '更换为上述更改的 init.ora
然后 运行 drop tablespace undotbs2 including contents and datafiles;