So you want to learn "ORACLE". What exactly does that mean? What do you WANT to do?

Oracle Databases: Starting a Career, Part 2So

So you want to learn "ORACLE". What exactly does that mean? What do you WANT to do?

Concurrently with learning SQL & PL/SQL, you need to start thinking about the type of work you like? Are you already a COBOL programmer and want to start programming with Oracle? Or maybe you're a SQL Server DBA and you wisely want to move to Oracle? Maybe you're an accountant, stay at home mom, secret agent or student and you aren't really sure.

Below I list some of the different areas that people mean when they say "ORACLE". It's not all encompassing but I try to give you an idea of the type of work and what's required. You don't need to decide now but you should be thinking about it.

  • DBA - Administrator - Normally referred to as a Database Administrator or Database Analyst. In my opinion, unless a DBA is doing design work, they are an administrator. It's true that troubleshooting requires analysis, but design is traditionally an analyst role.


    I spoke briefly about defining a DBA in both What is a DBA? and Are DBAs Needed Anymore?.

    But here is a list of what I have run across in my career that are considered DBAs. Different companies may have all of these or some subset/combination of these.

    • Production DBA - A support position. Maintains the production databases. Responsible for Backup/Recovery, Space, Performance, Replication, etc in the Production segment. Has the keys to the city but also tends to be woken up frequently. In my experience, the best production DBAs do not make good developers. This position tends to work well for very detail oriented people and perfectionists. This position can be subjected to a lot of administrivia on a daily basis. This tends to be a high stress job that is never "finished". Many new things to learn for each database release. Not usually open to beginners.


    • Junior Production DBA - A support position. Does the grunt work for the production DBAs. Usually mentored by a more experienced DBA. This job involves a lot of monitoring, research and scripting. Only stressful because Senior DBAs are evil, wicked people. Very open to beginners.



    • Security DBA - Responsible for overall database security including users, applications, data access and data distribution. In the past this position was usually a production DBA but more recently is coming into its own. In some cases, this person will report to a CIO/VP instead of a lead DBA. This job involves a lot of research and continual learning. Knowledge of compliance and government regulations is required. Very paperwork oriented. Only stressful when you don't get it right. Not usually open to beginners.



    • Application Support DBA - An application support DBA is like a production DBA but instead of worrying about the database in general, the apps support DBA becomes an expert in the structures and administration of the application(s). Packaged applications like Oracle Financials, Seibel or SAP in particular require dedicated Apps DBAs. Some larger custom applications also require this kind of dedicated support. This kind of position usually requires some functional knowledge of the application as well as any custom languages used in development. This position also tends to be less technically oriented than a production DBA but is just as stressful. Somewhat open to beginners.



    • Application DBA or Development DBA - An application DBA works with development teams in designing, developing and deploying applications. This DBA needs to be familiar with the organizations production standards and will usually review developer designs and code. This person is also normally responsible for developing implementation scripts. A development background and design skills are a must to be a good application DBA. Though often underrated, this is one of the most critical positions on a development team. A good DBA here can simplify a project and help ensure success. A bad DBA in this position will surely doom a project. This position tends to be less stressful than a production DBA unless deadlines get too close. Sometimes this position gets rolled into the production DBA job but in my opinion that's a mistake. Somewhat open to beginners.



    • Warehouse DBA - A warehouse DBA concentrates on keeping up with the latest methods in performance tuning and data loading. This position is not for beginners. This position is usually held by a very experienced production DBA or a super developer. This tends to be one of the most tedious positions and requires tenacity: this job is all about monitoring and tuning. Low stress until the users start yelling about slow queries. Almost never open to beginners.



    • Application Server Admin - To me, even the concept of an app server admin (in the DBA group) is a mistake. The app server belongs in a systems support group not a DBA shop. However, it seems to me that since Oracle Corp sells this, it always ends up being maintained by DBAs. This is a good career to get into if you're moving from web development but it is not a DBA or developer role. I spent a small amount of time maintaining 9iAS. This position is all about configuration and security. Knowledge of web languages like Java, perl and PHP help but aren't required. Stress levels depend on the type of installation you maintain. If you maintain production servers, the stress level is equivalent to a production DBA. Ideal for beginners.



  • DBA - Analyst - An analyst usually spends less time worrying about the physical and more time worrying about the logical. In some organizations these analyst positions are rolled into DBA or developer roles but in some organizations (usually larger ones) the are standalone positions.

    • Data Modeler - The data modeler builds ERDs; either logical or physical (preferably both). This is one of my favorite jobs. It requires attention to detail and knowledge of the business being modeled. That knowledge can come from business analysts or from experience. Not usually stressful and not usually open to beginners. This job is often incorporated into other jobs like production DBA, application DBA or lead developer.



    • Warehouse Analyst - Also called a warehouse architect. A warehouse analyst is part data modeler and part production DBA. While the warehouse DBA will monitor for performance and space issues, the warehouse analyst has to plan and design for performance and space issues. Deep knowledge of partitioning, star transformations, bitmaps, etc is required. Where is data going to reside, how is it going to get there and how will it be archived are questions that are frequently visited. Never open to beginners but not usually stressful either.



    • DB Analyst - The analyst is the person who knows how the many applications in an instance fit together and how changes to an application will impact the others. This person needs some database, programming and application knowledge; they need the ability to back up and see the big picture. One of the few Oracle jobs that stresses the macro over the micro. It's a great place for a business analyst to move into a more technical role or for a programmer to move to a more business oriented role. It's usually not too stressful.



  • Developer - The code has to come from somewhere. Stress levels for developer positions generally depend on the skills of the dev team. Good teams with good managers should be stress free. Bwahahahaha.

    • Backend - The backend developer is primarily a SQL & PL/SQL developer although knowing java and shell scripting doesn't hurt. This developer creates the bulk of the business rules (when the business rules are stored in this tier ((as they should be))). This is also the person who writes the batch processing and external interfaces. This developer generally does not do user interfaces. A position as a Jr developer is a great place for beginners. Many places do require some experience even for Jr positions though.



    • Forms - The forms developer is a dying breed. Companies that have a history with forms still use it but I don't see much growth here. Since Oracle Forms is a 4GL, a lot of the work on basic screens is already done for you (especially if using templates). A good place to learn PL/SQL and SQL skills but the number of positions is shrinking. In my opinion, if you get the opportunity for a forms gig, you should take it but plan to learn other areas of development also.



    • Reporting - As in Oracle reports, Crystal Report, SQR, etc. The nice part about being a report developer is that for many tools you can bounce between databases. Oracle Reports is specific to Oracle, though. Reporting is a good place to learn and get a foot in the door but unless you really love it, you'll want to branch out.



    • Warehouse & ETL - An ETL developer is a specialized back end developer. ETL stands for Extract, Transform & Load. Pull data from somewhere, format it for somewhere else and then put it there. ETL can be written with ETL tools like OWB or Informatica, or they can be hand coded in PL/SQL, Java or any other language. This is not really an area for beginners. A good ETL developer has a lot of knowledge in many different areas including some complex ones like data loading performance.



    • Java - By Java, I mean inside the database. I don't see many jobs for a pure DB Java developer but knowing Java helps almost any database developer resume. If you know Java or are learning Java, consider it an extra point when you interview for that Oracle job.



    • Web - A web developer is someone who codes in Java or one of the popular scripting languages (PHP, Perl, etc) and accesses a database. Many shops are migrating legacy languages like VB, Forms, C, and others to these multi-tier languages. In my experience this is a great place to start for many people. You can develop something at home or for an open source project and actually have some links to show off at interviews. In the end, it's the ability to do the job that's most important.



    • HTML DB - I was contacted by a recruiter last week looking for HTML DB programmers. So far, that's the only job I know actually hiring for HTML DB but hopefully it's a sign of things to come. HTML DB is easy to learn and since you can get it with Oracle XE, you can hang your app on the web and show it off like a web developer. I can't recommend making this your first choice if you want to get into Oracle. It just doesn't have enough history yet. But I don't see how it could hurt if you learned HTML DB while you were learning SQL and PL/SQL.



and .and .


I figured I'd list two or three different jobs and then this list just got away from me. I hope it gives you some insight into the different areas that encompass "Oracle". I'm sure I missed some important jobs or got my descriptions wrong. If you think so, let me know about it.

As always, if you have comments, questions, concerns, or suggestions, please post it here or email me at lewisc at rocketmail dot com. Put blog in the subject line to appease the spam monkey.


บันทึกนี้เขียนที่ GotoKnow โดย  ใน teeranan-cybernet

ความเห็น (0)