Five Oracle Myths

Oracle
15 Comments

It’s Hard to Configure

Historically speaking, Oracle was a bit painful to configure. A DBA needed to be able to size internal components like the rollback segment, buffer cache, large object cache, sort area, and a number of other memory structures. This gave Oracle a reputation for being difficult to configure. Rightfully so – compared to SQL Server at the time, Oracle was difficult to configure.

Starting with Oracle 9i, the database included limited automatic memory management features. Instead of having to size many aspects of memory, Oracle DBAs just had to size two. And with the introduction of Oracle 11g, Oracle memory management became a matter of configuring a max memory target.

confused-plumber
A database is a series of tubes, right?

Tuning is Complicated

Database tuning is hard. Thankfully databases just come with GUI wizards that work every time, right?

Database tuning is difficult in both SQL Server and Oracle. Oracle DBAs have a wealth of system views to choose from when designing performance reports. There are the usual tools to get information about instance-level CPU, disk, and other waits.

On top of the system views, Oracle users who have licensed the Performance Pack have access to the Automatic Workload Repository (AWR). AWR constantly collects information about Oracle performance and allows DBAs to get a fine-grained view of performance at a number of levels. On top of the system views provided by AWR, it’s also possible to generate AWR reports that generate analysis of database performance over a period of time.

The User Interface is Bad

SQL Server DBAs and developers who are used to SQL Server Management Studio are initially horrified when they’re exposed to Oracle’s command line user interface through SQL*Plus or RMAN. Although the command line is a rough introduction to a product, it’s also a rich environment where users can run scripts, prompt for input mid-script, and create full featured applications with little more than PL/SQL. Although the command line tools appear unforgiving, they offer a wealth of information, built-in help, and query editing capabilities that tie into the user’s primary tools.

Users who refuse to get on the command line aren’t left out in the cold. Oracle has a pair of tools – Enterprise Manager and SQL Developer that provide additional tooling for DBAs and developers. Enterprise Manager provides a dashboard for DBAs and system administrators to review server health at many different levels – from the enterprise through to the datacenter and all the way down to a single server. SQL Developer is a development tool with built-in reports; SQL Server professionals will find SQL Developer to be very familiar.

It Doesn’t Run Well on Windows

“Oracle just doesn’t run well on Windows.” I’ve heard this phrase a lot. Oracle runs on Windows and Windows is officially supported by Oracle for production deployments. Anecdotally, there are very few Windows only bugs for the Oracle database proper; most bugs are cross-platform.

However, you will find that almost all Oracle examples assume you’re running Oracle on a Linux or UNIX system. A quick scan of various forums, blogs, and other online resources indicates that maybe 20% of Oracle deployments are on Windows. Don’t let that stop you from learning about Oracle – most functionality can be accessed with only minimal knowledge of the operating system. For everything else, there’s always your favorite search engine.

You Need a Team of DBAs

Everyone knows that a SQL Server DBA can manage far more SQL Servers than an Oracle DBA, right? After all, with all that manual memory management, lack of tuning, and no Windows support, you need a team of talented UNIX system administrators to keep Oracle running well.

While it may have required a village to run an Oracle database in the past, it hasn’t been that way for some time. Recent versions of Oracle have automated many of the involved processes. Other features like RMAN and AWR reports provide time-saving features that make it easier for DBAs to do more work.

Your Turn

What other misconceptions have you heard about Oracle’s place in the world of databases?

Previous Post
How SQL Server Licensing Works [Video]
Next Post
Email Query Results Using a SQL Server Agent Job

