oracle采用sqlldr入库堆积怎么办?
2013-02-18 18:10
323 查看
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
2.看看alert日志,看看是不是因为数据库的参数限制了入库进程。比如我上次遇到process满了,进程不够。
或者报错,导致数据库不可用,所以参数堆积。
3.禁用索引,降低db file sequential read。
4.ethtool 检查是否千兆网卡。
注:逐渐发现问题后,再补充
我已经处理类似案例多次了,但是今天这次耗时最长。
分析原因:
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
Event | Waits | Time(s) | Avg wait (ms) | % DB time | Wait Class |
---|---|---|---|---|---|
db file sequential read | 1,484,413 | 14,383 | 10 | 51.51 | User I/O |
DB CPU | 12,478 | 44.69 | |||
SQL*Net more data from client | 5,655,790 | 444 | 0 | 1.59 | Network |
cursor: pin S wait on X | 5,343 | 91 | 17 | 0.32 | Concurrency |
enq: CR - block range reuse ckpt | 8,641 | 70 | 8 | 0.25 | Other |
或者报错,导致数据库不可用,所以参数堆积。
3.禁用索引,降低db file sequential read。
4.ethtool 检查是否千兆网卡。
注:逐渐发现问题后,再补充
相关文章推荐
- oracle sqlldr入库堆积处理方案
- oracle进行sqlldr实现文件列拼接,并入库成日期类型
- shell向Oracle导入数据有sqlldr,向mysql怎么导入呢?
- oracle进行sqlldr实现文件列拼接,并入库成日期类型
- oracle采用了WE8MSWIN1252字符集乱码的问题
- oracle密码忘记了怎么办?
- ORACLE_EBS_R12_采购到入库所经历的表
- 使用sqlldr向Oracle导入大的文本(txt)文件
- [转]关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
- oracle存储过程通过http接收xml文件并解析入库
- Oracle SQL Developer (Ver 1.5.5) 怎么识别 tnsnames.ora 里面配置的连接 ?
- sqlserver,oracle,mysql等的driver驱动,url怎么写
- oracle不能使用EM怎么办 oracle11g如何正确安装配置EM
- 忘记oracle的sys用户密码怎么修改
- Oracle忘记密码怎么办?
- oracle服务都启动了,但是database control orcl https://localhost:1158/em还是打不开怎么办
- oracle怎么查看用户属于哪个表空间
- 使用sqlldr导入多个csv数据到Oracle中,对数据中存在空格的处理
- ArcSDE for Oracle怎么恢复误删除的要素类和要素
- oracle怎么查看表字段的类型