Oracle调优:STATSPACK与计划任务优化

需积分: 12 0 下载量 135 浏览量 更新于2024-08-15 收藏 159KB PPT 举报
本文主要探讨了Oracle数据库的性能调优,特别是利用STATSPACK获取关键SQL信息以及对特定计划任务模块的优化策略。STATSPACK是一个用于性能分析和数据库调整的工具,它可以帮助我们识别消耗资源最多的SQL语句。在描述中提到了关注Logical read和Physical read超过一定数量的SQL,这通常是为了找出可能引发性能问题的查询。 在查询这些SQL时,可以通过`v$sqltext`视图获取完整的SQL文本,通过`hash_value`进行匹配,然后按照`piece`排序,这样可以查看SQL的各个部分,理解其执行逻辑。Logical read和Physical read分别代表逻辑读取和物理读取,它们反映了数据从缓存或磁盘读取的次数,高数值可能意味着I/O性能瓶颈。 计划任务模块的调整是另一个重点。文档中提到,当前的小表使用快照方法处理,而大表如KHTKHXL0和KHTXLJG0则通过dblink进行插入,每个db_link具有2M带宽限制,并且是串行运行。由于GSDM00和NYUE00等字段只有一个值,这可能导致索引的非最佳使用。 针对KHTKHXL0和KHTXLJG0的索引结构,可以看到它们有多个单值字段,这可能意味着索引的效率不高。例如,KHTKHXL0_GSKHNYJY和KHTXLJG0_KHDM_INDEX等索引,其中的字段没有充分利用多值特性,可能需要重新考虑索引设计。 在性能测试中,使用了`SET ECHO ON`、`SET TIMING ON`和`spool`命令来记录执行时间。结果显示南平地区的计划任务通常需要12分钟。为了优化这个过程,提出了采用并行方式执行插入操作(通过`UNION ALL`),以及将表空间转换为Local Management方式,减少递归SQL调用次数,以提升INSERT速度。 总结来说,这个文档提供了Oracle数据库调优的两个重要方面:一是通过STATSPACK监控和优化SQL性能,二是改进计划任务模块的执行效率,包括利用并行处理和优化表空间管理。这些策略有助于提升数据库的整体性能和响应时间。