A few years ago, I set my heart on researching and writing a truly advanced Oracle performance-tuning book. Soon, I had a detailed outline running to more than thirty pages. But when I started to write, I began to realize how much I had yet to learn about Oracle. Each chapter was going to require considerably more research than I had at first imagined. In particular, I began to realize that an understanding of some aspects of Oracle internals would be vital to my quest. So I began to learn what I could of Oracle internals, starting with the X$ tables.
If I had known then what I know now, about how vast an undertaking I was commencing, I would probably never have attempted it. And many times I would have given up in despair, except for the encouragement of my friends. They always believed that I could comprehend the incomprehensible and construct a coherent understanding of how Oracle works and should be tuned. It has been somewhat like trying to determine the exact shape of an iceberg by walking all over it and taking careful measurements of subsurface vibrations.
My advanced Oracle performance-tuning book is still a dream. This little book is something else: an introduction to Oracle internals. It builds the foundation necessary for advanced performance tuning by explaining some of the basic aspects of Oracle internals in detail.
Here you will find many of the undocumented system statistics explained. You will learn how to gather additional statistics from the X$ tables. Your understanding of how Oracle works will be deepened with clear explanations of many of Oracle’s internal data structures and algorithms. You will be alerted to potential performance problems that are not mentioned in the documentation. And you will expand your repertoire of tuning solutions and troubleshooting techniques by learning how to use numerous hidden parameters and other undocumented features.