关于ORACLE9I回滚段的问题,送100分 为了你的目标:我希望插入的过程中不COMMIT,当插入完成后COMMIT,如果中间有插入不成功的地方,ROLLBACK.似乎没办法了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个很容易把插入前begin transaction插入操作.........commit;exception when others then rollback;这不就结了 具体在oracle中,用SAVEPOINT KEY_POINT ;插入操作.........COMMIT WORK ;exception when others then ROLLBACK TO SAVEPOINT KEY_POINT ; begin transactioninsertcommit;exception when others then rollback; xzou(亡狼补齿)的能成功吗?疑问中。。????加大回滚段的做法可行,但需要硬盘空间够大。 没看清楚问题这样的话如果你的是8i或以前的版本,应该建立一个大的回滚段来专门处理这个事务1.先生成一个大的回滚段,不够再加大。create public rollback segment rb1 storage(initial 5m) tablespace rbs;alter rollback segment rb1 offline;2.运行这个大事务前alter rollback segment rb1 online;3.在事务中声明set transaction use rollback segment rb1;进行插入操作.......commit;/rollback........ 你看一下你的回滚段是不是太小了呀?200万记录insert不需要很多回滚段的呀!!insert操作回滚段中只记录这些记录的ROWID,delete是使用回滚段最大的操作,记录了所有删除的记录的详细信息以便于rollback,9i回滚段是由oracle自动管理的,不需要你建的,你可能需要增加回滚表空间大小了。 技术资料.http://www.itpub.net/showthread.php?s=&threadid=137316 要计算 那就把计算的结果导出成 CVS的结构 然后用sqlldr 的 direct 导入数据库没记错的话这样的导入可以少写 undo 日期如何增加一年 安装Oracle数据库出错:Enterprise Manager配置失败,原因?? toad 9.7 菜单里没有DBA... 如何优化数据库 如何结束数据库的后台进程? 高分求助,oracle执行某个什么,导致系统cpu使用率很高? oracle10g 远程归档问题 求助自定义时间转换函数 oem的使用问题 数据库,大家一般用什么建模?? 以下结果为何不对 ? 求救 在vb中如何调用oracle的带返回参数的过程?在线等.......
插入前
begin transaction
插入操作.........
commit;
exception
when others then
rollback;
这不就结了
SAVEPOINT KEY_POINT ;
插入操作.........
COMMIT WORK ;
exception
when others then
ROLLBACK TO SAVEPOINT KEY_POINT ;
insert
commit;
exception
when others then
rollback;
加大回滚段的做法可行,但需要硬盘空间够大。
这样的话如果你的是8i或以前的版本,应该建立一个大的回滚段来专门处理这个事务1.先生成一个大的回滚段,不够再加大。
create public rollback segment rb1 storage(initial 5m) tablespace rbs;
alter rollback segment rb1 offline;2.运行这个大事务前
alter rollback segment rb1 online;3.在事务中声明set transaction use rollback segment rb1;
进行插入操作.......
commit;/rollback........
http://www.itpub.net/showthread.php?s=&threadid=137316
没记错的话这样的导入可以少写 undo