oracle sqlldr入库堆积处理方案

sqlldr入库是常用方式之一,也是最常见的。

我已经处理类似案例多次了,但是今天这次耗时最长。

 

 

分析原因:

1.入库报错(比如:没有分区,入库值的精度不对,列名少了一个等等)。

2.io压力大(索引单块读比较多,db file sequential read)

3.机器内存足够,但是oracle的sga不够,或者说sga_target pga_aggrent_target  memry_xxxxx设置不对。

4.sqlldr本身进程多,多数为hang 的进程。

5.查看网络是否完好,SQL*Net more data from client

 

 

 

 

解决方案:

1.分析awr检查数据库压力,top5看看

Top 5 Timed Foreground Events

EventWaitsTime(s)Avg wait (ms)% DB timeWait Class
db file sequential read1,484,41314,3831051.51User I/O
DB CPU 12,478 44.69 
SQL*Net more data from client5,655,79044401.59Network
cursor: pin S wait on X5,34391170.32Concurrency
enq: CR - block range reuse ckpt8,6417080.25

Other

2.看看alert日志,看看是不是因为数据库的参数限制了入库进程。比如我上次遇到process满了,进程不够。

 或者报错,导致数据库不可用,所以参数堆积。

3.禁用索引,降低db file sequential read。

4.ethtool 检查是否千兆网卡。

 

 

 

注:逐渐发现问题后,再补充

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值