SQL Server VS. Oracle

  • Yes, and speaking from experience, some of those 3rd party tools leave a LOT to be desired. I do remember at some point reading an article where there were some Oracle DBAs requesting purchase of SQL Server (this was back in the 7.0 days) to get DTS since Microsoft had it coupled with SQL Server.

    K. Brian Kelley

    bk@warpdrivedesign.org

    http://www.sqlservercentral.com/columnists/bkelley/

    K. Brian Kelley
    @kbriankelley

  • [font=Verdana]

    Advantages of SQL Server.

    1) Low cost of maintainence (Oracle seems to be catching up)

    2) Easy installation and setup

    3) T-SQL is easier to learn compared to PL/SQL

    4) Identity Keys are much more better than sequences. Sequences mean additional object to maintain in SQL Server. I wrote a stored procedure to insert 200,000 records into a table containing two fields. It did this in a matter of 6 minutes. This table also had a trigger with a sequence update. With SQL Server it took only 3 minutes. I think this is due to the identity key as opposed to the trigger / sequence method.

    5) Implicit Commits - Oracle doesn't support this option.

    [/font]

    [font=Verdana]

    Advantages of Oracle

    1) Cross Platform Interoperability. Oracle is available on various flavors of Unix and NT. All versions of Oracle run the same. This means that once you have an application ready in Oracle you can actually port it from Windows to Unix or vice-versa. (I mean the scripts and not the database files)

    2) Huge scalability. (SQL Server is catching up). Oracle scales better. However you need to use features like variable binding for Oracle to scale up. Following incorrect practices will only slow down Oracle to a crawl. (This is where the DBA's come in).

    3) PL / SQL - PL / SQL is fully developed functional language which supports exception handling and arrays. PL / SQL supports object oriented features like METHOD OVERLOADING within a package.

    4) Java Support - You can actually have your complete java classes inside Oracle. So your logic written in Java doesn't need to be ported to PL / SQL should you need to do that. However this is not as fast as native PL / SQL.

    5) User Defined Functions. Oracle allows users to write their own functions. (Now added in SQL Server 2000)

    [/font]

    Edited by - abhi_develops on 03/03/2003 12:27:07 AM

  • Debugging in SQL PLus is something that people get used to. There are a lot of third party tools available for Oracle PL / SQL debugging. One of these tools is TOAD. Another one I have found useful recently is PL/SQL Debugger from allroundautomations. However this tool is not free.

    In this aspect, I find MS lacking as well. I have still not been able to debug in T-SQL apart from using Print Statements. I am using SQL Server ver 7.0. I have heard that there is a debugger in SQL 2000. I wonder if it can be used against a ver 7.0 database?

    Abhijit

  • My point of view, as Oracle DBA for three years and just beginning in SQL Server administration:

    - Easy to use: Oracle 6 and 7, agree with you that had a big learning curve. With the wizards ORCL provides right now, there's no difference with SS Enterprise manager. Auto-administration with very little work.

    - Performance: even in Windows, do you really think SS is faster? TPC in cluster environment is a really badly designed test. TPC standalone gives advantage to Oracle and DB2.

    - Architecture: Oracle much much better. ORCL dictionary much powerful, easier to use.

    - PL/SQL vs T-SQL: even. I think both are fine.

    - Scripting capabilities: ORCL, you can do EVERYTHING you need. SS, don't know.

    - Clustering: SS has no failover, only scalability (in fact federated db, not cluster). ORCL, failover, scalability.

  • hi, i just joined - i'm a production dba for a calif state agency - imo, one big difference between oracle and mssqlserver is the way the two products handle row locking - oracle is said the hands down winner

    some of my biggest problems involved tracking down deadlocks in mssql - i have no experience with oracle, but i read where oracle *only* does row level locking and because of that, it is far more stable in this area, whereas ms tries to be 'smart' and performs dynamic locking, jumping from row level, to page, to table in mysterious ways that can sometimes lead to trouble (dead locks)

    -gf-

  • Hi All!

    As an Oracle Certified DBA and soon to be MCDBA who works with both Oracle and SQL Server, I'm going wade in. I'm not trolling, these are my opinions, so please don't be offended.

    Oracle isn't that much more expensive than SQL. I price them on a regular basis. SQL is ~US$2,200 per 10 devices. Oracle is US$300 per user. If your users average 1 PC each (and in the real world they rarely do) then Oracle is 25% more expensive. Or, to put it in perspective, on the proverbial 100 user half-million dollar project Oracle costs $8,000 more. That cost difference is unimportant.

    I can speak from much experience that Oracle runs just as fast on Unix as on NT until your user populations are large. We run Oracle and SQL on our demo laptops and I can't claim to be able to tell which is faster under single user loads.

    The big differences from my perspective are:

    Locking - SQL server lacks Rollback/Undo logs and therefore it locks FAR MORE OFTEN than Oracle. I honestly can't recall an Oracle DB locking because of simple Insert, Update, Delete Activity. SQL (even with lock escalation off) locks several times a week on my development team.

    The big difference between PL/SQL and T-SQL is that PL/SQL has much better error handling. In T-SQL you have to check @@ERROR after every statement, which frequently increases code length by 30%. In Oracle you put a simple 3 line "EXCEPTION WHEN OTHERS" block at the end of your procedure and you can do more than what is possible in TSQL with ten time as much code. I'm particularily unimpressed by the way that T-SQL will abort, bypassing all of your error handling code, for errors that Oracle allows the programmer to handle.

  • My two cents... SQL Server has a good scheduling options. In Oracle to schedule a job, you need to perform calculations with the sysdate variable. MSSQL gives you a calendar on a platter. Again in Oracle, you better have a proc handy to run a job. In MSSQL, you can do that by just specifying the SQL Statement or the procedure in cases where a simple statement just wont do.

  • I never discuss issues like Oracle vs SQL Server, MS vs Linux etc in a detailed way, since there will always be details about each side that seem better or worse to one of the sides. However, what I do want to point out is the following common minconceptions:

    * SQL Server runs only on NT, Oracle runs on several platforms: Only pro-Oracle people see this as a problem with SQL Server. Running only NT is and has always been a strategic decision of MS, and it is one of the reasons for SQL Server being such a great product.

    * Oracle is more tunable, scalable, and is "closer to the machine": See above, again this is only said by pro-Oracle. I would say SQL Server is probably closer to the machine since it is so tightly integrated with NT. The reason there are more 'knobs' to turn in Oracle is precisely because it needs to support several platforms, very different from each other.

    * TPC standalone gives advantage to Oracle and DB2: Checked the latest TPC-C results for non-clustered tests? Also, only pro-Oracle see performance as more important than price/performance. I agree that TPC results is not very useful in the field, funny though how pro-Oracle always names non-clustered results anyway (until now at least.

    My main point is that most of the 'flaws' pointed at in discussions as this are seen from negative eyes (pro-Oracle complains about SQL Server, pro-SQL Server complains about Oracle). Since the products are not built on the exact same ideas things are implemented differently, which sometimes means things have to be done in quite different ways. Even if some functionality is not available in one of the products, there are almost always some other way to solve the same problem. Earlier in this thread rdemotsis mentioned a very wise thought:

    quote:


    We find that by using the database platform that the application was written for has fewer headaches. We are a DB2, Oracle, and SQL Server shop. Each database application has it's own pros and cons.


    If you can handle the trouble of handling all different products, that is one of the best policies I have seen.

    --

    Chris Hedgate @ Apptus Technologies (http://www.apptus.se)

    http://www.sql.nu

  • quote:


    Access/mySQL/SQLServer/Oracle/TeraData Andy


    Where would you fit PostgreSQL into this spectrum? Or is it not significant? We're considering Novell alternatives. Thank you.

  • I will put my 2 cents here too:

    I'm supporting actually my customers running SQLServer and DB2, in the past I was running Oracly and Sybase too.

    My opinion:

    System: SS was made (out of Sybase) to run exclusivly on NT. Therefore it's optimized for NT

    Oracle, DB2, Sybase are made to run first of all on Unix and because the "trend" push them, they are running NT/W2K too. So the code is not NT optimised.

    An other point: A customer in 99% of the cases don't care to run his RDBMS on several hardware type. He want to run them on HIS HW.

    So it it's UNIX then choose DB2 or Oracle or even Sybase (or Informix which is the fastest of all on UNIX)

    Tuning: Oracle and DB2 has much more possibilities to finetune at the same DBA knowledge level.

    And here is the main trap of SQLServer.

    Because it is very easy to install and run. But you will come to problems as well. And there you will need a solid DBA experience.

    Price: SQLServer is definitly cheaper to run and support the Oracle or DB2. Infortunatly MS is getting heigher and higher with their prices.

    Tools: SS has definitly the best administration and development tools. Try to compare QA to SQL*Plus or Command Center.

    Try to have a handy Profiler on Oracle or DB2...



    Bye
    Gabor

  • There are 3 main reasons why I choose SS:

    1. VB is really really a great programming language, but Developer 2000 is sucks. We all want to deploy some solutions right? Not just creating some database on a mambo jumbo server.

    2. For business intelligence, I think SQL Server is the best product so far. Oracle cannot even export a table to a text file. And client application for BI is also wider, from Office XP to VB or VC++ using ADO

    3. You cannot easily deploy some applications for Starting Oracle DBA. In my case, I'm a solution provider. Can you imagine that you need to make sure that your client have an experienced dba, just because you cannot make some simple application for backing up database? This can do easily using sql-dmo and vb

    I also think pricing is not really a problem. Sometimes I met a CEO which said that he had a money to buy any product.

    Hendra

  • quote:


    2. For business intelligence, I think SQL Server is the best product so far. Oracle cannot even export a table to a text file. And client application for BI is also wider, from Office XP to VB or VC++ using ADO


    Don't really agree with you over here. You could always use java classes to export to text files, if you are not comfortable with PL/ SQL functionality. And its definitely possible to develop Oracle applications in VB, VC++ or any other development environment that you choose.

    Cheers!

    Abhijit

  • SQLServer Remote Database Management/Admin piece of cake. Rapid development compare to oracle its cool.

  • It has been interesting watching this horse race unfold over the years. SS has been adding technology (from the competition) with each version.

    While I am a fan or SQL Server and Oracle, it is up to each solution developer to prioritize cost versus scaling.

    When you consider hardware and administration costs on top of licensing, SS is much cheaper for all but the larger applications.

    For very large databases Oracle still has the edge with scaling and failover.

    When your needs move into clustering or data analysis (BI) the complexity increases for both SQL and Oracle. That is the point you need a dedicated DBA no matter what you run.

    What we should discuss is SQL Server lockups and the configuration and design issues, as well as monitoring and restore methods.

    The goals is to get the information out there to help SS programmers and DBAs do it right!

  • We're just looked at an 8-way and when you add of the cost of licensing SQL Server EE. The cost is well into the six-figure range. Total cost of ownership for SQL is becoming a concern.

Viewing 15 posts - 31 through 45 (of 96 total)

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