statspack 不用多说,它是一个很好的工具,我们用它来监控数据库,以它反应出来的信息来优化数据库。
因此,定期的做snap收集采样信息,并且生成report 报告,分析report报告就成为必要。继而,当需要周期性的生成statspack report,并且如果不生成就会有丢失snap 数据风险的时候,用程序来控制定期生成 statspack 就又成为一个更大的必要。即使是10g或oracle 更高版本,有了awr 之类的自动收集snap信息的工具,如果不定期生成report 报告,同样有因为丢失snap数据,而无法查看历史report 的风险,那么这个时候,定期生成report 报告仍然是有很大必要的。
废话到此结束。接下来就介绍程序。
1. 先说说标准的生成报告的方式,是执行spreport.sql 对吧?spreport 又调用了sprepins.sql 。在执行时,首先会列出来所有的snap 信息要你选择报告所需要的begin snap 和end snap,然后会让你输入report name,如果不输入report name 的话,默认就是sp_<begin_snap>_<end_snap>.lst 。
交互式的地方也就这么两点,一个begin_snap,end_snap,二是 report_name。那么如果要程序自动生成report,需要在程序中来指定合适的begin_snap,end_snap,report_name。那么,标准的spreport,sprepins 或许需要改造。
2.我的程序是这样的,begin_snap 和end_snap 在pl/sql 中查出结果,我的snap 是每天的9,12&#
因此,定期的做snap收集采样信息,并且生成report 报告,分析report报告就成为必要。继而,当需要周期性的生成statspack report,并且如果不生成就会有丢失snap 数据风险的时候,用程序来控制定期生成 statspack 就又成为一个更大的必要。即使是10g或oracle 更高版本,有了awr 之类的自动收集snap信息的工具,如果不定期生成report 报告,同样有因为丢失snap数据,而无法查看历史report 的风险,那么这个时候,定期生成report 报告仍然是有很大必要的。
废话到此结束。接下来就介绍程序。
1. 先说说标准的生成报告的方式,是执行spreport.sql 对吧?spreport 又调用了sprepins.sql 。在执行时,首先会列出来所有的snap 信息要你选择报告所需要的begin snap 和end snap,然后会让你输入report name,如果不输入report name 的话,默认就是sp_<begin_snap>_<end_snap>.lst 。
交互式的地方也就这么两点,一个begin_snap,end_snap,二是 report_name。那么如果要程序自动生成report,需要在程序中来指定合适的begin_snap,end_snap,report_name。那么,标准的spreport,sprepins 或许需要改造。
2.我的程序是这样的,begin_snap 和end_snap 在pl/sql 中查出结果,我的snap 是每天的9,12&#