Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle versus Microsoft Sqlserver 2000
SQL Server has a few advantages over Oracle on the low end.
One advantage Americans having in the Oracle business is the size of the US government. The US budget this year is about $2 trillion. I think the only country that has a bigger GDP than that is Japan. So that would make the US government the third largest economy in the world. They love Oracle... and after 9/11 many agencies are only hiring US citizens even for unclassified projects.
Ryan Gaffuri
"Phh" <porushh_at_bigpond.com> wrote in message news:<2p3c8.6866$wG3.42029_at_newsfeeds.bigpond.com>...
> Oracle versus Microsoft Sqlserver 2000
> SQL SERVER TECHNICAL LIMITATIONS
> -------------------------------------------------------------
> By Faulkner, Kent (kent.faulkner_at_trane.com) USA
> Updated by Havewala, Porus (porushh_at_bigpond.com) Australia
>
> 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 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.
>
> 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 100 GB table 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 task.
>
> f. A Sql-Server dba claimed that fully qualifying the name 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.
>
> Oracle seems to better access its internal dictionary and resolve
> names, unlike 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. Also, in Oracle 9i it is possible
> to translate Pl/Sql into C code and then compile/link the code,
> which gives very good performance gains for numeric itensive
> operations.
>
> d. In Sql server, there is no ability to read/write from external
> files from a stored procedure. Oracle has this ability.
>
> e. Oracle Sql and Pl/Sql are more powerful and can do things better 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 a complicated way
> in T-Sql by grouping on strings, in Oracle it takes one sql statement
> grouping by the trunc(<datecolumn>,'month') function. A Sql Server
> manager who saw this difference said "This method in Oracle is more
> intuitive, it understands the dates, the method in Sql Server does not."
>
> f. 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.
>
> g. 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.
>
> h. 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.
>
>
> 7. CLUSTER TECHNOLOGY
> In clustering technology, Oracle is light years ahead, since
> Sql server has nothing like Oracle Parallel server - 2 instances
> acting on the SAME data in active-active configurations. And with
> the new version of Parallel Server in Oracle 9i, renamed as the
> Oracle real application cluster, 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.
>
> 8. Oracle has 14 independant security evaluations, Microsoft Sql
> Server has one.
>
> 9. 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.
>
> 10.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.
>
>
> 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). At the
> departmental level it is okay.
>
> 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.
Received on Thu Mar 07 2002 - 15:15:42 CST