I’ve recently been asking for some book recommendations to help both myself and my team improve our knowledge on the variety of topics in which we’re responsible for having expertise. Personally, I learn best by actually doing and even better when I’m doing whatever it is for a real, productive reason, but those situations don’t happen every day. So, I still think its good to stock the shelf of the mind with ideas and information that you can pull out when you need them. You might not master the topic from reading a book, but you’ll still be better prepared.
The topics I’m looking for more knowledge on include internals and performance troubleshooting for both SQL Server and Oracle, identifying and troubleshooting network related issues (including following and reading packet traces) and disk technologies like RAID and SANs (understanding their configuration, performance expectations, etc.).
These are the recommendations I’ve received so far.
- Microsoft® SQL Server® 2008 Internals (Pro – Developer) by Kalen Delaney, Paul S. Randal, Kimberly L. Tripp, Conor Cunningham, and Adam Machanic
- Professional SQL Server 2008 Internals and Troubleshooting by Christian Bolton, Justin Langford, Brent Ozar, James Rowland-Jones, Jonathan Kehayias, Cindy Gross, and Steven Wort
- DBA Survivor by Thomas LaRock
- Troubleshooting SQL Server: A Guide for the Accidental DBA by Jonathan Kehayias and Ted Kruger (free e-book download!)
- Cost-Based Oracle Fundamentals (Expert’s Voice in Oracle) by Jonathan Lewis
- Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions by Tom Kyte
- TCP/IP Bible by Rod Scrimger, Paul LaSalle, Mridula Parihar, and Meeta Gupta
- nothing …
Since I’ve been asking for recommendations, I thought I’d also pass one along. Troubleshooting, in general, is something that I believe I’m fairly good at. I never really had any formal training at dissecting and resolving technical issues, it just came as second nature to me and seemed like common sense.
At work, we ask all employees in technical support (and I believe in our quality assurance department as well), to read Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems. While the concepts and steps in the book weren’t groundbreaking to me, they did put a name to the steps I was already doing (like cutting the problem in half), and the “9 rules” helped me to be more organized in attacking a problem. For people who want to improve their troubleshooting skills, I highly recommend this quick and easy read.
What books do you recommend for learning more about troubleshooting network or disk technologies? If you have any suggestions, I’d love to hear them.