SQL Performance Analyzer 能完成版本升级前的执行计划改变的检查工作
但是该功能是11g提供的,如果要从9i升级到10g,那么还需要使用或者购买11g版本的数据库
研究了下SPA的实现,其是通过9i的10046的跟踪文件在10g数据库上重演SQL执行计划实现的
那可以考虑用TKPROF把9i的10046文件到10g库上重新执行下explain
考虑现在多数环境是BS架构的,数据库连接数不好控制,生成的跟踪文件也很多,需要将这些文件合并起来,以进行合理的分析
这里可以使用10g的trcsess命令实现
主要步骤
1.在9i库上启动10046跟踪,获得trace文件
2.对于每个trace文件,在
*** SESSION ID:(15.8) 2009-07-07 13:11:45.556
这样的行后添加
*** CLIENT ID:(zhangqiaoc_test) 2009-06-21 14:27:23.214
3.对于每个trace文件,在末尾添加
*** CLIENT ID:() 2009-06-21 14:27:23.259
4.在10g的环境下,使用trcsess合并这些文件
trcsess clientid='zhangqiaoc_test' * >test.trc
5.对test.trc执行9i的tkprof
tkprof test.trc test.txt
6.对test.trc执行10g的tkprof
tkprof explain=ctais2/oracle test.trc test.txt
这样就可以获得9i 10g分别的tkprof文件,在用Beyond Compare这样的工具,显示差异部分以及上下文,就可以轻易的发现执行计划有改变的SQL了
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8242091/viewspace-608509/ ,如需转载,请注明出处,否则将追究法律责任。