Truth about Oracle and MSSQL...Help needed

  • Hi,

    I am a strong MS believer.

    Recently I got this comparison between Oracle and MSSQL from my Manager which I believe is not completely true.

    Please visit the site below:

    http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=cB229.80470%24Ag2.3829465%40news2.calgary.shaw.ca&rnum=5

    I believe the points are not completely true.

    Can you all be kind enough to give me your point please?

    so that I can convince my manager about this.

    I know MSSQL is powerful enough and people are running huge dbs with our most beloved technology group.

    All help is appreciated.

    Thanks

    Gopi

  • Can someone post the points made here, my company blocks that address at out firewall.

    I will say though that Oracle and MS SQL both have there respective places in the Database world and do offer advantages over each other.

    Generally smaller, medium, and large size databases or set based operations perform far better on MS SQL Server. Also, the syntax is more conformed to use functionality and ANSI SQL standards than Oracle has done so far. Client and admin tools are far superior than Oracle out of the box (not sure about add on tools offered by Oracle and other vendors).

    Oracle on the other hand seems to handle extremely large databases better (this seems to be changing thou start with SQL 2000, 7 was good just not great). Oracle is based more on the cursor way of handling data queries and does work much better in that realm. Oracle offers a lot of internal functionality that is just not available in MS SQL yet.

    Now for the points made, I can offer comments on them if only I could see them.

    "Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)

  • Technical Comparison of Oracle and MS Sql Server 2000

    -------------------------------------------------------------

    By Faulkner, Kent, USA

    Updated by PorusHH, Australia

    Version 3.4, August 1 2002

    1. Single platform dependancy.

    SQL Server is only operable on the Windows platform, and this is a major

    limitation for it to be an enterprise solution. Oracle is available on

    multiple platforms such as Windows, all flavours of Unix from vendors

    such as Ibm, Sun, Digital, HP, Sequent, etc. and VAX-VMS as well as MVS.

    The multi-platform nature of Oracle makes it a true enterprise solution.

    2. Locking / concurrency

    SQL Server has no multi-version consistency model which means that "writers

    block readers and readers block writers" to ensure data integrity. In

    contrast, with Oracle the rule is "readers dont block writers and writers

    dont block readers". This is possible without compromising data

    integrity because Oracle will dynamically re-create a read-consistent

    image for a reader of any requested data that has been changed but not

    yet committed. In other words, the reader will see the data as it was

    before

    the writer began changing it (until the writer commits). SQL Server's

    locking scheme is much simpler (less mature) and will result in a lot

    of delays/waits in a heavy OLTP environment.

    Also, SQL Server will escalate row locks to page level locks when too many

    rows on a page are locked. This locks rows which are uninvolved in any

    updates for no good reason.

    3. Potential of long uncommited transactions HALTING database activity

    In sql server 2K, a long uncommited transaction can stop other

    transactions which queue behind it in the single transaction log, and

    this can stop all activity on the database,

    Whereas in Oracle, if there is a long uncommited transaction, only

    the transaction itself will stop when it runs out of rollback

    space, because of the use of different rollback segments for

    transactions.

    Oracle allocates transactions randomly to any of its multiple

    rollback segments and areas inside that rollback segment.

    When the transaction is committed, that space is released

    for other transactions, however Sql server allocates transactions

    sequentially to its single transaction log, the space

    occupied by commited transactions is not released to

    new transactions until the recycling of the transaction

    log is complete (in a circular round-robbin manner).

    This means if there is an uncommited transaction in the

    middle, and the transaction log cannot grow by increasing

    the file size, no new transactions will be allowed. This

    is the potential of a single uncommited transaction to

    halt database activity.

    4. PERFORMANCE and TUNING

    a. No control of sorting (memory allocation) in Sql Server.

    Oracle can fully control the sort area size and allows it

    to be set by the Dba.

    b. No control over SQL Caching (memory allocation) in Sql Serv.

    This is controllable in Oracle.

    c. No control over storage/space management to prevent fragmentation in

    Sql Serv. All pages (blocks) are always 8k and all extents are always

    8 pages (64k). This means you have no way to specify larger extents

    to ensure contiguous space for large objects. In Oracle, this is

    fully configurable.

    d. No range partioning of large tables and indexes in Sql Server,

    whereas in Oracle a large table (eg. 100 GB or more) can be seamlessly

    partitioned at the database level into range partitions, for eg. an

    invoice table can be partitioned into monthly partitions.

    Such partitioned tables and partitioned indexes give performance

    and maintenance benefits and are transparent to the application.

    e. No Log miner facility in Sql Server. Oracle 8i and 9i supply a

    Log Miner which enables inspection of archived redo logs. This comes

    free with the database. But in the case of Sql Server, external products

    from other companies have to be purchased to do this important Dba task.

    f. A Sql-Server dba claimed that fully qualifying the name of an object

    in Sql Server code would lead to performance gains of 7% to 10%.

    There are no dictionary performance problems like that in Oracle.

    Oracle would have some gains if it fully qualified all names - say

    0.01 percent. This actally shows the difference in the internal

    database technology between Oracle and MS and implies that the

    technology of resolving object names via the dictionary is

    more advanced in the case of Oracle, ie. Oracle seems to better

    access its internal dictionary and resolve names, unlike Sql server.

    g. A third party database tuning tool expert (the tool works both with

    Oracle and Sql Server) said: "Performance tables in Sql Server are not

    as *rich* as oracle and incur high overhead for accessing them in the

    case of Sql Server."

    5. MISSING OBJECT TYPES IN SQL SERVER

    a. No public or private synonyms

    b. no independent sequences

    c. no packages ie. collection of procedures and functions.

    6. PROGRAMMING

    a. Significant extensions to the ANSI SQL-92 standard in Sql Server,

    which means converting applications to a different database later

    will be a challenge (code re-write).

    b. Sql Server has no inbuilt JAVA database engine as in Oracle.

    In Oracle, Java classes can be loaded and executed in the database

    itself, thus adding the database's security and scalability to

    Java applications.

    c. In Sql Server, stored Procedures are not compiled until

    executed (overhead). In Oracle, packages and procs/functions

    are compiled before execution.

    In Oracle 9i it is also possible to translate Pl/Sql into C code

    and then compile/link the code, which gives very good performance

    gains for numeric itensive operations. SqlServer has no such

    ability.

    d. In Sql server, there is no ability to read/write from external

    files from a stored procedure. Oracle has this ability.

    e. Sql Server uses cryptic commands for database adminstration like:

    exec sp_addrolemember N'db_datareader', N'davidb'

    GO

    This is to add the user davidb to the role db_datareader.

    On the other hand, Oracle uses standard English-like Sql

    commands to do the same:

    grant db_datareader to davidb;

    This one statement does all, in simple English, what the

    cryptic Sql server command does.

    f. Oracle Sql and Pl/Sql are more powerful and can do things more

    intuitively

    than Microsoft Transact-Sql. Try to sum up a column by each month, and

    show

    the totals for the month, in Sql Server you do it in T-Sql by grouping

    on strings, in Oracle it is possible to do this grouping by the

    trunc(<datecolumn>,'month') function. This method in Oracle is more

    intuitive, it understands the dates, the method in Sql Server does not.

    g. In Sql Server, you cannot issue a "create or replace" for either

    procedures or views, in Oracle you can. This one facility simplifies

    code writing, since in Sql Server the procedure or view must be

    dropped first if present and then recreated ie. 2 commands, in

    Oracle there is no need - a single command "create or replace" is

    enough.

    h. In Oracle, a procedure/function/package/view is marked as invalid

    if a dependant object changes. In Ms Sql there is no concept of an

    invalid procedure, it will run but give unexpected results.

    The former is more suitable for change control and preventing

    unexpected errors.

    i. A recompile reuses the code that is in the Oracle database,

    the actual command is "alter procedure <procedure name> compile".

    This is applicable to procedures/functions/packages/views.

    This concept of recompiling is not there in MS Sql server

    where you have to resubmit the whole code if you want to

    recompile a procdure.

    j. Triggers in Oracle do not allow transactional control ie.

    commit/rollback/savepoint statements. Whereas, triggers

    in Sql Server allow commits/rollbacks, which is potentially

    dangerous and can cause problems with transactions which

    fire the trigger. Triggers in Sql Server also can start

    transactions of their own which is not very good and

    shows lack of maturity of the language.

    7. STANDBY DIFFERENCES

    Sql Server and Oracle have differences regarding standby databases.

    A standby is a database set up on a second server and to which

    logs are applied ie. all database changes, so that the standby

    can be activated and used in the case of a failover.

    a) In the case of Sql server, when there is a failover, the

    "master" and "msdb" databases have to be restored from backup

    or copied over from the primary to the standby and then the

    standby is activated after all logs are applied. In Oracle,

    there is no need for a restore to be done, the standby can

    be activated at any time after all logs are applied. This

    difference exists because of the fact that in Sql server,

    new users/roles added to the primary are not carried over

    to the standby (these users/roles go in the master/msdb)

    and backups have to be done continuously of the master

    and msdb, these backups are then restored when the

    time comes for a failover. In the case of Oracle,

    users/roles when created in the primary are automatically

    carried over to the standby. So when the failover time

    arrives, all that is needed is to activate the standby.

    b) In the case of Sql Server, if the standby is opened

    as read only, to switch it back to standby again, a

    restore from backup has to be done. In the case of Oracle,

    from 8i onwards, if a standby database is opened as

    read only, it can be reopened as a standby without

    restoring from backup.

    c) The time delay to apply logs between the primary and

    the standby can be varied, but it can never be 0 minutes

    in the case of Sql server. In the case of Oracle,

    in 9i it is possible to have logs applied simultaneously

    to the primary as well as standby, using Sql-Net.

    This means Zero data loss in the case of a failover

    whereas Sql Server's log shipping cannot avoid data loss

    during the time gap.

    d) Sql Server's log shipping mechanism also happens

    at the OS level, whereas Oracle's mechanism can take

    place directly at the Sql-Net level where logs are

    automatically applied to standbys without any

    scripts or OS batch files, this mechanism in

    Oracle is called managed standby.

    e) One deficiency of Oracle in the standby was that

    datafiles, if created on the primary, had to be manually

    created on the standby whereas Sql Server does this

    automatically. However, in 9i, this deficiency is

    fixed and data files are created automatically

    at the standby.

    f) Another deficiency of Oracle in the standby is that

    direct loads, if using the unrecoverable facility to

    bypass redo logging, require the data files of the

    primary database to be manually copied across to the

    standby. This is not fixed in 9i. Sql Server's version

    of log shipping and direct loads do not require this

    copying across.

    8. CLUSTER TECHNOLOGY

    In clustering technology, in the case of Sql Server,

    2 nodes cannot work on the same database, they "share

    nothing". At the best, to utilize the power of both nodes,

    the application must be manually spit up and redistributed

    between the hosts, working on different sets of data, and

    it is not possible to seamlessly scale upwards by adding

    another node to the cluster in the case of Sql Server.

    Most cluster configurations in Sql Server use the power

    of only 1 node, leaving the other node to take over only

    if there is a problem with the first node.

    In the case of Oracle Parallel server, it is possible to have

    2 or more instances of the database on different nodes acting

    on the SAME data in active-active configurations. Lock management

    is handled by the Oracle Parallel server. With the new version of

    Parallel Server in Oracle 9i, renamed as the Oracle real application

    cluster (9i RAC), there is diskless contention handling of

    read-read, read-write, write-read, and write-write

    contention between the instances. This diskless contention

    handling is called Cache Fusion and it means for the first

    time, any application can be placed in a cluster without

    any changes, and it scales upwards by just adding another

    machine to the cluster.

    Microsoft has nothing like this clustering technology

    of Oracle, which can best be described as "light years ahead".

    9. REPLICATION DIFFERENCES

    In Microsoft Sql Server's version of simple replication

    ie, publisher-subscriber using transactional replication,

    even if only one table is being replicated, the entire

    transaction log is checked by the log reader agent

    and transactional changes applied to the subscribers.

    In Oracle's simple replication, changes to a single

    table are stored in a snapshot log and copied across,

    there is no need to check all the archive logs.

    10. SECURITY EVALUATIONS

    As of 2002, Oracle has 14 independant security evaluations,

    Microsoft Sql Server has one.

    11. TCP Benchmarks:

    March 2002 Benchmarks from Tpc.org show that Oracle 9i

    is seen in the majority of top benchmarks in "non-clustered"

    tpc-c for performance (oltp), whereas Sql Server is seen

    in the majority of entries for "clustered" tpc-c for

    performance (oltp).

    This gives the strange impression that Sql server is

    faster in a cluster than in a non-cluster, which is

    misleading. The fact is that this result is due to the

    use of "federated databases" in clusters by Microsoft

    in which pieces of the application are broken up and

    placed on separate active-active servers, each working

    on separate pieces of the application.

    While excellent for theoretical benchmarks, this is not a

    practical approach in the real life IT world because it

    requires massive changes to any application, and also

    ongoing changes to the application when new servers are

    added to the cluster (each server has a view that sees

    the data in the other servers, adding a new server would

    mean rewriting the views for all tables on all servers)

    and would be rejected by any practical headed manager.

    Using this impractical approach of federated databases

    in clusters, the impression is that Sql-server leads

    in clustered performance, but the practical reality is

    otherwise. This is seen in the way Sql-server is not

    to be seen in the non-clustered benchmarks.

    Also, Oracle leads the way for Tpc benchmarks for

    Decision Support systems with 1000GB and 3000GB sizes

    (Tpc-H by performance per scale), whereas Sql server

    is only seen to a small extent in the 300GB range.

    12. Encryption/Decryption of sensitive data:

    Oracle 8i Release2 (8.1.6) provides enhanced security features. Among

    them is

    the ability to encrypt data stored in the database. This means at the

    column

    level such as encrypting chemical formulas, credit card numbers,

    passwords or

    whatever data is sensitive to your business. Until now only Protegrity's

    3rd

    party product Secure.data had this capability. Oracle is now the only

    database

    vendor in the world that provides this feature directly in the database

    and on

    all platforms supporting 8.1.6. Protegrity supports only NT, HP-UX, Sun

    Solaris

    and AIX.

    Oracle allows data to be encrypted and decrypted using the built in

    package

    DBMS_OBFUSCATION_TOOLKIT.

    Sql Server has no built in encryption/decryption facility. Developers

    have

    to write home-grown DLLs to encrypt/decrypt data. Not so in Oracle,

    which

    has a built in utility.

    13. Rollback not possible in MS Sql Server service pack upgrades:

    It is not possible to rollback any service pack upgrades

    to Sql Server. When you install a service pack, all original

    files are overwritten and MS does not support rollback.

    The only solution is to uninstall and reinstall Sql server,

    which is tedious.

    As compared to this, Oracle has full rollback facilities in releases.

    Major Releases are installed in different Oracle Homes and it is easy

    to rollback to an earlier release. Patches can also be rolled back.

    14. 64 bit version about 4 years behind Oracle's 64 bit version

    64 bit version still to be released in Sql server

    (Sept 2002). Whereas, Oracle 64 bit on Sun 64 bit

    has been available since 1998, so MS is at least

    4 years behind Oracle in this regard.

    15. XML Support:

    XML has emerged as the standard for data interchange on the web.

    Oracle8i is XML-enabled to handle the current needs of the market.

    Oracle8i is capable of storing the following:

    <> Structured XML data as object-relational data

    <> Unstructured XML document as interMedia Text data

    Oracle8i provides the ability to automatically extract

    object-relational data as XML. Efficient querying of XML data

    is facilitated using standard SQL. It also provides the ability

    to access XML documents using the DOM (Document Object Model) API.

    9i enhancements to Xml support:

    XMLType datatype was first introduced in Oracle9i to provide a

    more native support for XML. Associated XML specific behavior

    was also introduced. In addition, built in XML generation

    and aggregation operators greatly increase the throughput

    of XML processing.

    The XMLType datatype has been significantly enhanced in

    Oracle9i Release 2 (9.2). In this release, Oracle significantly

    adds to XML support in the database server. This fully

    absorbs the W3C XML data model into the Oracle database,

    and provides new standard access methods for navigating

    and querying XML - creating a native integrated XML

    database within the Oracle RDBMS.

    The key XDB technologies can be grouped into two major classes - XMLType

    that provides a native XML storage and retrieval capability strongly

    integrated with SQL, and an XML Repository that provides

    foldering, access control, versioning etc. for XML resources.

    The integration of a native XML capability within the database

    brings a number of benefits.

    In summation, Oracle9i Release 2's XDB functionality

    is a high-performance XML storage and retrieval technology

    available with the Oracle9i Release 2 database. It fully

    absorbs the W3C XML data model into the Oracle Database,

    and provides new standard access methods for navigating

    and querying XML. With XDB, you get all the advantages

    of relational database technology and XML technology

    at the same time.

    In contrast to this, Microsoft Sql Server 2000 only has

    limited ways to read and write xml from its tables.

    16. Sql server magazines and internet articles of the magazine

    are only available with paid subscription. Whereas, Oracle

    has given its magazine free for many years, all articles are

    free on the internet, and the Oracle Technical network (OTN)

    is also free on the internet.

    17. Some people say Microsoft Sql Server tools, like Enterprise

    manager, are easy to use. Oracle Enterprise Manager is a huge

    tool and seems daunting to unexperienced people. This is

    true to an extent, however ease of use cannot be compared

    with the many features in Oracle, and its industrial-level

    strength, and its many technical advantages.

    SUMMARY.

    SQL Server is clearly positioned between MS-ACCESS and ORACLE in terms of

    functionality, performance, and scalability. It makes a work group level

    solution (small number of users with small amount of data), perhaps at

    the departmental level.

    Oracle is much more advanced and has more to offer for larger applications

    with both OLTP and Data Warehouse applications. Its new clustering features

    are ideal for Application service providers (ASPs) on the internet

    who can now start with a cluster of 2 small servers and grow by just

    adding a server when they need to. Besides, Oracle's multi-platform

    capability makes it the most convincing argument for an enterprise.

    Footnote:

    Oracle is the first commercial Sql database and is 25 years old in 2002,

    ie. it has been around since 1977. Larry Ellision the founder of Oracle

    has been championing the Sql language before there was any company around

    like Microsoft.

  • Thanks, I will take a look when I get a chance and feedback.

    "Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)

  • I won't go into the details of this comparison, maybe I'll go along if someone says something interesting but otherwise I'll just say that you can find details of both Oracle and SQL Server that are both great or total crap. For a general comparison these details are unimportant, it's when you're doing a comparison for a special scenario that you need to compare the details of areas that are going to be important in that scenario.

    The person who wrote this (I couldn't find out where the author works, but it sounds as an Oracle employee) clearly is a devoted, and probably very skilled, Oracle DBA. But, he is just as negative to SQL Server. All points are discussed from a MS-negative point of view, either it's something that actually is a not so good part of SQL Server, or the author just chooses to see it that way.

    For instance, one of the points made and something that is very often used as a pro-Oracle point is that SQL Server only runs on Windows. Well, that was a strategic decision made by MS when they first implemented their own version of SQL Server apart from Sybase. Because it only runs on Windows it is possible to use many features of Windows that are not present in other OSes and therefore not used in Oracle, DB2 and other RDBMS. It is also interesting to see how the author implies that Oracle is much more true to ANSI SQL, a point that I don't think I have really seen before when someone tries to convince me that Oracle is better than SQL Server. The same thing goes for the point about client tools included, and the one about the log explorer included in Oracle. Please, compare Oracle interMedia Text vs MS Full-Text Search in price and functionality.

    Finally, the summary is probably the worst part of all. It does not summarize the points discussed at all, it just states that SQL Server is positioned between Access and Oracle. Where did Access come from? And to say that SQL Server is only usable for small companies and applications is just the best joke of the day. As I said, the 'article' is clearly written from a SQL Server-negative point of view, and I could probably write one just as negative on Oracle that discusses flaws in Oracle. The footnote is just the final laugh, for instance, if Larry has been pioneering SQL then why did Oracle not support ANSI join syntax until just recently? If Oracle's stock would have been worth more than Microsoft's the author would probably have included that as well in the footnote.

    The real truth is that you can't choose either Oracle or SQL Server based on just technical factors, there are so many other factors involved. I found a much better article written by an Oracle-expert, who also seems to know SQL Server alright.

    http://www.certcities.com/editorial/columns/story.asp?EditorialsID=23

    --

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

    http://www.sql.nu

  • I'm an MS user and have been working with SQL Server for 12 years. I've only developer (briefly) against Oracle, and that was 7, so I'll admit first off that I cannot speak to the truth or fabrication of the Oracle points. Personally, I'd love to see an objective comparison and I'll contact the author to see about doing one on this site.

    I think MS SQL Server 2000 (SS2K) works great, and despite my initial hesitation to upgrade from 7, I firmly believe it is worth is and a far superior product to SQL 7. Just as Windows lacks some of the maturity of Unix, being a much younger product, I'd be willing to admit that Oracle has a little more maturity on SQL Server. But I think SQL Server is catching up fast and even has a leg up in a number of ways.

    I'll address a few things in the comparison that I don't believe are correct and add a few more:.

    1. Single Platform - Addressed by chrhedga. I'd also add that having to include a Windows platform isn't an argument these days. How many companies, absolute or percentage, do not have Windows or the ability to administer windows? Not enough to say it isn't an enterprise solution.

    2. Can't speak to Oracle. SS2K locking is improved and you can specify allow dirty reads. There has been some FUD from MS in the past, not sure how much now, but the locking works very well. Esclations do occur. I believe this was a design decision to improve performance, but I would like to see it configurable.

    3. SQL can have multiple virtual log files (as well as physical). A single long uncommitted transaction can block users due to locks, or it may eat up all the CPU cycles. I think this is a design flaw, though not sure it's a log file flaw.

    4. There are less tuning options. I'd like to see more, but I also believe that this is one of the downfalls of ORacle. Easy to shoot yourself in the foot by making (or not making) the correct tuning choices. Leads to the "black art" of tuning on Oracle.

    Heresay - People have told me that Oracle tunes differently on different platforms (BSD v Linus V Windows V Solaris). Can't speak to this, jsut what I've heard.

    I would like to see more options. Especially a CPU governer and a limiting resource control for queries.

    b. Caching (percentage) between data and procedures can be grossly controlled. Not sure how many people would want this or need it.

    c.You can control storage to some extent. Not changing sizes, but you can place things differently. The defrag routines have greatly improved in SS2K.

    d.Paritioning must be done by the DBA. Not automatic (would like to see that) and another place to shoot yourself in the foot.

    e. Not often needed. 3rd party covers this.

    f.Not sure this is true. Only a security check and will have to test.

    g.Don't understand this.

    5. Agree. .NET may change this , not the next version, but the 2nd one out.

    6.

    a. I'd argue this about PL-SQL as well. No one adheres to standards that well.

    b. correct. How many great Java apps are there? More Windows apps. Not speaking quality, but this is a religeous thing.

    c.Semi correct. First execution will compile the execution plan. Subsequents will likely be from that plan, so no recompile. SS2K has also done work here to prevent compiles even batch SQL as well.

    d. Correct. DTS addresses some of this, but I'm not sure I'd like developers able to do this.

    e. Goes to the complexity of Oracle tools. This is not cryptic. You are calling a function to perform a task and I'm not sure you need to build this into some basic language.

    f. Can't aruge this because I don't know enough PL/SQL. Probably agree it's more powerful in these types of operatiosn, which are more cursor based.

    g. Crap. Alter has been around for 4-5 years.

    h.This is a problem in SQL. Wish it would get addressed (send it to sqlwish@microsoft.com).

    i. Semi crap. Code stored on the server, so you can retrieve it and edit it. you can also sp_recompile wihtout submitting the code. Will recompile on next call. Performance hit once.

    j. Not sure how big a problem this is.

    7. This is a place where SS2K can grow up a little. The standby, usually involves copying logs and restoring them. Even as often as a minute, this is a delay and could be an issue. You do have some choices:

    - Two Phase Commit over DTC. Not recommended by me. If a server is down, then things don't work. Unless you can manage the app to handle this.

    - Replicaiton - SQLUp does this to acheive near real time. Still a delay because the change is "copied" transaction by transaction to the other server, but I suspect since everything works sequentially (unless SQLNet can simultaneously run 2 CPUs to 2 separate network cards) that this isn't materially or practically different than Oracle. I will aruge the failback can be painful here. HAven't done it, just don't know how it couldn't be.

    If you've planned for this. USers/groups/logins aren't an issue. They just have to be managed before the disaster.

    c - Doubt Oracle is simulaneous, but probably pretty close.

    d - Not sure that SQLNet is better than the OS level. Can't argue

    e - ?? No idea

    f - ?? No idea

    8. Correct, SQL is shared nothing. One node controls the db. HOwever you can have up to 4 nodes, so you can run 3 with 1 standby for whichever fails. Not sure about Oracle "seemlessly" scaling upwards (always some cost ), but it does scale (heresay for me) better than SQL. Question is, with 16 and 32 way Wintel boxes, how big a scale do you have to be to outgrow SS2K?

    I have heard (heresay again) that even with Parallel server one node "controls" activity and is a point of bottleneck. Can't verify this, just what more than one person has said. You need to check this with someone more knowledgable.

    9. Not sure this is materially different. I'd argue MS's model is more scalable because I can separate teh distributor to a separate box (if there's a heavy load) and not eat cycles on my RDBMS server. How is an "archive log" different from a "transaction log"?

    10. Who cares. Both companies have shown that their security is less than perfect. This is a maturity question. Have all 14 of Oracles been on 11i? 9i? Same with SS2K. It's C2 certified. Big deal.

    11. Benchmarks are just that. They use RAID 0 (never used in production) and tweak crap. SAP benches are better. Bottom line is your app will be written and run better on one. The one you buy. And by the way, massive changes are not needed for federated db clusters. You can use them to spread the load, though one server still ends up with more load to receive queries. For that matter, you could probably use a load balancer if all tables were hidden behind distributed patitioned views.

    12. Encryption - One of my Worst Practices for SQL Server becuase it's not built into the product. Course, needs to be in the app as well otherwise things on the wire aren't secure. Toolkits are available for SQL Server (www.protegrity.com).

    Can't argue against oracle. Haven't seen anyone crack it, though I'm suspcious that it's not as great as Oracle would hype it to be. Course, most security products aren't/

    13. HUGE SQL Server problem. Won't argue here. If you've ever had a Service pack fail, it sucks. Send to sqlwish@micrsoft.com

    14. FUD. From what I know, SS2K is 64 bit comliant. Issue: Windows isn't. Until the Intel 64 bit chips come out and Windows hits 64bit we won't know. How is this an issue when TPC-C shows SQL Server ahead? Again, do you need 64 bit? Very, very, very (repeat a few times) people need this.

    15. XML - Immature, not thrilled with the IIS dependency, memory leak issues with the internal XML prepare/release stuff. Don't know about Oracle, but keeps gettig better in SS2K. Do you need this? Not many people (relatively) have done a lot of XML.

    16. See this site. TechNet and other MS stuff is free and you don't have to register. Lots of SQL resources, not going to argue more than Oracle. Don't look and don't care. Sure they're lacking as well.

    17. EM is easier to use. That being said, in (not un) experienced people shouldn't be managing a db. SS2K is easier to manage for non DBAs, but as Chris Rock says, that don't mean it's a good #$%#$% idea. You still need a DBA. MS should not market otherwise. Non-DBAs just get themselves into trouble. Though they do provide us with some hits 🙂

    Summary - Access is a piece of sh**. It works in places, but it sucks for many things. It's not an RDBMS, it's a desktop database. Like dBase. SQL works in enterprises. There are plenty of SAP and JD Edwards (my company) systems using it. Plenty on DB2 as well (don't see that mentioned). Oracle is more mature (I think), but SS2K is closing the gap quickly and in places. DTS is free and works as a great ETL tool for MOST people. Not everyone. Analysis Services work for MOST people. And SS2K is cheaper. That gap is closing as well, but for now it's cheaper.

    Footnote - Larry Ellison is a pompous, arrogant a**. He played account games early in Oracle's history to make more $$ and almost lost the company. It's a good product and has nothing to do with Larry. Bill Gates is arrogant as well and isn't much better. Stupid to include this in a comparison.

    Steve Jones

    sjones@sqlservercentral.com

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

  • Read and completely agree with Chris, and I like the other article. The key is both have there strong point and there week points, it is just a matter of which suites your needs with consideration of of TCO (Total Cost of Ownership). That is the key for MS, they are working to build a product as superior for the business world for average apps not even large scale, as you are more likely to have tens, hundreds, or thousands of avergae size DBs, and in that case you most assurredly don't want to spend hundreds of thousands of dollars of keeping those databases, but you also don't want to go with access as you may suffer major user issues. There is a lot that can be debunked in any article or post written, a person will be biased one way or another, and even an objective article can show this leaning or apprehension for another technology.

    I laugh at the whole single OS statement as who cares when Windows is probably run on 90% or more of your desktops and you probably have a few or more machines laying around to handle the task. Plus, have you compared cost of UNIX, AIX, Mainframe to a Windows server (many times off the scale).

    The 64bit thing was too much. Do you understand how it utilizes the 64bit memory registers and can they prove it utilizes them in a way they bennifit more than on a 32bit machine.

    Oracle rollbacks by the way can lock the server. I have seen this. That is more of a database design issue thou than with the server.

    The code rewrite statment about who's sql is better. Well the key is to stay away from anything platform specific that has not been adopted for ANSI SQL Standard. TSQL does containt extensions that are specific to MS but why do you think Oracle calls theirs PL/SQL, it is not because it means Pure Language, it does in fact containt Oracle extensions to the ANSI SQL Standard.

    quote:


    In Sql Server, stored Procedures are not compiled until

    executed (overhead). In Oracle, packages and procs/functions

    are compiled before execution.


    I know in SQL 7 they were recompiled every time. In 2000 they are compiled on the first run. You really don't need a compile till the first run and compile time is not as long as the statement would impress it takes.

    quote:


    . Sql Server uses cryptic commands for database adminstration like


    Obviously not aware of what SQL does support. However GRANT db_owner TO whomever doesn't sound the same as exec sp_addrolemember N'db_datareader', N'davidb' which is highly english in terms of reading as you know you are adding davidb to a role and not giving him access to the db_owner collection. GRANT CREATE TABLE to davidb sounds like it should. It is all a matter of symantics and sorry neither way is the way english would say it, let's try MAKE davidb A db_owner member would be the speaking way.

    I could go on and on, what specifically about the article does your manager specifically feel is acurate if you want to debunk a myth or two. Otherwise debunk the whole thing is easy as saying "Have you tried the same thing on SQL Server before? Are all our DBAs going to be ORACLE trained and possibly certified? Finally, do you really want to waste money without exploring at least the option of a lower cost platform?"

    Plus throw out the facts, many businesses have adopted SQL in some form or other, event if they run Oracle boxes as well. And lastly, you can test drive SQL for 120 days on a small machine and see how easy and stable it is for yourself as a demonstration of if it will meet your needs.

    "Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)

  • Pleased to see most of the responses here are reasonable sane! I have zero experience with Oracle so can't really do a fair comparision, just pretty much agree with what everyone posted to clarify/counter the issues identified with SQL.

    Right now the only reasons I can see switching away from SQL would be price (and other than flat out free, the price isn't prohibitive right now and MSDE makes more sense to me than mySQL) or you need some super feature that it doesn't have.

    Andy

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

  • One detail in the article that is worth mentioning though is #4d. This range partitioning is a great feature in Oracle, that I would love to see in SQL. Right now I'm working on a project for a bank in Sweden where we are helping them out with a couple of huge log tables that are growing fast. We have to manually do a lot of work partioning these tables, whereas in Oracle we could set up an 'automatic' range partioning on them.

    --

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

    http://www.sql.nu

  • The BIGGEST thing about ORACLE and MS SQL Server that was left out was ADMINISTERING the databases. I originally was looking for work as an Oracle Programmer. When I applied/interviewed at ORACLE they told me they work in teams. Everyone that works with ORACLE databases says the same thing, administering it takes more than one person. Some large databases have four or more person per shift 24/7. The MS SQL Server DBAs are usually the only person administering their database and it's not covered 24/7 (if anything happens outside of 'normal' work hours, the DBA gets called in).

    So, that's a big difference in manpower between the two.

    -Bill

  • This discussion could also be Apple VS Windows

    Somebody who is in favor op product A writes an article and people who are in favor of product B comment on them.

    From the article it became very clear the person who compared the two prodcts had no experience whatsoever with MS SQL Server........

    And then there peole who are commenting on the article who have no experience at all in the other product.....

    Well what I am trying to say is, Can you really compare an Audi with a BMW ?. Sure they have different logo's and different styling.... But they are both cars and Drive very well.

    I think both SQL Server and Oracle are very good products.

    Anyone who tries to compare them should do so with thorough knowledge of both systems.

    As a MS SQL Server DBA I know the market share of SQL Server is growing fast.

    And maybe this is important to keep in mind. Because it is not always the best product that wins the battle but the product with the biggest market share........ And beeing the first can be a disadvantage.....

    ( do you know anybody who is using Wordperfect these days........ )

  • Both databases have a reason of existence, neither of them renders the other obsolete ...

    There are points where MS Sql server rules:

    1) ease of installation

    2) user-friendlyness of enterprise manager

    3) abilities of DTS to transfer data

    4) more GUI / lower learning curve

    There are points where Oracle rules:

    1) multi-version consistency model (readers don't block writers, writers don't block readers) dirty reads are NOT a replacement for this

    2) performance tuning goes much further (and therefore is a lot more difficult)

    3) storage management goes much further (and is more complex)

    4) clustering (load balancing/scalability) really outscales SQL server 😉

  • We are currently going through the SS2k/Oracle question too. We're looking at migrating a 1.2TB database from DB2 to SS2K or Oracle. Has anybody got any tales to tell relating to this much data on SS2K?

  • acudlip,

    Please tell something more about your needs:

    number of users

    types of transactions (many small, many large, reporting, ...)

    OLTP/OLAP

    number of concurrent users

    ...

  • I'll agree that to do a good comparision you need knowledge of both, therefore I can't heavily comment about Oracle. But I would agree the author above had little current knowledge of SQL Server. Many of his points may have been true in the past, but many are long gone.

    I will throw in a couple of comments.

    Tuning, do the DB and application design right and DBMS tuning becomes minimally important. Unfortunately (Or fortunately for us DBAs) this is the exception, not the rule.

    Too often I have gone back into a DB after it is in production, and shown or made minor changes that produce astonomical performance improvements.

    Or where the locking issue's are related to App design, ever seen what a deadly embrace does to locking on a DBMS. Some simple app design steps eliminates the problem.

    I have a similiar battle where I am at, DB2 vs. SQL Server. We don't have too many huge DBs, but the difference in my time alone can (should) justify the use of SQL server in many cases. Not all, but many.

    But I have to work with both UDB and SQL, my opinion is really that UDB/DB2 on the mainframe is top notch, move it to AIX or NT very questionable.

    KlK, MCSE


    KlK

Viewing 15 posts - 1 through 15 (of 29 total)

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