Oracle临时表空间不足和批处理缓慢问题探讨
2012-01-12谭红斌
天中学刊 2012年2期
谭红斌
(驻马店职业技术学院,河南 驻马店 463000)
Oracle临时表空间不足和批处理缓慢问题探讨
谭红斌
(驻马店职业技术学院,河南 驻马店 463000)
数据库系统出现问题时,会导致整个系统不稳定.文章分析了Orcale临时表空间不足和批量处理时运行速度缓慢的原因,并给出了解决办法.
SQL;hash join;临时表空间
1 问题的提出
笔者所在学院的学生管理系统后台使用的是Oracle数据库.在每天凌晨批处理期间,ALERT日志频繁报出临时表空间不足的告警信息,导致批量程序运行失败.在对临时表空间进行多次扩容后(从40 GB增加到 60 GB,再增加到 100 GB),问题仍然无法有效地解决.即使在批量执行成功的时候,也需要执行很长时间才能完成.为了解决此问题,急需对该问题进行全面排查,以找到解决办法.
2 问题的分析和解决
根据以往的经验,笔者分析认为造成这一问题的原因可能是服务器硬件存在性能问题、操作系统设置有问题或者是应用本身的 SQL语句编写有问题.为此,笔者衡量服务器的运算能力以及该数据库的负载,使用测试工具测试,并未发现服务器及Oracle本身的瓶颈问题.因此,把问题定位在应用逻辑方面,并做了如下详细的测试.
2.1 编写记录使用临时表空间SQL语句的脚本
查看数据库 AWR报告,发现该报告未能准确体现出占用临时表空间最高的SQL语句.为此,笔者编写了一个记录使用临时表空间SQL语句的shell脚本,用来记录使用临时表空间最高的SQL语句,并将其保存在特定的表中.该脚本的部……
登录APP查看全文
