Undo表空间满了的问题

场景描述:这个数据库有大量的DML操作。显示通过sqlldr 外部加载大量数据到表中,开发人员对数据进行分析。分析完后,再delete删除某几个月的数据。
由于有这样的操作,导致了undo表空间迅速第一次满了,后来给undo增加了一个datafile,可是今天又满了。怎么undo段不进行释放呢。
SQL> show parameter undo;

NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string         AUTO
undo_retention                           integer         900
undo_tablespace                      string         UNDOTBS1

++++++++++++++++++++++++++++++++++++++++++++++++++=
SQL> SELECT   tablespace_name, status, SUM (bytes) / 1024 / 1024 "Bytes(M)"
FROM   DBA_undo_extents
GROUP BY   tablespace_name, status;  2    3  

TABLESPACE_NAME                STATUS        Bytes(M)
------------------------------ --------- ----------
UNDOTBS1                       UNEXPIRED     1.9375
UNDOTBS1                       EXPIRED        4.875
UNDOTBS1                       ACTIVE        65479.5625
标签: 暂无标签
yiyufeng1986

写了 2 篇文章,拥有财富 32,被 1 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P6 | 发表于 2012-6-23 15:20:01
大部分是active,那说明你的数据库中有大量的活动事务,查一下v$transaction视图。
回复

使用道具

P3 | 发表于 2012-6-23 18:18:31
oraunix 发表于 2012-6-23 15:20
大部分是active,那说明你的数据库中有大量的活动事务,查一下v$transaction视图。 ...

老师,我看了一下这个视图。里面就有一条记录。
回复

使用道具

P6 | 发表于 2012-6-26 10:32:49
毫无疑问,你的活动事务使用了大量的undo空间。
应该是批处理。
回复

使用道具

P4 | 发表于 2013-8-20 17:47:26
oraunix 发表于 2012-6-26 10:32
毫无疑问,你的活动事务使用了大量的undo空间。
应该是批处理。

那是要继续增加 undo 空间么?
回复

使用道具

P5 | 发表于 2013-8-20 20:22:52
数据量大可以考虑应用上调整,比如分区
回复

使用道具

P4 | 发表于 2013-8-25 14:53:02
明显你应该批量操作
回复

使用道具

P4 | 发表于 2013-8-25 14:54:24
分批量的,不然一次事物没完就弄爆了
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