回收undo表空间

回收UNDO空间:
1确认undo
selectfile_name,bytes/1024/1024fromdba_data_fileswheretablespace_namelike'UNDOTBS1';
2检查UNDOSegment状态
3selectusn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinksfromv$rollstatorderbyrssize;
4创建新的UNDO表空间
createundotablespaceundotbs2datafile'/oradata/mlq/undotbs02.dbf'size20M;
5切换UNDO表空间为新的UNDO表空间
altersystemsetundo_tablespace=undotbs2scope=both;
6等待原UNDO表空间所有UNDOSEGMENTOFFLINE
selectusn,xacts,status,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinksfromv$rollstatorderbyrssize;
7删除原UNDO表空间
droptablespaceundotbs1includingcontents;
8检查空间情况

selecttablespace_name,sum(bytes)/1024/1024/1024GBfromdba_data_filesgroupbytablespace_nameunionallselecttablespace_name,sum(bytes)/1024/1024/1024GBfromdba_temp_filesgroupbytablespace_nameorderbyGB;

你可能感兴趣的:(回收undo表空间)