问题:恢复完测试库后,应用系统登录非常慢,一般在1min以上,正常情况下在6s以内。
环境:oracle 11.2.0.3、weblogic,数据库服务器和应用服务器在两台服务器上
解决过程:
1.检查网络:数据库服务器和应用服务器、应用服务器和登录客户端
ping -n 50 -l 5120 数据库ip
ping -n 50 -l 5120 应用ip
经检查,网络正常
2.使用httpwatch进行监测,发现在一个页面上停留了大约50s
3.使用AWR报告分析,具体如下:
生成快照 exec dbms_workload_repository.create_snapshot();
多次登录系统
再次生成快照
通过AWR报告得知,SQL ordered by Elapsed Time中的前两个sql执行一次需要50s左右,初步判断是这两个sql的原因。
4.在sql*plus中单独执行这两个sql,时间都在3s以内,怀疑是执行计划有问题
5.对3中两个sql涉及的表收集统计信息,并清游标,但没有效果
exec dbms_stats.gather_table_stats('用户','表',CASCADE=>TRUE);
......
-- 清游标
exec dbms_shared_pool.purge('address,hash_value', 'c')
6.使用sqltrpt生成oracle优化建议(建索引),完全按建议执行,最终问题解决
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28675539/viewspace-1150722/
,如需转载,请注明出处,否则将追究法律责任。