Friday, August 17, 2012

The keys to Oracle…

This is a question I get on asktom frequently – what are the things I need to know, what do I have to do to become expert, where is the list of key things I need to do with regards to Oracle.  It is a hard sounding question that has an easy answer.

If you are still wet behind the ears – or even just damp – then the definitive place to start is the Oracle Server Concepts Guide. Not only is this free - but it is your guide to understanding how the database works.  If you understand something - you can use that thing.  If you don't, well, simply put - you won't be able to effectively use it.  Getting a solid knowledge of how a transaction is done, what locking and concurrency controls are and how they work, how the database makes the data durable on disk (redo, undo management) - all of it is key to effectively using the database.

If you don't know who can see what data, which version of data, at what points in time - confusion will abound and data integrity will be lost.  Getting a good basic knowledge of how the database manages data is the only way for you to know how to code a correct program.

Once you've mastered the material in that document - I would suggest taking a look at the 2-Day guides.  They are a good way to get spun up on the necessary knowledge for either a Developer or DBA track. There is the 2-Day Developers Guide and the 2-Day DBA Guide.  These documents are designed to get you going - you won't be an expert after reading them, but you'll know the gist of what it is you need to know, to learn.  You'll have a good idea of what is available feature wise at the very least.

After these 2-Day guides (you can read either one or both), you might want to move onto some of the other overview guides - the 2-Day Performance would be a must read for anyone (followed by the Performance Guide itself eventually).

While all of this is going on - you should also be communicating - a lot.  Constantly.  Get on the forums -, start writing - start asking questions (after reading the guidelines!!), start participating.  It is the way I learned much of what I know now myself.  But communicate - a lot.  You won't be able to progress forward in a vacuum.  Share everything you have in your head - and find others that will share back with you.  You'll find you not only get to learn (and to teach eventually) from people all over the world - but you may end up calling some of them your really good friends.

And then add time, a lot of time.  Maybe years of time.  You will not become really good at what you are doing in six months, not in a year, probably not in five years.  It will take a while - you need to have lots of different experiences, encounter many different situations, attempt and fail to solve many problems - before you'll become really good at what you do.  You might feel like you are expert in a year - but trust me - you aren't.  And four years later you'll realize how little you knew and how much more you have to learn.

I learn something new everyday about Oracle, just the other day something about Total Recall but many things in general, technical and otherwise - and I've been doing Oracle things for a long time.


Blogger Kelloggs Ville said....

I sadly have to say Tom that the Oracle forums are some of the most unhelpful I have ever read. They often have rude people, with big egos, giving rude responses and even after 13 years of experience I would be wary about asking a question in there. I would like to see them more closely managed and I would never recommend them as a first point of call, only as a 'you many turn something up in a search on there'. I think it's a dreadful shame that a bad culture in them exists because there are a lot of very supportive and experienced people ready to offer support if you can cut through the sarcasm.

Fri Aug 17, 06:47:00 PM EDT  

Blogger George Trujillo said....

Good recommendations, however the key to becoming a recognized expert is the willingness to work 80-90 hours a week for years to acquire in-depth knowledge and skills. Most are not willing to put in that type of commitment. Everyone is looking for the secret sauce but the secret sauce has never changed, it's commitment and hard work.

Sat Aug 18, 01:16:00 AM EDT  

Blogger Fahd Mirza said....

In Oracle, expert of today is the beginner of tomorrow. May be within few months another version of Oracle database will appear packed with new features and the experts of 11g will start deprecating some of the things and start adopting new ones.

Change is the keyword here.

But again the more the things change, the more they remain same. Spend time in understanding Oracle RDBMS architecture, and when you know it like back of your hand, then you should feel bit comfortable that you are ready for the trenches, come what may. All these fancy and indeed great technologies like RAC, Exadata etc are built on top of that foundation.

So get the foundation solid, and you are good to go. During that journey, share the knowledge, but before sharing test it yourself.

Sun Aug 19, 03:12:00 AM EDT  

Blogger Steven Feuerstein said....

Excellent suggestions, Tom.

I only wish to add an invitation to check the PL/SQL Challenge at

Complement "passive" education (reading doc and books, checking out forums) with a more active approach: test your knowledge with quizzes on PL/SQL, SQL and APEX.

Over 500 Oracle technologists take the daily PL/SQL quiz and many rave about how it has strengthened their grasp of the language.

Cheers, SF

Thu Aug 23, 02:40:00 PM EDT  

Anonymous Anonymous said....

I totally agree with Kelloggs Ville. The Oracle forums is not something I would recommend anyone to visit, ever. They need moderation. Most people post just for the sake of getting their point score up.

Tue Aug 28, 09:13:00 AM EDT  

Anonymous Anonymous said....

I still remember when I had taken a PL/SQL challenge at Mr. Feuerstein's website. It was years ago and I do not even clearly remember the problem. It was something to do with how to find out the input parameters to a stored procedure. I remember working hard on it. My solution was among the ones accepted as correct. It was a very good experience. Initially I thought the problem did not have a solution but it did.

Tue Aug 28, 09:26:00 AM EDT  

Blogger Steven Feuerstein said....

Anonymous, I hope you come on back to the PL/SQL Challenge and take more quizzes!

We've also started up a new Roundtable discussion, which is currently focused on naming conventions for PL/SQL code - with a surprising and unusual proposal from one of our players.

Tue Aug 28, 09:30:00 AM EDT  

Blogger Unknown said....

This is also a great resource offered by Oracle


Wed Aug 29, 06:41:00 AM EDT  

Anonymous Duke Ganote said....

