多谢关注问题:我用oracle插入一亿二千万条数据到一个表中,7个多小时过去了还没有完成。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多谢关注问题:我用oracle插入一亿二千万条数据到一个表中,7个多小时过去了还没有完成。相关的知识,希望对你有一定的参考价值。

系统的CPU使用率只有50%浮动, 怎么来设置这个oracle进程使用机器上的这些全部资源。
环境:win7 , oracle11g

你可以研究一下,当前的瓶颈是什么,不过实在的说,一亿多数据,跑半天是正常的。
不过这个要看你用的什么方法插入的数据。
应该不是insert into values 把?

全部资源肯定不可能的。因为oracle运行的时候不仅仅使用cpu,还有内存和硬盘。一般来说IO出现瓶颈的可能比较大。

另外可以用nologging+append的方式来加速插入。
参考技术A 很正常 我曾经导入一个3千多万记录到数据库中,下班开始导入。第二天上班再看。当时花了4个来小时。
你最好也下班开始插入,明天再过来看吧。
参考技术B 你的想法就是错误的,耗用机器全部资源?ORACLE日志空间有多大啊?1E的数据...建议分批插入,或者分类插入的!机器能行,数据库日志也给你挤爆的。追问

我是希望运行快点就行。 ORACLE日志空间是不是看那个log后缀名的文件大小

追答

分批量插入的,1E的数据不可能快的!如果日志空间够大的话,数据是能够插入的,只是时间问题的,如果日至空间不够大,到时候给你报个日至空间满的!
每写入一行记录都会记录日志,1E的数据你想想吧!你是insert呢还是load呢?

追问

是insert语句。

追答

建议:
insert into 表
select * from 表 where ....加条件的!

如何向一个oracle表中快速插入很多条数据

  Oracle数据的批量插入
  前两天接到一个需求——需要编程将SQL Server中的数据插入至Oracle。数据大约有20多万条记录。开始的时候我采取了直接构建SQL插入的方式,结果耗时太长。为了提高性能我上网找了资料。最终采用DataAdapter批量插入至Oracle,提高了性能。
  代码如下:
  一,直接构建SQL语句插入
  VB.NET Code
  二,采用DataAdapter实现批量插入
  VB.NET Code
  在我的环境中批量插入24万笔记录用时大约260s左右。
  貌似SQL Server中.net驱动程序提供了SqlBulkCopy类来提高大量数据导入的性能。有需要的朋友可以查下MSDN。
参考技术A 可以同时把很多条不同的数据插入到oracle表中

以上是关于多谢关注问题:我用oracle插入一亿二千万条数据到一个表中,7个多小时过去了还没有完成。的主要内容,如果未能解决你的问题,请参考以下文章

oracle循环插入1万条数据

如何在 Oracle SQL Developer 中执行超过 100 万条插入查询?

Oracle中插入千万条测试数据

Oracle 快速插入1000万条数据的实现方式

200万数据oracle导入表要多久

oracle中只读取一条数据,怎么写