15 Comments. Leave new

  • AWR and ASH reporting both require an extra license fee to be paid and both require Enterprise Edition, which makes tuning a little harder if you’re in a small shop running Standard or Standard One. This is something the people need to be aware of. If you want the snazzy tools, they are extras on top of the most expensive edition.

    The user interface piece is something you just get used to. I came up through Unix, so working at a command line is nothing out of the ordinary for me. The addition of SQL Developer to be able to right click and grab DDL was a HUGE gain. That was one thing Oracle never did as easily as SQL Server did.

    Earlier version of Oracle on Windows were terrible. Oracle 7 was a nightmare! I find that Oracle 11 on Windows isn’t much different to Unix – there are some issues when it comes time to patch the environment – since Oracle binaries include many DLL’s for Windows, the OS grabs them and doesn’t want to release them, which makes applying security patches a little more difficult on Windows. There’s also a couple of extra steps in configuring the database since both the Database and the Listener run as Services on Windows (and there’s just not that requirement on Linux / Unix).

    Another thing I’d always heard was that Oracle was super expensive compared to SQL Server. I don’t know what Microsoft’s pricing model is these days but you can get in the door for Oracle fairly cheaply with Standard Edition or Standard Edition One. Just be aware that if you opt to go with SE or SE1 you are limiting yourself in feature sets (like the aforementioned AWR and ASH tools).

    Reply
  • I have to manage a few large databases, a single largest of 24 TB. And more than often, the reaction I receive is that it should be on Oracle and that it would have greatest of performance and scalability on Oracle. I so want to tell them its a myth and point them at some facts.

    Reply
    • That’s not really an Oracle myth, but here goes:

      When you’re building SQL Servers in this range, you need some highly specialized skills and equipment. At the 24TB range, you’ll want to be looking at something like a Fast Track Data Warehouse reference architecture. Even then, you’ll probably want to dedicate a single DBA to tuning that system on a regular basis (8-16) hours a week.

      There are few hard and fast facts around the limited description you’ve provided. Much of this comes down to skill, expertise, and knowledge of the underlying product. Both SQL Server and Oracle have tools available to manage this kind of system. Oracle’s tooling at this scale offers significant advantages to a DBA who knows the system. If you don’t know Oracle, then switching to Oracle isn’t going to help you. If you do know Oracle well, there’s a good chance that you will be able to push the same hardware farther.

      Reply
  • I hear that Oracle is really expensive. I legitimately have no clue of it’s myth or fact – as I am usually in Microsoft shops, I never had much use for trying to actually find out the truth (most infographics on the matter seem to come from pretty biased sources *cough MS*). But I figure since you’re doing a special episode of MythBusters and the webcast from this week was the L word =)

    Reply
    • Haha! Oracle can be quite expensive. The list price for Oracle Enterprise Edition is $47,500 per CPU core. Many features (partitioning, compression, the performance pack) all cost extra, too.

      Pricing is a difficult thing to figure out because so much of the final price depends on your ability to negotiate with the software vendor. Oracle will kill you on one thing – support is a required purchase. Even my copy of Oracle Personal Edition comes with a support contract where I pay every year in order to receive access to the support portal and get access to updates.

      Let’s be honest, too – as the people who support technology, pricing is usually outside of our control. We make recommendations on features and editions, but beyond that we support the tools we’re given.

      Reply
  • Feature, Flexibility wise Oracle is a clear winner. How much of the population uses these is a different question.

    Simple things like Lookup related deadlocks in SQL Server are really bad. Covering index, Snapshot isolation can fix these, still not so good. Had a tough time trying to explain this recently.

    I found this link very interesting, its mostly development feature companion between RDBMS.
    http://www.sql-workbench.net/dbms_comparison.html

    Thanks

    Reply
  • A frequent myth I hear is that you cannot become an Oracle DBA without in depth knowledge of Perl and Bash scripting.

    This is quite ironic when most Sql Server DBAs I know have limited Powershell knowledge.

    Reply
    • That is a good one! I think you only need to know perl and shell scripting if you can’t find someone else to do it for you. Besides, they’re enough like SQL that they can be picked up fairly easily. And it’s certainly not necessary to drop down to the shell to do a DBA’s daily work.

      Reply
    • fwiw, having done Oracle on Windows and Oracle on Linux and Sqlserver, I would say you need *some* knowledge of a command line tool for Oracle – partly for scripting and partly just to use as a shell.

      On *nix I used bash, on windows I used perl and cmd (and the Windows GUI itself)….but I definitely didn’t need an in-depth knowledge of any of them. However, as with Powershell, the more you know the more you can get done…and it’s fun.

      Just my two cents – different people work very differently

      Reply
  • Can I start holding that view if I’m extremely PoSH (whomp-whomp! had to be done)? Speaking of which… Since you can put Oracle on Windows, any SMO-like powershell options for interacting with it?

    Reply
    • Given how awful the SMO API is, I’d hope not.

      I don’t know of any PowerShell options for interacting with Oracle on Windows. I also don’t know many people deploying Oracle on Windows in production. From informal surveys, Oracle is 80-90% deployed on “not Windows”.

      Reply
  • “However, you will find that almost all Oracle examples assume you’re running Oracle on a Linux or UNIX system.”

    This was a huge challenge for me. We’re a two man IT shop and one of our third party software vendors required an Oracle back-end. When it came time to refresh a Test environment through database duplication, I spent forever trying to figure it out. It turns out Oracle’s documentation doesn’t list an additional step needed when using Windows – creating the auxiliary database’s service. It’s tough when many of the support boards simply paste a link to the Oracle documentation, yet the documentation is incomplete.

    Reply
  • oracle is really not so hard to configure in practical and it offers good flexibility and ease of use to the developer.So it’s better to understand these myths .

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.