Saturday, November 8, 2008

How to Get/Gain Real Time Experience/Exposure as a DBA!

Dear Blog Readers,

Every now and then I do receive e-mails from the novice DBAs saying that:

“We could not perform well at the interview, as the questions were too technically based on real time requirements”

“Due to not having real time experience, we failed at the interview to explain the steps/approach to resolve the issue asked”

…… and so on

When I asked them how they prepare and practice the DBA Activities, their response is as follows:

“We brought the Oracle DBA Books written by so and so authors for reference.”

“We only practiced the scenarios what was taught and given as drill in the training institute.”

“We installed the Oracle Software with starter database and get started practicing.”

…… and so on

Well, here are my opinions/suggestions/advices, to them those who are preparing and practicing as above, to gain the real time experience/exposure.

A lot of novice or junior DBAs are out there, who do not know that Oracle offers online documentations on Oracle Database Administration. Rather they simply purchase the available books in the market and get started preparing it. I would advice them to make a habit of reading the Oracle online documentations daily whenever they have time.

As far as I know, in the training institutes, the trainers will only cover the basic and required information up to some level, and discussed the scenarios which are common and basic. I suggest them to not to treat those scenarios as real time questions. The trainers will give you or left up to you to practice and do the drill at your own.

In my opinion, the real time issues are not different from the issues you face while practicing. i.e. fixing the ORA-Errors generated. My strong advice is not to create the database while installing the database, instead create the database manually with very minimal size of SGA and data files. Then, put more load i.e. Insert/Updates/Deletes and look forward for errors and the slowness of database, then fix them and tune the database accordingly. This will not be possible where you have a database with good size of SGA and enough size of data files.

As a real time requirement, install and set up the Oracle Server on Linux Operating System, this confidence will help you in stalling the same on any flavor of the Unix/Linux operating system i.e. Sun Solaris, IBM AIX, HP-UX, Red Hat, Fedora etc, All you need to know that the commands which are specific to OS during the installation.

Never just be satisfied by simply reading the solutions given over the web for such problem which are treated as real time scenarios, rather try to reproduce the problem in your database system, if you can, and do apply the different solutions for that issue.

Do not mug up the procedural steps of any major activity in the database i.e. Upgrade, Migration, Installation, etc.., Even though these are not regular tasks or not possible to do it in the practice systems, I still insist to feel the taste of doing such activities. I can say these are the real time scenarios asked in the interviews.

There are many a lot to say…but at the end what all I can say is…..

Instead of waiting for not having the proper resource to practice the database real time scenarios or activities, at least try to search over the web to get to know what are other real time scenarios, I would strongly advice one to make a habit of regularly visiting OTN Database General Forums, where all kind of basic, advanced, real time, scenarios are questioned and answered by top experts with different and different solutions.

Forum: Database - General

Another good habit is referring the good Oracle Related Blogs to know how they resolved the issues, how they implement the things in their organization with their experience.

List of Oracle-related blogs

Do not forget to read and download this great document "Grow That DBA Career"

Note: Above suggestions are only my views and need not to be the same with others. Whoever have the information of real time ideas/tips and wanted share with the blog readers, they are free allowed to comment directly in the comments section of this blog post. I will also keep update this post with more and more real time experience ideas and tips.

Update: Take a look at the Mr.TOM comment in the comment section below, where he has given his own views on real time tips further to this blog post. Thanks to TOM for adding his views to this post.

Happy Reading !!!

Sabdar Syed,


Tom said...

I agree 100% completely. I think the Oracle Docs are some of the best you can read and best of all, they are free!

When I interview DBA's, I am not so concerned about them knowing "exact" syntax. As long as they can tell me where they would find the answers or how they would look for them, that shows independence, initiative, and resourcefulness. I also want them to tell me they don't know something than to try and confidently guess. There is a differences between, "I think it might work this way, but I am not sure, I would have to look it up here or there", or, "I have never had experience with data guard or RAC, but I would refer to the data guard documentation and possibly metalink to configure a test environment and do a proof of concept" than answering a question with complete confidence and getting it completely wrong. That scares me. Would he just try something in production that would be so blatantly wrong that it would mess the system up? Sometimes it's not what you don't know, but what you know that just ain't so.

