问题如下:
程序中导数据操作涉及的数据量很大,于是采用分批导入的方法,每导完一部分数据,就进行提交。但仍会报回滚段不足的错误,经查是因为每次提交后,回滚段空间并未得到释放,并不是回滚段空间不足所致。曾试过以下方法:
在导数据前指定使用某一个固定的回滚段set transaction use rollback segment rbs10。采用这种方法后,在连续到大量数据时,仍会报错!请大家帮忙看一下这是什么问题,谢谢!
程序中导数据操作涉及的数据量很大,于是采用分批导入的方法,每导完一部分数据,就进行提交。但仍会报回滚段不足的错误,经查是因为每次提交后,回滚段空间并未得到释放,并不是回滚段空间不足所致。曾试过以下方法:
在导数据前指定使用某一个固定的回滚段set transaction use rollback segment rbs10。采用这种方法后,在连续到大量数据时,仍会报错!请大家帮忙看一下这是什么问题,谢谢!
解决方案 »
- 大表删除?
- 在Oracle中实现
- 我用Oracle SQL Developer 进行查询,里面中文字段显示的全是乱码,但我已经将环境配置的编码设成gb3212了?
- REDHAT下,安装ORACLE的用户的问题
- access 数据导入oracle的问题!急救啊!
- SQL SERVER 2000数据里的数据量比较大,使用什么方法把数据导过去,速度是最快的,也不容易出错,请高手发言
- Oracle9i有多少个版本?我见怎么有三碟也有起碟的?我安装七碟版时对照DOC目录里的安装说明安装的,但复制完了却连接不上数据库,安装失
- 请高手赐教!
- 如何学习oracle
- oracle数据恢复,急急急!
- 奇怪!!!oracle占用了所以的linux系统CUP资源!
- 关于触发器(删除表)的问题
一旦一个事务完成,它的数据不会从回滚段中删除。旧的回滚数据保留在回滚段中,以
便对提交前开始执行的事务和查询提供服务。
你是怎样查到回滚段没有释放的?
在DBA Studio中查看表空间to: maohaisheng(www.chinaspirit.net)
但是我每做完一个事务均进行了提交,为什么仍不释放呢?
也可用以下语句查看表空间
查看表空间中已经使用的空间:
select ts.tablespace_name,nvl(count(extent_id),0) extents,sum(nvl(bytes,0)) bytes_used,sum(nvl(blocks,0)) blocks_used
from dba_tablespaces ts,dba_extents ex
where ts.tablespace_name=ex.tablespace_name(+)
group by ts.tablespace_name;
查看表空间中的自由空间:
select ts.tablespace_name,nvl(count(fs.block_id),0) free_extents,sum(nvl(bytes,0)) bytes_free,
sum(nvl(blocks,0)) blocks_free,max(nvl(bytes,0)) largest_free_extent
from dba_tablespaces ts,dba_free_space fs
where ts.tablespace_name=fs.tablespace_name(+)
group by ts.tablespace_name;
to: maohaisheng(www.chinaspirit.net)
但是我每做完一个事务均进行了提交,为什么仍不释放呢?
----------------------------------------------------------
主要是为了应付在事务开始之前已经运行的SQL语句。多创建几个回滚段几个吧