1.查找数据库的UNDO表空间名                  
 select name from v$tablespace;               
                            
2.检查数据库UNDO表空间占用空间情况以及数据文件存放位置;       
select   file_name, bytes/1024/1024 from dba_data_files;       
                            
3.查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间。
select   s.username, u.name, d.tablespace_name           
from   v$transaction t,v$rollstat r, v$rollname u, v$session s, dba_rollback_segs d
where   s.taddr=t.addr and t.xidusn=r.usn and r.usn=u.usn and r.usn=d.SEGMENT_ID   order by s.username;
                            
4.检查UNDO   Segment状态                   
select usn,   xacts, rssize/1024/1024/1024, hwmsize/1024/1024/1024, shrinks
 from v$rollstat order by rssize;               
                            
5.创建新的UNDO表空间,并设置自动扩展参数;            
 create undo tablespace undotbs2   datafile '/home/oracle/product/11.2.0/oradata/srcl/undotbs02.dbf' size 1000m reuse autoextend on next 800m maxsize 10G;
                            
6.动态更改spfile配置文件;                  
alter   system set undo_tablespace=undotbs2 scope=both;       
                            
7.等待原UNDO表空间所有UNDO   SEGMENT OFFLINE;           
select   segment_name, tablespace_name, status from dba_rollback_segs; 
                            
8.再执行看UNDO表空间所有UNDO   SEGMENT ONLINE;           
select   segment_name, tablespace_name, status from dba_rollback_segs; 
                            
9.删除原有的UNDO表空间;                   
drop   tablespace undotbs1 including   contents;          
                            
10.确认删除是否成功;                    
select name   from v$tablespace;                
                            
11.册除原UNDO表空间的数据文件,其文件名为步骤中执行的结果。      
#rm /home/oracle/product/11.2.0/oradata/srcl/undotbs01.dbf   
05-28 12:57