永发信息网

oracle undo表空间过大的原因是什么?如何进一步分析undo里的数据,推算出是执行了哪些dml造成的?

答案:2  悬赏:0  手机版
解决时间 2021-03-21 04:03
  • 提问者网友:浩歌待明月
  • 2021-03-20 13:38
oracle undo表空间过大的原因是什么?如何进一步分析undo里的数据,推算出是执行了哪些dml造成的?
最佳答案
  • 五星知识达人网友:我住北渡口
  • 2021-03-20 14:51
Oracle的EM里提供一些advisor功能,其中就有对undo的分析建议,你可以看看
全部回答
  • 1楼网友:山君与见山
  • 2021-03-20 15:18
处理方法有两种, 一是添加undo 表空间的数据文件, 二是切换undo tablespace. 这种情况下多用在undo 表空间已经非常大的情况。 1 增加数据文件 sql> alter tablespace undo add datafile 'd:\undo02.dbf' size 100m reuse; 表空间已更改。 2 切换undo 表空间 1、建立新的表空间undotbs2 sql> create undo tablespace undotbs2 datafile 'd:\undo03.dbf' size 100m reuse; 表空间已创建。 2、切换到新建的undo表空间上来,操作如下 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。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