oracle 大数据量 删除插入 有啥影响

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 大数据量 删除插入 有啥影响相关的知识,希望对你有一定的参考价值。

大数据量的删除时索引可能用不上,因此删除速度会比较慢,同时服务器的性能受影响;而且会产生大量的日志和回滚信息,因此,大量删除数据时需要监控一下服务器状态,如果没有把握,可以把删除的数据分批次进行删除,同时把注意清理archive log,如果删除一个表的数据超过整个表的一定百分比,在不影响业务运行的情况下,考虑重建一下表会好一点。
大数据量插入需要注意插入的方式,逐条插入效率最低,插入一定行数之后进行提交,不要整个插入过程一次提交,那样回滚段会爆的。如果能够使用DMP导入最好了。
对于频繁的删除插入,请参考楼上意见,简单的说就是表所占的空间越来越大,查询越来越慢。这就需要经常的回收空间,或者定期进行表重建。最好的办法是把变动频繁的数据和相对持久化的数据分离开来进行保存。如果插入删除很频繁,可以考虑使用临时表策略解决。
参考技术A oracle中 HWM高水位不会因为delete而下降, 那么虽然你DELETE了很多数据,但是全表扫描还是要扫描到HWM 下的所有数据块。

但是对于经常插入和删除的日志表,这样是正常的,因为你回收了空间后,它又会增长上去,回收空间的意义很小。

除非是那种删除后不再插入数据的表, 可以考虑用ALTER TABLE MOVE / SHRINK SPACE的方法来回收空间。本回答被提问者和网友采纳

oracle数据库还原段和TEMP表空间满了各对业务会有啥影响?

参考技术A 1、undo 是什么作用,undo是事物的一致性读的作用,是重写的。影响不是很大,但是如果闪回查询可能会报 snap to old 的错误。
2、转自http://hi.baidu.com/ktwmldupqtbhwzd/item/159b8d481b0943efa4c0662c
ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。
  解决方法:知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小
参考技术B 1、Oracle如果UNDO(撤销)表空间满了,直接导致DML操作等待UNDO释放空间。
2、Oracle如果TEMP满了会出现两种情况:
a. 出现ORA-1652 unable to extend temp segment by 256 in tablespace错误,回滚事务。
b. ORACLE会提早重用temp空间,可能对闪回操作带来影响。本回答被提问者采纳

以上是关于oracle 大数据量 删除插入 有啥影响的主要内容,如果未能解决你的问题,请参考以下文章

如何向Oracle数据库表中进行大数据量的插入并提交?

oracle基于3种方法的大数据量插入更新

oracle 可以存在多少数据量?

MySQL删除千万级数据量导致的慢查询优化

Oracle在查询Sql中不使用order by,导致数据量足够大的时候同样的sql查询的结果顺序不同?

当数据量不够大的时候,有啥方法可以提高CNN训练效果