我们正在尝试在表中输入1.6M记录,但是,我们正在进入" undo表空间"错误描述如下。有什么建议?我们在这里查看了其他类似的错误,但没有找到解决方案。
情侣笔记:
错误:
SQL Error: ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
30036. 00000 - "unable to extend segment by %s in undo tablespace '%s'"
*Cause: the specified undo tablespace has no more space available.
*Action: Add more space to the undo tablespace before retrying
the operation. An alternative is to wait until active
transactions to commit.
答案 0 :(得分:0)
找到答案。遇到了一个YouTube视频,该视频有足够的信息可以帮我拼凑答案(我发现视频还行,但很有帮助):
情侣笔记
1)首先请注意,为了释放UNDO表空间中的空间,您必须提交" commit"交易。 2)第二个注释UNDO表空间有一个大小限制。 3)最后,它还有一个保留时间,所以即使你提交了事务,你也必须等待一段时间才能释放要使用的空间。
第三个是让我失望的部分,因为我无法理解为什么即使在提交交易后我仍然遇到UNDO表空间问题。
要解决问题,我所要做的只是增加表空间的大小,然后为了避免下次出现问题,我减少了保留时间(小心第二部分 - 请参阅视频)。
用这个增加尺寸:
ALTER DATABASE DATAFILE 'C:\MYDBLOCATION\UNDOTBS1.DBF' RESIZE 1024M;