事务中不提交或不回滚会造成连接上的内存泄漏吗?

spiderww 2008-04-02 02:26:32
创建一个连接并开始一个事务,若循环提交DML语句但不进行commit或rollback,连接上的内存会不断增长吗?如果是的话有没有上限控制啊,例如不能超出回滚区的大小?如果没有上限是不是就会用光内存?
...全文
392 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
spiderww 2008-04-08
  • 打赏
  • 举报
回复
谢谢大家,有些清楚了
utpcb 2008-04-03
  • 打赏
  • 举报
回复
up
wffffc 2008-04-03
  • 打赏
  • 举报
回复
若循环提交DML语句但不进行commit或rollback?提交不是commit吗?

连接上的内存会不断增长吗?我觉得不会。
开发的时候根据业务的需要进行提交就可以了,一般不会有问题的。

dml只是会产生undo信息,同时写入redo日志,还有就是把数据块写入数据文件,涉及的内存包括:块缓存区,日志缓存区,shared pool,等,oracle中的内存分配要不是分配好的,也就是固定大小。要不就是oracle自动管理的,由orcle动态调整。


doer_ljy 2008-04-02
  • 打赏
  • 举报
回复
应该不会是无限增加这么简单的处理。
首先要看你的回滚管理方式,使自动撤销管理方式还是手动方式(回滚段管理方式)。
然后还有可能被undo_retention影响。
spiderww 2008-04-02
  • 打赏
  • 举报
回复
undo表空间好像是可以自动扩展的啊,如果自动扩展的话,超大的事务会造成内存耗尽吧
spiderww 2008-04-02
  • 打赏
  • 举报
回复
如果事务一直不结束是什么情况?是不是只要在undo表空间大小范围之内就没有问题?
小兽 2008-04-02
  • 打赏
  • 举报
回复
当然不会,要不PMON是干什么吃的?
CathySun118 2008-04-02
  • 打赏
  • 举报
回复
内存泄漏,不会阿!
wffffc 2008-04-02
  • 打赏
  • 举报
回复
事物结束的时候提交,只要undo表空间不要太小一般不会有问题

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