Actively tracking oracle query performance -
background:
we have database environment views calling views calling views... logic has become complex , changes underlying views can have significant impact on top view being called client application.
now while documenting logic , figuring out how unwind development continues on , performance continues degrade.
currently manually run explain plan on client query , dig tuning it. slow , tedious process , changes may not examined ages.
problem:
i want generate report lists sql id , lists changes in actual time/discrepancy between estimated rows , actual rows/changes in buffers/changes in reads in comparison average computed on last month.
i run following script manually , examine based on day's response.
alter session set statistics_level=all; set linesize 256; set pagesize 0; set serveroutput off; -- query select * table (dbms_xplan.display_cursor (null, null, 'allstats last'));
what trying see automating explain plan query , inserting statistics table. there can run regression report detect changes in performance can alert developers.
i thinking common enough without having resorting oem. can't find wonder if there more common approach this?
oracle provides functionality automatic workload repositiory. http://docs.oracle.com/cd/e11882_01/server.112/e16638/autostat.htm
it's license on top of enterprise edition though, believe. ought usable in non-production environments without additional cost, check oracle sales rep.
Comments
Post a Comment