Part of my job is to occasionally give oracle trainings to customers.
Although this has never been my favorite part of my job, I find it most times an interesting experience. It forces you to realy take a good look into the material you are teaching and by explaining something to others, you ofter gain a better insight yourself.
The downsize of these kind of trainings is that you don’t have much time to actually learn the students something. I mean, you can guide them through the course material and learn them the facts, but that still is something different then giving a real understanding of things. You know, the level of understanding that you have reached when you are able to reason why something works a certain way.
A good example of this is the question (I’m currently giving a 9i backup and recovery course) : “do I have to backup my undo tablespace?”
The simple answer is that yes, you should backup your undo tablespace, but if you understand how oracle processes data changes and how oracle performs recovery (with the roll-forward and roll-back phases) then you just know that the undo tablespace has to be backed-up.
However, as I said, it takes time to gain understanding and I am afraid that a 4 days of training are only enough to scratch the surface. Therefore I find that these training courses are only suited as a kind of starting point and that you have to learn the details afterwards on yourself.
One way to do this is by organizing regular internal workshops or hand-on trainings, in which each time a fellow dba explains one specific part of oracle. Another option can be to hire somebody for a couple of days per week to coach the internal dba team.
I want to end this blog entry with a couple of questions: How did you learn oracle? Are there regular internal workshops at your company? What are your feelings about oracle courses? Do you find them usefull or not?