Fahd Mirza rightly said "In Oracle, expert of today is the beginner of tomorrow." Database features aren't as faddish as most software. Yet our "castles of sand on the seashores of technology change" offer the ongoing challenge of renewal and obsolescence.

Fri Aug 31, 08:29:00 AM EDT  

Blogger Isaac Kleinman said....

Regarding forums, I've found with the familiar and superb stack exchange layout to be very helpful although it would be even more helpful if it had even more participants.

Wed Sep 05, 02:12:00 PM EDT  

Blogger dorobel said....

Best mix to start for me was : Oracle Server Concepts Guide + Administrator's Guide

Thu Sep 06, 06:17:00 PM EDT  

Blogger Krishna said....

Hello Tom:

This post applies to beginners and experts. I feel we move from beginner to expert many times in a cycle. There is so much to learn in Oracle stack.

Is it possible to keep this post always visible in your blog entry page? Just as the images of books are appearing always. A link on the right frame will do. Will help new comers to the site and also regular visitors.

Mon Sep 10, 10:39:00 AM EDT  

Anonymous Anonymous said....

Your blog posts have become boring these days, unlike the posts you blogged over 2 years ago. What happened ? Are you no longer interested ?

-- Botham

Tue Oct 02, 05:03:00 PM EDT  

Anonymous Mark Brady said....

I don't think the count(hours)/weeks is the important thing. it takes 10,000 hours of purposeful practice to become a master of something. Purposeful means with the intention of getting better. Many DBA's put in 10,000 hours on the job with no intention of learning anything more than what they need at the time, and don't try to retain it when the need passes.

If you approach knowing Oracle with purpose, like Tom, and Jonathan Lewis, and Cary Milsap, and Kerry Osborne, and Doug Burns, and Tanel Poder, you can become an expert too... 10,000 hours from now.

The perfect time for you to have started learning would have been 10 years ago. The second best time to start is today.

Fri Oct 12, 04:16:00 PM EDT  

Anonymous oracle support uk said....

Super post! Just like your blog professionalism! Keep up the good work.

Wed Dec 12, 05:06:00 AM EST  

Anonymous me said....

While all of this is going on - you should also be communicating - a lot. Constantly. Get on the forums -, start writing - start asking questions (after reading the guidelines!!), start participating. It is the way I learned much of what I know now myself. But communicate - a lot. You won't be able to progress forward in a vacuum. Share everything you have in your head - and find others that will share back with you. You'll find you not only get to learn (and to teach eventually) from people all over the world - but you may end up calling some of them your really good friends.

Hi tom,

It's been a long time I wanted to write a comment here to thank you for the post, not that I needed to give it a ton of thought, I just procrastinated...I kept waiting for a better time that really never arrived!

As you mentioned communicating constantly, starting to write, asking questions, reading, participating and in short communicating a lot with people who are also willing to share back is a key factor which applies to Oracle and most things we want to be good at.

Communicating with like minded people and to bounce back and forth thoughts and ideas and questions and answers, is invaluable not only in online forums and communities, but also in platforms like open world, user group conferences, events, trainings and seminars. In addition to the content that would be presented in those events, a lot of value is in networking and meeting with right people.

Thanks again for your posts and have a very happy Christmas and a great 2013 :)

Wed Dec 19, 09:30:00 AM EST  

Anonymous Anonymous said....

Keys to blogging: DO it more often before you lose your following!

Thu Dec 20, 12:46:00 PM EST  

Anonymous Anonymous said....

To all those who find Oracle forums need moderation in answering questions:
You set the stage with your question. Communication - and respect - goes both ways, that is: questions that show both lack of basic knowledge and lack of any effort to look up or read up on BASICS before asking - these questions should be screened out because they don't respect other participants. What do you expect if you pose a question with ZERO homework done beforehand - and then follow up with a second such question? - Yes, I have seen those questions, as has everybody else.
Forums are not courses, and not books. So read some documentation first, and show some respect, if you want to get respect.

Wed Feb 06, 12:46:00 PM EST  

Blogger Michelle Anne Constantino said....

I'm just 6 months within the job and yes, I feel that I am still a beginner in what I do, there's so much to learn or do about Oracle. :)

Wed Feb 06, 07:58:00 PM EST  

Blogger capitanui said....


Nice article Tom, keep the good work!

I have although a question maybe to be answered by the more experienced people here.

I'm an application engineer that handles apps built on top of the Oracle DB.
Because i want to enrich also my DBA and DB design skills i started to learn more about Oracle. I'm know finishing the Oracle Server Concepts book and i think i'll go to 2 Day DBA as you also suggested.

I want to practice, installing an Oracle db and start working on it. The problem is that i don't know how can I simulate a real environment, or at least get one as real as a simulated could be.

I don't have an app to run on-top so i was thinking to biuld a schema and write some plsql procedures takes make different actions on that schema at repetead times, to be able to perform analysis, to get into trouble with disk space etc.
Does anyone has a better idea, a tool that can stress my DB or something?

Thank you !

Wed Feb 27, 02:28:00 AM EST  

Blogger Thomas Kyte said....


you can go to and download some of their applications from there - install them - and use them a bit

rather than writing your own.

Wed Feb 27, 07:24:00 AM EST  

Blogger Ankit Rathi said....

Sir, I agree with your view.
We obviously can't use anything until we know its there. Once we know whats there we can proceed with when to use that followed by how to use (commands/syntax) it.
1. What
2. Why/When
3. How
Once we are aware of the basics, we can move to Oracle forums to actively participate in the discussions.
Nice post....

Tue Mar 12, 11:39:00 AM EDT  

Blogger Suhel Sayyad said....

Nice one..!!!

Tue Jul 16, 09:17:00 AM EDT  


<< Home