A wise man once said that one of the clear signs of Compulsive Tuning Disorder (CTD) was an extensively tweaked set of initialization parameters. While it's probably a stretch to say that very few parameters needs to be changed on the creation of a new instance we do seem to be moving in the direction of relying more on default values (IMHO).
Now, the initialisation parameters for 10gR2, indeed for any version, are a rats nest of inter-dependencies. Change X, and Y and Z also change. Usually the dependency is that the default value is determined either in part or in whole by the value of one or more other parameters. To help understand this and because a picture is worth a thousand words, I've knocked up a couple of network diagrams (or whatever you want to call them) to illustrate this, so that you can see these relationships at a glance.
In some cases the relationship is very complex, such as that between large pool size and DBWR IO slaves. In other cases the value of one parameter establishes an upper or llower limit for another, or X is affected only by Y dependent upon values of Z. I've used different connector styles to try and illustrate this.
It's still a work in progress mind you, but I thought I'd throw out an initial version for comments.
Future enhancements …
- Code the parameters by their dynamic/static type
- Include links back to the documentation
- A triple-check of the accuracy
- Add other types of inter-dependency, such as "X value used only if Y value is set to …"
- Erm …
- Anything else that people can think of.
Disclaimer: these are only as accurate as (i) the documentation (ii) my reading of the documentation (iii) my illustrative capabilities. Read the documentation for validation.
Click on the little pictures to get the full-size image, and feel free to make suggestions and whatnot.