oracle批量提交,autocommit设置

dut703 2010-10-11 11:17:38
各位大虾,从一个表A中,更新数据到表B。A表的数据来自周边系统给的数据文件,正式上线时每天获取增量数据,
数据量不大。
第一次上线时,要拿一份全量数据,数量级有将近3000万,并且A表是一个很大的表,有80多个字段。
因此第一次上线时,用A表更新B表,数据量很大。
db为oracle 9i
默认autocommit为off
我就想设置自动提交。
大概过程如下:
set autocommit on;
set autocommit 200000;
insert /*+ append */ into A nologging
select column_name
from B
;
commit;
set autocommit off;
执行时,我一直在观察A所在的空闲表空间TABLESPACE_A大小。TABLESPACE_A的大小一直在减小,过了片刻,大小不再变化。
此时程序停顿在那里,undo表空间和索引表空间的空闲空间大小也开始减少。
此时查询A表状态,A表上有6级锁,这个正常,append时加6级锁。
但是查询A表中的数据,一直为0。
然后程序又运行了一段时间,A中的数据一直为0。
我设置的autocommit 200000一点用处都没。
本人菜鸟,忘不吝赐教。
...全文
471 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

17,140

社区成员

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

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