SQL Server VS. Oracle - Making the Argument...

  • I work in a SQL Server 2000 environment and there are rumors going around my job site in which the IT Director is thinking of converting our local database to Oracle.

    I work for a big company where the rest of the company is Oracle/Java-based.  I work at a remote location where we are a full Microsoft shop in which we are doing SQL Server/.NET development.  

    We are doing amazing things here compared to the rest of the company.  Everyone knows how good MS products are, but I want to make the argument why we should keep SQL Server here and not migrate to Oracle.

    I wanted to ask some of you experts why SQL Server is better in my department as opposed to Oracle.  I've dealt with Oracle in the past (a few years back) and as I remember, it is not as 'easy' to work in as is visually in SQL Server.

    Arguments like scalability, easier to work with, the future of the product (.net), integration w/ other MS products, Reporting Services, and so on... are arguments I am thinking about.  I would like to hear what others think as well.

    I look forward to any assistance here.

  • EB24,

    This community is pro-SQL Server, but that does not mean we are necessarily anti-Oracle.  Well, not exactly anyway.  I think this (along with the extremely open-ended nature of your question) might be why nobody's replying.  But I'll tell you what I think, at least.

    I work with both Oracle and SQL Server all the time.  I have worked with SQL Server since version 4.21, and I have worked a little less time with Oracle, starting at version 7.  It used to be easy to differentiate between the products.  For example, the following all used to be true:

    * SQL Server was cheaper, both per transaction and in licensing costs

    * SQL Server was easier to set up and manage

    * Oracle could run faster and was more stable

    * Oracle was more tunable

    * etc.

    But times change.  Everybody in these forums is probably aware that SQL Server can now be configured just as (uselessly?) fast as any other database server, and that it can post monstrously fast benchmarks.  So the speed stereotype doesn't really hold much anymore.  In fact, it's been true for a long time that most difference in stability and speed between Oracle and SQL Server had to do with the underlying OS.  In other words, Oracle was faster than SQL because Unix was faster than Windows.  Same for stability.  As the Windows Server products have become faster and more stable, SQL Server has been able to do the same.  The gap is closing, and in some cases has already been bridged.

    As for ease of use, this may still hold true, but Oracle's Enterprise Manager and related products are much, much nicer than they used to be.  Still, I'd say SQL Server is much easier to set up for databases that don't need to scale much, for example.  But, on the other hand, Oracle is still more tunable, in that there are a lot of things a DBA can easily control and tune that you can't on SQL Server.  A lot of these features are a little arcane, and part of what an Oracle DBA gets paid for is knowing which 3 of the kazillion tuning features are the ones to focus on for the problem at hand.  And on the high end - here I'm thinking of clusters - Oracle is actually *easier* to work with than SQL.  I say this for simple reasons.  For example, the shared-disk approach (used by Oracle) requires only that I add another server to my cluster to scale it out.  The shared-nothing approach (used by Microsoft) requires repartitioning my data to add another server to the federation.  Also, the shared-disk model, because it uses only one physical database, does not suffer all the issues with replicated tables needed for foreign key integrity that are present in a shared-nothing model.  The cluster-aware folks here will know what I'm talking about.

    And did you see the recent news that Oracle is pricing processor licenses for their Standard Edition at the same price point as SQL Server now?  In fact, it's $4 *less* (retail), IIRC.  This gap is also closing.

    So my advice to you is that you need to recognize that your main battlefield is not about technology.  In fact, it hardly ever is.  If you argue technology, ease of administration, and so forth, you are in a big Oracle company, right?  So there are going to be lots of Oracle people who will trumpet the virtues of Oracle - and they are many.  As great as SQL Server is, that might be a hard argument to win.

    Instead, focus on what the decision makers will probably be focused on - business value.  Remember, the business does not exist to benefit our technology; we are supposed to use our technology to benefit the business.  So run at it that way.  Are you really doing "amazing things ... compared to the rest of the company?"  Then document that, and make sure the IT Director knows about it.  Make sure you use objective measures wherever possible.  In other words, don't just say that "we do amazing things."  Say things like "we turn around midsize projects in 2 months, while the company average is 8 months."  Or, if numbers like that are unavailable, use anecdotal evidence (that is, examples).  Things like, "we finished Project X in 2 months, while the Coroporate office took 8 months to finish Project Y, even though X is a bigger project."  Talk about how much it might cost to train your staff in Java and Oracle technologies so that they would reacquire their current level of expertise on the new platform.  But remember, the IT Director is (or at least should be) thinking about business value.  And if the IT Director says fuzzy-sounding management-speak things like "inter-departmental synergies" and "economies of scale" they are really thinking about the quite valuable concepts of developing deeper levels of expertise within the organization by having more people using the same platforms, so that there is more information to share and more knowledge to benefit from.  Whether or not they pull it off (I've seen people both fail and succeed at such things), those are noble goals, at least!  So if they decide to go to The Dark Side, the most important thing for you is to know how you will respond:  will you let yourself be cross-trained onto the new platform, or will you hit the road and look for a new employer?

    Well, that's enough ramblings from me.  I just wanted to give my 0.02, because I thought that if nobody starts some kind of response, you might not get any at all.  Of course, I am well-aware that this is a SQL Server community, and I think SQL Server is a fantastic product.  But Oracle has some greatness to it also, you know.  So I trust that anything I've said that seems anti-SQL Server will be understood in the context that I myself am very pro-SQL Server, and I'm certainly not trolling for flames here.  But I hope that others will jump in and share their thoughts, too.  After all, that might at least give you some comfort in the middle of what may be a fairly stressful situation!

    By the way, I was a SQL Server-only DBA until one day when my company announced they were installing Oracle Apps.  But they put me through a lot of training for that rollout, and, well, I survived!  In fact, it might have been one of the best things that has happened to my career, since there are not that many people around, in my opinion, who really have a lot of expertise on both of these very popular platforms.  So who knows?  Maybe this will turn out to be a blessing to you somehow.

    Take care,

    Chris

    PS.  This is my second draft of this!  The first one, which was a lot better, I think, disappeared when I hit the "Post Reply" button sometime late last night.  I must have sat on the screen too long that time, and my editing period must have timed out?  At least that's my guess.  But when I saw you still didn't have any replies today, I started back in ... writing in UltraEdit!  So here goes, cut-and-paste...

  • Nice balanced article, Chris, although I am afraid that EB24 hoped for a more PRO-MS article to convince his superiors.

    Which I am not qualified to provide. I use both as a developer, and if I have to choose I would pick SQL Server. From the viewpoint of a DBA - which I am not, but in a small company someone is appointed to do the laundry - I would choose Oracle.

    The only Oracle/Java project we did was a miserable failure. Our Oracle/Powerbuilder - yes, I am a dinosaur - projects are quite successful.

    Gerry.


    Dutch Anti-RBAR League

  • AS a DBA who uses SQL 7, and SQL 2000 as well as Oracle 8i for our ERP system, I can only say that I find that there is not much to choose between them as database engines with MS SQL just slightly easier to manage day to day but I would say that the GUIs for Oracle 8i are not pleasant, on windows at least.

    I find DBA studio a slow and cumbersome tool (I should mention that I tend to find fault with most Java GUIs anyway).

    Nigel Moore
    ======================

  • I've been working with Oracle 8 for about three years and SQL 2000 Server for two years.  I consider myself as having intermediate level knowledge of both.  Here are some of my feelings between the two.  (Keep in mind, I haven't had the opportunity to use anything higher than Oracle 8.0.5.)

    - Whenever we went for additional licensing with Oracle, the price was way too high.  (But it sounds like they're trying to be more competitive now.)

    - I had to teach myself both Oracle 8 and SQL 2000 Server administration.  (Yeh, they keep talking about training but never put their money where their mouth is.  *grrrr*)  The learning curve on SQL 2000 was much shorter.

    - I find day-to-day management much easier on SQL 2000.

    - Disaster recovery is a breeze in comparison.  A 6 GB database in Oracle takes me about 4 hours to fully rebuild on my test system (mostly due to file restore taking 3 hours.)  I have a much easier time of it with SQL 2000.

    - Like mentioned above, development is a breeze in comparison.  But that may be due to the level of knowledge I have for each.

    But personally, I feel that having to learn and work with both is a great opportunity.  One should not be too resistant to change.  After all, that seems to be all that I experience where I work.

    And I really liked the first response.  That was some great input!

    ~Rhonda

  • NMoore said something about the Java GUIs for Oracle being a little sluggish.  I agree!  I actually think that the DBA Studio is a nice interface (especially compared to what they had before), but it is not a snappy experience.  But it seems that there's a flip side to almost all of this, and in this case there is a cultural difference between the two worlds:  Oracle does *everything* from a cross-platform point of view.  They even have cross-platform name resolution (in case you don't use DNS ... not very common, but just in case) and cross-platform query editing commands (in case you're working on Windows, and can't figure out Notepad, or maybe you're working on *nix and don't know how to use vi / emacs ... not very common, but ...).  So I think that the little bit of sluggishness in their GUI is sort of analagous to the performance deficit that SQL Server used to have - it's the platform's fault (Java, in this case).  As little as I do with Java, even though we are primarily a Java shop, I hope it gets *faster* on Windows sometime soon!  Still, the thing works and is just a little sluggish compared to native Windows apps - in my opinion, it's not like it's deathly slow.  Plus (and here's the cultural thing coming through - the hardest part about living in both world's is the cross-cultural part) when I use my Linux workstation, the interface looks the same. 

    For what it's worth ... I don't think this post of mine is exactly on-topic, but I think the cultural framework is an interesting thing that gets overlooked.  One camp screams: it only works on Windows!  The other camp screams: it's too slow on Windows!  And I just sit in the middle, eating ibuprofen, and trying to get my work done ... 

    [later edit:]  Oops, I need to mention that I did not mean that *NMoore* was screaming in any way, and NMoore certainly did *not* cause me to eat ibuprofen!    NMoore's post was just the thing that got me thinking about what it's like to work in this "cross-cultural" world where sometimes neither side will even recognize the validity of what the other side is saying.  NMoore's post, like the others in this thread, are a good example of how we actually *can* talk about these things without sounding like quasi-religious fanatics, and still go out for buffalo wings and a drink after work together.  Well, we could if we were in the same location, anyway...

  • My $.02 cents as I work in an environment that has SQL Server, Oracle and Sybase. One of the disadvantages that I hear and have experienced is the underlying Operating system and the security vulnerabilities. You have to constantly apply security patches to Windows which might require testing  from the application point of view. On the same note I noticed Oracle too has many security vulnerabilities (not as publicised as Windows) which requires scheduled down time to apply the patches and also testing. The dba to server ratio for Oracle is also lower compared to SQL Server.

  • > The dba to server ratio for Oracle is also lower compared to SQL Server.

    That's an interesting thought, but I wonder what everybody else's experience is.  Combining data from the different jobs I've had where both SQL Server and Oracle were running, I get numbers like this:

    • Job A:  12 SQL Servers with 1 DBA; 3 Oracle Servers with 2 DBAs

    • Job B:  About 40 SQL Servers with about 10 DBAs; 3 Oracle Servers with 3 DBAs

    • Job C:  12 SQL Servers with 2 DBAs; 15 Oracle Servers with 6 DBAs

    Other full-time jobs I've had have not used both platforms.  When I look at this, the best summary I can come up with is that the SQL Server DBAs have always had to cover at least 4 servers each, but the Oracle DBAs have never covered more than 2.5 servers each.  Now part of that is due to the historic use of multiple instances on the Oracle servers.  For example, Job C probably runs 60 instances on those 15 servers.  But then you get into the discussion about "does an Oracle schema equate to a SQL Server database" and other apples-to-oranges discussions.  So I think I'll just leave it at servers-per-DBA.  Anybody else care to post their statistics?  I think this might be interesting...

    Cheers,

    Chris

  • We currently have 47 apps running on SQL Server (I am the lone DBA), and as of last year we now have Oracle 8/9I, 4 apps with 2 more on the way. The SQL Server apps are all pretty small and the Oracle ones are the bigger ones, one has a 350 million row table with 250 cols. Anyway, I have been working with SQL Server since 1997 and have 1 year experience with Oracle now. SQL Server is easier to work with because everything is GUI and self tuning. Oracle has more knobs to turn/tune and a slight change to one thing can totally bring a process to its knees. The Oracle GUI is all Java which is very slow but in 10g thats all gone, YA ! 10g introduces tons of self tuning parameters and memory is managed internally also YA !

    My biggest complaint about SQL Server (I prefer it myself) is all of the security hole issues, patch city. If you read a non biased article about some of the original underlying code its a little scary. Although its a breeze to work with comparied to Oracle still. I think 10g is going to take Oracle to a new level with ease of use compared to SQL Server... but we have yet to see what YUKON will bring to the table. 

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply