首页 > Linux操作系统 > Linux操作系统 > 同事问Undo表空间老是满?
undo表空间会自动扩展吗?
答:创建表空间时指定了数据文件autoextend on,会自动扩展;但可以通过限定最大值。也可以autoextend off。
undo 表空间太大,对性能有影响吗,到底多少才是合适?
答:从v$parameter中查出有几个参数跟回滚段大小设置有关:undo_management/undo_tablespace/undo_retention。
至于undo表空间太大,对性能是否有影响,还需要研究。
unod表空间貌似没有回收这一说法。通过重建undo表空间,切换undo_tablespace来删除之前很大的回滚表空间。
切换UNDO 表空间(下面是参考别人的例子)
1、建立新的表空间UNDOTBS2
SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'F:/backup/undo03.dbf' size 100M reuse;
表空间已创建。
2、切换到新建的UNOD表空间上来,操作如下
SQL> alter system set undo_tablespace=UNDOTBS2 scope=both;
系统已更改。
3、将原来的UNDO表空间,置为脱机:
SQL> alter tablespace UNDO offline;
表空间已更改。
4、删除原来的UNDO表空间:
SQL> drop tablespace UNDO including contents AND DATAFILES CASCADE CONSTRAINTS ;
表空间已删除。
如果只是drop tablespace UNDO ,则只会在删除控制文件里的记录,并不会物理删除文件。
Drop undo表空间的时候必须是在未使用的情况下才能进行。如果undo表空间正在使用(例如事务失败,但是还没有恢复成功),那么drop表空间命令将失败。在drop表空间的时候可以使用including contents。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24349972/viewspace-758676/ ,如需转载,请注明出处,否则将追究法律责任。