| 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 | |||||||||||||||||||||||||||