Tuesday, February 13, 2007

Project - plan stability, Oracle 9.2

Recently I was asked to build a solution to analyze the impact of patching/upgrading a database and gathering new statistics on a database.

The (huge) application that runs on this database encorporates some of the best of breed technologies, as hardcoded values, dynamic in lists etc. Also, the SQL's are generated by the client very dynamically, so the sheer number of SQL's are also huge, and it is literally impossible to analyze it by looking at the code.

Great.

So I decided to record the SQL's from v$sql etc. on the production instance, clone the database to a test server and here do the patch/upgrade+statistics. The hope is then that most of the SQL's remain the same, and that we are able to categorize the ones that change execution plans into something digestible. (One tool I plan to use is Tom Kyte's utility to strip hard coded values).

Hope is good.

Now, how do we work out some time estimates for this project - how many hours should we spend tuning the unknown number of statements that perform worse :-)

No comments: