终端可以处理这么大的数据量...已经测试了,现在是一秒分析出5000条记录,并且格式化成insert语句字符串,cpu利用率才20%左右,问题是数据入库,更本没办法!
解决方案 »
- oracle触发器 修改后触发删除操作:当修改一个表中的某一个字段为1后,删除该表中该字段为 -1的记录
- 各位大哥帮帮忙ORACLE 集合函数使用
- 不解压缩,如何直接从*.dmp.z或*.dmp.gz文件imp?
- 高人请进!linux系统下oracle9i数据库如何备份?
- 如何指定SQL*LOADER 控制文件中INFILE 文件?
- proc编译问题?请赐教!在线等待!
- 如何在SQLPLUS中显示一个TRIGGER的源码
- 如何基于时间回滚。
- 如何将数据库变化内容实时通知应用程序
- PLSQL DEVELOPER 11.0 列合计不好使的问题大家怎么解决的
- 如果优化SQL语句
- 高手: 用oracle 批量(几万条)插入数据,因为无法保证数据的可靠性,速度很慢,用commit ,速度一下就快了。有什么解决办法。
其实也不是一个客户端,应该属于一个后采采集分析程序,分析已经可以达到要求了,关键是数据入库
要不你买个新服务器好了, IBM的大型设备 :)
数据量是不小,是用dell 2600服务器,2cpu 2G mem 测试,主要是insert 操作来不及,而且要求数据的延迟不能太大,也就是分析出来后马上要求入库,一秒要进行5000个insert操作,oracle难道不支持么?
就算采用文本文件做中间,入库操作还是个问题,如果insert操作来得及,为何还要采用文本文件做中间了,本来就是从二进制文件种分析出来入库的,一小时2G的原始2进制文件,后台分析后入库,前台利用数据库结果进行业务呈现..
如果按二进制存储,是快很多,但是以后业务进行分析,统计查询时候怎么办?
oracle报错了吗?可以多个进程并行插入。
oracle 的速度再快,也不会超过硬件的性能极限。再说,ORACLE还要分析sql。
IBM RS6000-S85, 24 CPU, 36G RAM,ORACLE 8.17
每天倒入900万纪录,文本方式数据源,表字段数22个,4个VARCHAR2字段,其余全部是数字字段。操作采用20个进程:
1、重建表,不带任何索引
2、用SQLLDR倒入,10分钟之内完成,每分钟100万纪录
3、重建索引(6个索引)用时35分钟左右这个结果是IBM和ORACLE的CONSULTANT做出来的,基本满足了我们的需求,就没有再进一步优化。以上情况大概是每秒1.3万纪录左右,而且不可能是长时间的操作,否则索引很难处理。采用楼主所说的硬件条件和操作流程,恐怕很难达到要求。
配合 direct =y + nologging (不能做恢复)加快速的磁盘不确信最终能达到多少
哈哈大家都有分