The Oracle Docs I would look at are things like the Concepts Guide. I would go through the DBA guide. Get compfortable with that. Then as you suggest, create that really small instance and little resources and then crack the performance tuning guide from Oracle. It is one of the absolute best, especially lately. Get used to explain plains. Get used to statspack/AWR. get used to ADDM. Get used to using OEM. Get used to more advanced yet still common facilities like tracing session and using TKPROF and one of the free profiling tools such as ORASRP or TVD$XTAT. You can Google either one and play with them and they are similar to the Hotsos profiler, which is a commercial product and the Oracle Trace Analyzer which is available on Metalink only. Get used to the V$ Views for the wait interface. Look at the ASH views and reports. As you get better, you can dig deeper. Use tools like swingbench to help punish your database and punish it. It's available for free. Read the developers guide to learn your SQL and PL/SQL and write code and try to tun the code based on what you see in your performance tool reports. Solve the problem. Add an index. Change parameters. Change parameters for tables. If you have multiples CPU's, play with parallelism.

Then look at overall troubleshooting. Get confident with RMAN. There are several RMAN docs on Oracle's website that are free there. Then Backup and Recover your database. Learn how to put it in Archivelog mode. Then delete a datafile and recover it. Recover a Tablespace. Play with cloning databases. You can then use RMAN to make a copy of the DB and setup DataGuard sites. In 11g, you can clone a DB over the network without a backup.

Then the more advanced stuff (and their are Oracle Docs for this too). Play with Data Guard. Do Physical and Logical Standby's. Look at the different methods for sending your redo streams across. Look at the different types of scenarios and modes. You can do maximum protection, maximum performance, or maximum availability.

Then learn streams. Make it work. Don't just read the docs, do it!

There are 2 Day DBA Guides to get you started. Then there are new feature guides.

I could go on an on but the key is. You need to know how things work. You need to know this because when you get an Oracle 1555 error, you need to know what snapshot too old is and how to fix it. When you enable Flashback, you need to know why. Why do you do it? When you need to revoer a block, you need to know how to use RMAN for block recovery. When you have a larg table, you need to know partitioning and compression. You need to know parallelism. You need to know the difference between global and local indexes. The differences between bitmap and b-tree indexes. Unfortunately experience is the best teacher. Wisdom is taught the hard way, but if you have enough drive and dedication, you should be able to teach yourself enough to get the job.

If I interview someone and they don't look like they have very much experience, but they mention that they know how things work, and to a pretty decent detail or admit they do not know but know where to find answers, then I am willing to give them a shot over some guy who puts a ton of things on his resume and can't really tell me how Oracle works or gets the answers completely wrong instead of admitting he doesn't know.

Sabdar Syed said...


Thank you very much to take your time to comment, hope your valuable and profound comment will really help my blog readers to consider it and follow.

Once again thanks for your clear views.

Sabdar Syed.

Tom said...

Not a problem. With the powrr of machines today, the amount of RAM they come with, and the storage, almost anyone should be able to download VMWARE for free, and do most of this stuff. It takes discipline, dedication, and sacrifice. This is not just with Oracle but any RDBMS/Programming platform. If it is MySQL and PHP, SQL Server and .NET, and Oracle or Java, just do it.

If you have a local users group, go to the meetings and network and learn.

Dave said...

With those in mind, Sabdar Syed of the Oracle DBA and Apps DBA blog publishes How to Get/Gain Real Time Experience/Exposure as a DBA.

Sabdar Syed said...

Thanks David for refering my blog and the post in such a higly recommended group ( for DBAs.

Sabdar Syed

Business Journal said...

Harrisburg Real Estate

Nice blog dear i have really learn a lot from this blog thanks. This blog is very informative for me. I became very pleasre to read it.

azeem said...

I really appreciate both of your concerns towards upcoming dba's, As iam aspiring dba course and wanted to know the real time environment of a working dba, your suggestions have given me good thought towards my goal, i thank you people deep through my heart i wish you people best in your future endeavors and keep helping your juniors as me and post these kind of thoughts on and off on the blog for people to refer. god bless you. regards, azeem.

azeem said...

bX-flpow5 I really appreciate both of your concerns towards upcoming dba's, As iam aspiring dba course and wanted to know the real time environment of a working dba, your suggestions have given me good thought towards my goal, i thank you people deep through my heart i wish you people best in your future endeavors and keep helping your juniors as me and post these kind of thoughts on and off on the blog for people to refer. god bless you. regards, azeem.