Вы находитесь на странице: 1из 22

Advantages and Disadvantages:

Migrating Microsoft SQL to Oracle


Author: Philip Anderson
Completed: December 2007
Summary: This paper compares SQL Server 2005 and Oracle from the viewpoint of
migration. What are the advantages of migrating? What are the disadvantages?
One disadvantage that one faces in any migration of systems is always initial cost (and
perhaps greater long-term cost). The initial cost of migrating is high. When
moving/switching from a system that currently works, and is paid for, to a foreign
system, there is no escaping the initial costs. There are some automatic costs that
should be addressed when considering any new system.
• Cost in resources (time and energy) used to “make it happen” physically as well
as the cost of planning.
Tip: An IT department should be able to perform an analysis of the required time
and resources, as well as a plan that is based on the scope of the specific
database being migrated (in regards to proper setup and tuning of the new
system, and plans for that new system’s hardware).
• Cost in money for hardware, software, and licensing. This varies radically from
vendor to vendor.
Tip: Know the differences in vendors. Microsoft gives the customer a complete
package with one purchase; Oracle sells by the piece. When it comes to planning
an Oracle system, it is crucial to know exactly what must be purchased.
• Cost for training and classes: DBAs, System Administrators, as well as developers
will all need training in order to learn and integrate the new system. Oracle
involves a steeper learning curve for everyone involved.
• Cost of the “slow period” (the initial learning curve with the new system, even
after the new system is established).
Tip: To make your investment pay off, you will need to make money with the
savings over keeping the old system. Alternatively, the payoff could come in the
form of features and capabilities that make jobs easier.
• Cost (potential) in maintaining the system. (In general, Oracle has a higher
maintenance cost than SQL.)
What are the payoffs that will give migration a favorable advantage to help overcome
the initial disadvantage? As previously discussed, there are many disadvantages to
making a change; if there are, in fact, advantages that outweigh these disadvantages,
we need to find them. (Tip: A worst-case scenario involving migration should be formed,
and taken into account.)
Which is better? Sadly, benchmarks of large OLTP databases are not easy to come by,
and systems can have differences that make them hard to compare side by side. It may
be better to note that both Oracle RAC and SQL Server 2005 database systems are
successfully used worldwide in the most extreme processing environments with multi-

Advantages and Disadvantages of Migrating from SQL Server to Oracle -1-


terabyte VLDBs. Both systems have the ability to serve as a functional reliable database
to suit our needs.
This paper focuses on advantages and disadvantages from the perspective of a decision-
maker, along with the reasoning that needs to be taken into account for the particular
situation.
Answering the questions, “which platform will be best?” and “should we migrate?”
hopefully become somewhat easier with the information provided.

The information contained in this document was gathered from many sources on the
world wide web (studies, articles, reports, blogs, etc.). A great deal of articles and
studies are, of course, one sided (slanted from one vendor’s perspective). Many claims
have been checked out for accuracy, and in many cases these claims have been found to
be untrue. This is due to:
a) Older information which was written before changes in current systems, and
which includes attitudes from prior dates. Both companies (MS and Oracle) are
doing more to compete with one another directly, and for now, the clients are the
winners.
b) Authors were not well informed of the other side’s capabilities.
c) Misleading sales language under the guise of a technical article.
The marketing myths that have been used as the core evaluation base in many
comparison papers and articles are, in many cases, misleading at best.
Furthermore, the original design of this document was divided into two sections:
advantages and disadvantages. This simpler document structure has changed because
situations vary, and facts must be classified as an “advantage” or “disadvantage” based
on the information. The information in this document is presented as clearly and simply
as possible. Depending on the planned usage of the system, the reader should have
sufficient data to assist in making any decision involving migration.
When looking to purchase a VLDB (Very Large Database), the important aspects that
any decision-maker will find themselves interested in are availability, performance,
reliability, scalability, security, and ease of use in terms of development. This also applies
to the VLDBMS (Very Large Database Management System).
Note: The migration process is an automatic and significant disadvantage because of
the time and resources involved; it costs in all areas. By comparing the two systems, we
can start to get an indication of whether the costly disadvantage of the migration
process is ever going to pay off in the short or long run in terms of advantages found in
the new system.

Advantages and Disadvantages of Migrating from SQL Server to Oracle -2-


Contents

Database Ability:...............................................................................................5
Oracle........................................................................................................6
SQL ..........................................................................................................6
Conclusion: Database Ability.............................................................................6
Claims and Comparisons...................................................................................6
Taking a look at Oracle’s claims for accuracy...................................................6
Oracle’s RAC (Real Application Clusters) System..............................................6
Oracle’s claims vs. SQL Server 2005..............................................................7
Availability - Oracle RAC...............................................................................7
Availability - SQL Server 2005 ......................................................................7
Reliability - Oracle RAC.................................................................................8
Reliability - SQL Server 2005 .......................................................................8
Conclusion: Availability/Reliability .....................................................................8
Manageability....................................................................................................9
Managability - Oracle RAC............................................................................9
The Oracle RAC is very difficult/complex to get managed..................................9
RAC will require application and schema design changes. ................................9
RAC requires special storage solutions...........................................................9
Patching RAC is difficult................................................................................9
Tuning RAC is complex.................................................................................9
Managability - SQL Server 2005..................................................................10
Conclusion: Managability................................................................................10
Scalability and Performance............................................................................10
Scalability - Oracle RAC..............................................................................10
Scalability - SQL Server 2005......................................................................11
Conclusion: Scalability ...................................................................................11
Development Comparison: Oracle vs Current System........11
Integration with Visual Studio and the Microsoft .NET Platform........................11
Visual Studio and .NET CLR Integration............................................................12
SQL vs Oracle - ODBC Driver DLL Path.........................................................12
MSDN blogs, selvar, November 2007............................................................12

Advantages and Disadvantages of Migrating from SQL Server to Oracle -3-


Visual Studio Integration................................................................................12
Supported Database Object Types...................................................................13
Debugging Stored Procedures.....................................................................13
Integration of BI components......................................................................13
Conclusion: Development, Integration with Visual Studio................................14
SOA-Based Application Development..............................................................14
Comparison of XML Support............................................................................14
Native XML Type and XQuery......................................................................14
Indexing SQL............................................................................................14
Indexing Oracle.........................................................................................14
XML Schema Collections and Schema Evolution in SQL...................................14
Oracle does not have a comparable feature ..................................................15
Conclusion: Development Feature Summary.................................................15
Security Comparison.......................................................................................17
Interpretation of results - some Q and A...........................................................18
Do Oracle’s results look so bad because it runs on multiple platforms?.............18
Do the SQL Server 2005 results have no flaws because no one is looking at it?. 18
Do you have any predictions on the Oracle January 2007 Critical Patch Update? 18
Do these results contain unfixed flaws?........................................................19
Why have there been so little bugs found in SQL Server since 2002?................19
Does Oracle have an equivalent of SDL?.......................................................19
More on Security ......................................................................................19
Conclusion: Security......................................................................................19
Cost Comparison.............................................................................................19
Cost - SQL Solution....................................................................................19
Cost - Oracle Solution................................................................................19
Conclusion: Cost...........................................................................................20
Conclusion Overall:.........................................................................................20
About the Author.......................................................................................21
Footnotes.....................................................................................................22
Other Sources of Information..........................................................................22

Advantages and Disadvantages of Migrating from SQL Server to Oracle -4-


Database Ability:
Instead of getting into too many details here, we are going to take a look at real world
application. Can SQL do everything we need? Can Oracle do everything we need? The
answer to both of these questions is “Yes.” Here are some real world databases from a
survey of the world’s largest and most heavily used databases. Both systems have
excellent real world capabilities.

Winter TopTen Award Winners, Winter Corperation, September 2005

Winter TopTen Award Winners, Winter Corporation, September 2005

Advantages and Disadvantages of Migrating from SQL Server to Oracle -5-


Oracle
Three of the five largest OLTP systems in the world run Oracle.1

SQL
On the windows platform, SQL is the system of choice.2
SQL was the fastest growing vendor of 2006.2

Conclusion: Database Ability


Both systems are currently used in high capacities that the SOLE platform will not see
for more than a system’s lifecycle, or even its current technological lifecycle.
Consequently, it is a safe bet that either system, if used, will be more than able to
handle our needs. Will migration from SQL to Oracle be better when weighing the
advantages and disadvantages? Let’s break it down.

Claims and Comparisons


Taking a look at Oracle’s claims for accuracy.
Oracle makes lots of claims that can easily lead one to believe that they are superior to
Microsoft’s VLDB system. A lot of users are very divided in devotion to one system or the
other. It is important here, though, to look at some of the claims made by Oracle or by
people who are very “pro-Oracle.”
When examining the “pro-Oracle” arguments, we see many vague claims made in
comparison with SQL. The arguments say things such as “more mature programming,”
“you cannot really compare the two systems; it is like comparing a Honda Accord to a
BMW,” “if you go big, you should always go with Oracle; if you are small, SQL is maybe
your choice for economic reasons.” These are just a few examples, but this gives you an
idea of what we are drilling through in order to find out what exactly is true. But instead
of vague statements, what about Oracle’s more specific claims? And if Oracle’s claims
are true, what forms the basis for these statements? This is the main type of information
that I found when research for this paper began. Upon finding this initial information, I
tested it against the available facts; the results are below.
If most of this information is, in fact, true, then by all means, it looks like Oracle is the
better system for most VLDBs. Let’s take a look.

Oracle’s RAC (Real Application Clusters) System


Oracle’s RAC is presented by Oracle’s marketing materials as a single solution which
addresses all your needs, outperforming SQL in areas of availability, cost, performance,
scalability, security, etc. Oracle claims that RAC running on a cluster provides the highest
performance levels of any competitor.
1. Availability Claim – if a node in the cluster fails, Oracle RAC continues running on
remaining nodes. Applications (users) on the failed node are moved to remaining
nodes in approximately 20 seconds. 3
2. Scalability Claim – if more processing power becomes a need, you can add a node
to the server cluster without having to modify the application or the database in any

Advantages and Disadvantages of Migrating from SQL Server to Oracle -6-


way. The load then becomes automatically balanced across all server nodes.3 (A 10g
R2 RAC supports up to 100 nodes in one cluster.) [I want to see that server room!]
3. Cost Savings Claim – RAC reduces hardware cost by running applications just as
efficiently on clusters of small, low-cost systems as it does on more expensive SMP
systems.3 (A 16-node cluster of 4 CPUs each costs significantly less than an
equivalent 64-CPU SMP box.)

Oracle’s claims vs. SQL Server 2005


This comparison often involves much heated technical debate. This paper will deliver the
unbiased facts without becoming overly detailed, or delving into matters that are not of
primary importance and scope.
Some (much) of the sales jargon available seems to stray from our main criteria.
Decision makers must avoid being swayed by misleading statements/tactics and keep a
healthy, informed, and balanced perspective.

Availability - Oracle RAC


RAC does offer a good solution for server failovers. The fact that you can implement RAC
on low-cost servers offers some savings for the hardware budget. However, this does not
mean that the RAC clustering solution is a cost-saving solution.
System Description: An Oracle system has nodes (clusters) which are interconnected to
one another, and those nodes are all connected to the network. On the other end, the
nodes are all connected to a shared storage area where each node has equal access to
all tables in the database. The RAC automatically distributes the load across the cluster.
This is a basic description of how Oracle’s RAC system works.

Availability - SQL Server 2005


Mirroring is a new technology for SQL Server 2005, increasing database availability.
Mirroring ships log records from the primary server to a standby server, and ensures
that the standby server is a mirror image of the primary database. If the primary server
goes down for any reason, failover to the standby server happens quickly. The failover
time, from the server going down to the standby server coming up and taking over,
depends on a number of factors. Microsoft claims a failover in duration of 3.5 seconds,
but 10 seconds is more realistic.
Comparing SQL Server 2005’s 10-second failover with Oracle’s 20-second failover is
important. An extra 10 seconds of waiting for a high-availability system may not be
acceptable to many users of this system. (Fear the angry user!) Secondly, SQL Server’s
mirroring does not require proprietary hardware and is easy to set up and manage.3
Mirroring employs what is called “client redirect.” In case of failover, this feature
transparently transfers users to the standby database. There is a “witness” server that
connects to the principal and the standby server (independently of one another) and
uses the MDAC (Microsoft Data Access Component) to be aware of the mirrored servers.
To put it simply, the “witness” server sends traffic to the principal server if it is available,
and if the principal server is not available, it switches the traffic to the standby server.
It must be mentioned here that you do not need to have a license for your failover
server; it can use SQL Server Express, which is FREE software. Microsoft’s licensing
Advantages and Disadvantages of Migrating from SQL Server to Oracle -7-
model does not charge for any standby server. The standby server does not require an
extra license from Microsoft.3
Very robust applications can be built with SQL Server. “Indeed, there is evidence of this
in the real world: NASDAQ (99.97% available, 2 million transactions a day), Barnes and
Noble (99.98% available, 5.6 million visitors a month), Quote.com (99.99% available,
8.6 million page views a day), and more. By the way, 99.99% available is equivalent to
less than 10 minutes per month of downtime. Is that enough availability for you?”4
Oracle makes the claim that one of the most important selling feature that buyers should
be interested in is that Oracle supports clustering of servers while SQL Server does not.
This is not true! Clustering in Windows is supported by using Windows’ clustering
service. SQL Server does not need to have an extra layer for clustering because it is
integrated within the vendor’s operating system; they work together to achieve
clustering without overwhelming an operating system with extra layers.3

Reliability - Oracle RAC


RAC by itself offers absolutely no protection against disasters or storage failures because
it is based on shared data architecture. The storage area is a single point of failure. If
that storage area goes down, say goodbye to the cluster! As a solution to this problem,
Oracle offers DataGuard. This entails having one or more duplicate (mirrored?)
databases called “standby” database(s) that also use log shipping (similar to SQL’s
server mirroring) from the primary server. When brought up to the reliability level of
SQL out of the box, the total cost of the Oracle system that pledged to save you money…
takes a major turn upward. Aside from the cost aspects of implementing this for the
moment, let’s take a look at an Oracle system with DataGuard.
The DataGuard solution, stacked on top of the RAC clustering, which is installed on top
of the Oracle 10g DBMS, begins to complicate the management as well as the
administration of this system. It is not a secret that when it comes to integration, Oracle
products can leave competent DBAs and Systems Administrators pulling their hair out.
Additionally, SQL’s support and Oracle’s support vary widely in cost.3

Reliability - SQL Server 2005


Mirroring architecture does not use the shared storage model. There is no single point of
failure as there is on Oracle’s RAC solution (without DataGuard protection).
It might also be interesting to compare uptime and reliability statistics from HSC’s SQL
servers versus downtown’s Oracle servers, if that information is obtainable.

Conclusion: Availability/Reliability
Both systems deliver highly available solutions, but SQL Server can match the high
availability capabilities of Oracle 10g RAC at a substantially lower cost.
Oracle’s “out of the box” RAC solution is a less reliable solution than SQL’s “out of the
box” solution. If you choose to purchase and add DataGuard and add the required
additional machine(s) to your system, then SQL Server 2005 and Oracle RAC both
deliver highly reliable solutions. Also note that Oracle’s DataGuard availability is based
on a difficult-to-manage system structure (more on this later).

Advantages and Disadvantages of Migrating from SQL Server to Oracle -8-


Manageability
Managability - Oracle RAC

The Oracle RAC is very difficult/complex to get managed.


RAC is an extremely complex piece of technology. Unless its complexity is reduced by an
order of magnitude, RAC falls short of its promise as a viable technology for the vast
majority of database applications. Probably the single biggest reason to avoid RAC might
be its complexity.5 The complexity associated with RAC is documented succinctly in the
“Real-World Challenges for Oracle RAC Implementation” paper, found at the URL located
in the following footnote.6

RAC will require application and schema design changes.


Many experiences show that applications and associated database schemas have to be
specifically designed (or modified) in order to get them to work on RAC. The nature and
extent of the changes depends upon several things, including the size of the clusters,
the nature of the application (OLTP or DW), the speed of the cluster inter-connect, and
transaction volumes. In many cases, data must be partitioned, especially tables that are
highly active.3 (These experiences go against Oracle’s claims.)

RAC requires special storage solutions.


RAC either works directly on a raw device (not the file systems that usually ship with
operating systems) or requires a clustered file system (OCFS Oracle Cluster File System
OCFS or ASM Oracle Automatic Storage Manager.) RAW storage devices are inherently
complex to deal with, so Oracle recommends OCFS or ASM, with more emphasis on ASM
as of late. ASM has an interesting list of capabilities, but it is also complex to administer,
and on its own requires significant DBA time and skills to manage. Furthermore, ASM is
a proprietary file system (even when Oracle claimed to be multi-platform).
Sadly, most of the backup/restore, diagnostics, monitoring and performance tuning that
are currently being used will not work with ASM.3

Patching RAC is difficult.


RAC patches come in two types: those that are applied one node at a time, and those
that need to be applied to the entire cluster at one time. In the latter case, the entire
system needs to be shut down in order to perform the patch. The majority of Oracle’s
patches are in the latter category. Therefore, Oracle recommends a very complicated
technique called “Rolling Upgrades.” This involves two standby RAC clusters which are
connected to Oracle’s DataGuard.3

Tuning RAC is complex.


Many parts of RAC’s setup make it difficult to debug and tune. In addition to all the
things a DBA needs to know in order to tune an Oracle database, with RAC, a DBA has
the added pleasure of taking numerous other considerations into account, including
interconnect traffic, inter-connect latency, pinging of data blocks between nodes, disk
I/O for each node, table hotspots, and more. A partial list of some workarounds that
Oracle has suggested to get around RAC’s performance issues are as follows:

Advantages and Disadvantages of Migrating from SQL Server to Oracle -9-


• Assign transactions with similar data access characteristics to specific nodes, by
partitioning users and applications.
• Create data objects with parameters that enable more efficient access when
globally shared.
• Avoid sequences as hotspots by creating node-specific staggered sequence
ranges.
• Reduce the number of rows-per-block in order to reduce page contention.
• Use as few indexes as possible to reduce intra-node pinging of index blocks.
• Pre-allocate space by turning on dynamic space management.
• Use reverse-key indexes to reduce index-page hotspots.
• Design indexes such that the clustering factor is as close to the number of blocks
as possible.

One can see how perplexing this can get. It is also intriguing to note that some of these
suggestions are contradictory.7

Managability - SQL Server 2005


In comparison, SQL management is simple. It uses a friendly GUI, and comparatively
few parameters need to be changed in order for the system to work well. The
management Studio delivers an integrated management environment for all SQL Server
products. Troubleshooting, tuning, managing, security analysis and diagnostics are all
easier and are done with integrated tools that come with the system.

Conclusion: Managability
SQL Server is, without a doubt, more manageable than Oracle Enterprise Solutions.

Scalability and Performance


Scalability - Oracle RAC
With its structure, Oracle would appear to have the advantage in performance. One of
the largest RAC systems (64-CPU) is run by Amazon. Oracle claims to support 100 CPUs,
but there are no systems this large, nor benchmarks to be found. Oracle’s solution
scales out rather than up, and they sell this as low cost, depending on low cost
commodity servers. They claim that this is more cost effective for the consumer over
other vendors’ systems.

Scalability - SQL Server 2005


SQL 2005 has proven that it can scaled to 64 CPUs on a single SMP server. It must also
be said that SQL does have a better performance/price ratio at some benchmarks than
Oracle’s 10g RAC for 64 CPUs. SQL Server 2005 can outperform Oracle’s 10g RAC and is

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 10 -


more cost effective. The largest OLTP databases in production today run on SMP servers,
not clusters.
SQL Server 2005 offers a choice of “scale out” technologies, where Oracle is pushing
RAC as a single solution. SQL’s “scale out” choices are comprised of 4 different options;
each has its own advantages and disadvantages. We will not go into more detail here.

Conclusion: Scalability
Oracle is touted as the better system for large databases, but “there are many multi-
terabyte databases managed by SQL Server: Rosetta Genomics (10 TB), Verizon
Communications (5 TB), Lucent (3 TB, with 33 billion rows!), and many more. It can
theoretically support exabyte-level databases, using either the scale up or scale out
methods. Workload benchmarks also show SQL Server can handle all but the most
extreme throughputs: A single server can support more than 250,000 active users and a
32-node cluster can process 700,000 transactions per minute.” 8
SQL Server is as scalable as Oracle 10g R2. In some cases, SQL outperforms Oracle 10g.
More importantly, SQL delivers “scale up” as well as “scale out” solutions, at less cost
than Oracle.

Development Comparison:
Oracle vs Current System
If one considers a shop that is developing applications using Microsoft technologies and
is moving towards ASP.NET, this comparison is useful in decision-making. Criteria for the
following section are as follows:
• Integration with Microsoft Visual Studio and the Microsoft .NET platform
• Support for Service Oriented Architecture (SOA)-based application development
• Deployment flexibility

Integration with Visual Studio and the Microsoft .NET Platform


Microsoft Visual Studio is the most popular application development tool on the market
today. Microsoft .NET has emerged as the most popular platform for developing
applications. As a result, both Oracle and Microsoft have integrated their database
offerings (Oracle 10g and SQL Server 2005, respectively) with Visual Studio and the
.NET platform. Integration with Visual Studio and the .NET CLR (Common Language
Runtime) represents an important advancement in developer productivity for database
application development. This section compares how well Oracle 10g and SQL Server
integrate with Visual Studio and the .NET CLR.1

Visual Studio and .NET CLR Integration


While both Oracle 10g and SQL Server 2005 have been integrated with Visual Studio and
the Microsoft .NET platform, SQL Server integration is more comprehensive, more
seamless, more functional, and better performing.1

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 11 -


SQL vs Oracle - ODBC Driver DLL Path
Aside from the rigorous hardware configurations necessary for availability, let’s look at
the data path. Without going into much technical detail, we can view this chart. The data
path also varies in complexity between the two systems.

MSDN blogs, selvar, November 2007

Visual Studio Integration


Currently, Oracle provides only basic integration with Visual Studio. Oracle provides a
plug-in to Visual Studio called Oracle Developer Tools for Visual Studio .NET. A search on
the Oracle site for .NET Developer Tools will reveal various downloads and information
for developing with Oracle from the .NET platform. Oracle does not offer many important
features which have a major impact on developer productivity, including:
• Debugging of stored procedures through Visual Studio. Oracle does not permit
stored procedures implemented in its proprietary language, PL/SQL, to be debugged
through Visual Studio. Developers will have to use a separate tool such as
JDeveloper for debugging.
• Visual Studio projects. Oracle has no equivalent to SQL Server Project; this is a
significant setback to developer productivity.

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 12 -


• Auto-deployment through Visual Studio. After SQL Server database objects have
been developed in an SQL Server Project, they can be deployed to the SQL Server
database with a single click. The single-click deployment applies to .NET assemblies
too. Oracle’s integration with Visual Studio does not support this capability.11
SQL Server is completely integrated with Microsoft Visual Studio, while Oracle’s
integration is incomplete when mixing the technologies. With SQL Server, a .NET
developer does not need any other tool besides Visual Studio for all aspects of
application development. On the other hand, Oracle will require the use of its JDeveloper
tool or other third-party tools in addition to Visual Studio, resulting in a suboptimal
development experience, an increased learning curve, and decreased productivity for the
developer.11

Supported Database Object Types


SQL Server enables programmers to develop stored procedures, triggers, user-defined
functions, and user-defined aggregates in managed code. It is clear that Oracle plans to
support stored procedures in managed code, but its support for other database objects
is not clear.

Debugging Stored Procedures


Oracle’s integration with Visual Studio does not include the ability to debug stored
procedures through Visual Studio. Developers will have to use a completely different
tool, such as JDeveloper, to debug PL/SQL stored procedures or resort to cumbersome
techniques like using trace files. Debugging is a significant component of application
development; not having an integrated, state-of-the-art debugger is another huge
drawback for the .NET Framework developer who is working with Oracle.11

Integration of BI components
Oracle offers a rich BI platform that includes the following:
• Oracle OLAP option for analysis
• Oracle Data Mining option for data mining
• Oracle Reports for designing and generating reports
• Oracle Warehouse Builder for ETL
• Oracle BI Beans for developing OLAP applications
In addition to being extra-cost products, these are not integrated with Visual Studio. The
development framework of choice for developing BI applications is JAVA, not the .NET
Framework. Also, the tools provided by Oracle for developing and managing the BI
components such as JDeveloper, Oracle Discoverer, and Oracle Enterprise Manager are
HTML-based.11

Conclusion: Development, Integration with Visual Studio


Oracle does integrate with Visual Studio .NET, but, the current integration falls short of
the comprehensive integration that exists between SQL Server 2005 and Visual Studio.
SQL Server 2005 and Visual Studio could be considered the best combination of a
database and IDE on the market.11
Advantages and Disadvantages of Migrating from SQL Server to Oracle - 13 -
SOA-Based Application Development
Comparison of XML Support
Both Oracle and SQL Server offer comprehensive support for developing XML-based
applications.

Native XML Type and XQuery


Both Oracle and SQL Server have a native XML type, which means that they actually
“understand” that a column contains a XML document. This means that:
• They will validate XML documents against an XML schema before storing it in the
database.
• They allow stored XML documents to be queried using the industry XQuery query
language as well as XPATH.

Indexing SQL
Indexing is essential for fast execution of queries. SQL Server 2005 supports B*Tree
indexes on elements, values, and paths of the XML field. Indexing greatly speeds up
query execution. SQL Server 2005 also supports other indexes to speed up other types
of queries to XML data through PATH indexes, PROPERTY indexes, and VALUE indexes.

Indexing Oracle
Oracle provides only regular text indexing and functional indexes; that is, no indexing
specific to XML.11

XML Schema Collections and Schema Evolution in SQL


SQL Server supports the ability to store multiple unrelated XML documents in the same
XML column. This feature is enabled by creating an XML SCHEMA COLLECTION which
consists of one or more XSD schemas. A SQL Server XML schema collection constrains
the types of XML documents that can be stored in the XML column. Users can add new
top-level XML schema components and top-level elements to the existing schema
namespaces.
This feature provides a graceful way to migrate XML data. If any of these schemas
evolve over time and create a new schema namespace, you can add the evolved XML
schema to the same XML schema collection. Existing XML instances in an XML column
continue to exist as before, while instances conforming to the new schema namespace
can be added to the XML column and be indexed.

Oracle does not have a comparable feature


Oracle allows only single-rooted XML instances. In Oracle, you can have an “umbrella”
schema in which the top-level element type must be modified to accommodate the
evolved schema. However, if the schema evolves by derivation, then it does not require
any change. Thus, schema evolution is restricted and non-uniform in Oracle.11

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 14 -


Conclusion: Development Feature Summary
“I really like Oracle the best for code creation and metadata… Also whatever your
thoughts on Microsoft Sql Server Management Studio, it's so much better than SQL
developer for Oracle.” - Terrence Ryan, A 30 old web developer working for the Wharton School in Philadelphia PA

Feature SQL Server 2005 Oracle 10g R2


CLR Integration
Integration with CLR Yes Yes
(In-process) (out-of-process)
Stored procedures in any .NET Yes Yes
language
Triggers in any .NET language Yes Not Sure
User-defined functions Yes Not sure
.NET objects stored inside the Yes No
database
Visual Studio Integration
Can view database objects Yes Yes
through Visual Studio
(through Server (through Oracle
Explorer) Explorer)
Ability to debug stored Yes No
procedures through Visual
Studio
Support for Visual Studio Yes No
Project
Auto-deployment of database Yes No
objects through Visual Studio
Context-sensitive online help No Yes
for editing stored procedures
BI technologies integrated Yes No
with Visual Studio
SOA Application Development
XML Support
Native XML type in the Yes Yes
database
XQuery support Yes Yes
XML update functions Yes No
XML indexes for improved Yes No

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 15 -


Feature SQL Server 2005 Oracle 10g R2
performance (Text and
Functional indexes
only)
Web Services
Database as a Web service Yes (built-in HTTP Yes (requires
producer endpoint requires no extra-cost Oracle
additional Web Application
server) Server)
Database as a Web service Yes (with .NET CLR Yes (but requires
consumer integration) extra-cost Oracle
Application
Server)
Integration with Visual Studio Yes No
Primary programming Any CLR language Java
language
Asynchronous Message Queuing
Product name SQL Server Service Oracle Advanced
Broker Queuing
Guaranteed, exactly once Yes Yes
delivery
Queues stored in database Yes Yes
Transactional integration with Yes Yes
database
Publish-Subscribe No (point-to-point Yes
communication model only)
Abstraction level Queues, messages Services, Dialogs,
Contracts
Query Notification
Query Notification through Yes No
ADO.NET
(Equivalent
functionality
requires Oracle
Web Cache and
Oracle Java Object
Cache; these are
features of the
Oracle Application
Server Product)

Comparing SQL Server 2005 and Oracle 10g, Mitch Ruebush, April 2005

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 16 -


Security Comparison
In spite of Oracle’s many claims of security superiority, most security disadvantages
seem to lie with Oracle.
Reviewing the CVE list (which is a national vulnerability database put forth by the DHS),
there have been zero SQL Server disclosures since September 2004, and that is the
only one in the past 3 years prior to the end of September 2007.3

Information Security Brief Microsoft SQL Server, Enterprise Strategy Group, November 2006

It is interesting to note that Oracle leads the pack in vulnerabilities, followed by MySQL,
with a fairly consistent rate of vulnerabilities disclosed.12
Note that these numbers were through September and consequently do not reflect most
of the vulnerabilities from the latest Oracle Critical Patch Update - October 2006
(http://www.oracle.com/technology/deploy/security/critical-patch-
updates/cpuoct2006.html), which included 22 database fixes.
The Enterprise Strategy Group asserted their opinion that "...ESG considers Microsoft to
be years ahead of Oracle..."12

David Litchield (of NGSSoftware and www.databasesecurity.com) published a paper that


compares the vulnerability track record of Microsoft SQL and Oracle databases over the
past 6 years, as shown in these two charts from the paper:

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 17 -


Which database is more secure?, David Litchfield, November 2006

How does Litchfield explain Microsoft’s ability to reduce the occurence of security
vulnerabilities? There is no silver bullet, but the explanation lies in an old refrain to
those following Microsoft security: the Security Development Lifecycle.

Interpretation of results - some Q and A


Do Oracle’s results look so bad because it runs on multiple platforms?
No – pretty much most of the issues are cross-platform. In the Oracle 10g graph, every
flaw affects every platform.

Do the SQL Server 2005 results have no flaws because no one is looking at it?
No – I know of a number of good researchers who are looking at it – SQL Server code is
just more secure than Oracle code.

Do you have any predictions on the Oracle January 2007 Critical Patch Update?
Maybe – NGSSoftware are currently waiting for Oracle to fix 49 security flaws – these
will be fixed sometime in 2007 and 2008.

Do these results contain unfixed flaws?


No – only those that have been publicly reported and fixed are in the data.

Why have there been so little bugs found in SQL Server since 2002?
Three words: Security Development Lifecycle – SDL. SDL is far and above the most
important factor. A key benefit of employing SDL means that knowledge learnt after
finding and fixing screw ups is not lost; instead it is ploughed back into to the cycle. This
Advantages and Disadvantages of Migrating from SQL Server to Oracle - 18 -
means rather than remaking the same mistakes elsewhere you can guarantee that new
code, whilst not necessarily completely secure, is at least more secure than the old code.

Does Oracle have an equivalent of SDL?


Looking at the results, I don’t think so. Oracle keeps making the same basic mistakes,
and some of their security “fixes” indicate that they don’t understand the problems
they’re trying to fix. See http://seclists.org/bugtraq/2005/Oct/0056.html for more
information.13

More on Security
SQL is certified by the federal government's C2-level security certification -- the highest
level of security available in the industry. Microsoft uses a combination of role-based
security for server, database and application profiles; integrated tools for security
auditing, tracking 18 different security events and additional sub-events; plus support
for sophisticated file and network encryption, including SSL, Kerberos and delegation.
An Oracle system with security equal to that which is available “out of the box” with SQL
Server will be available only as EXTRA-CHARGE options on Oracle, and now only with
Enterprise Edition.13

Conclusion: Security
According to all reports, papers, and articles found, SQL Server 2005 is far more secure
than Oracle 10g. This is verified by multiple sources (above) as well as IT Magazine,
Computer World, and others who all report that Microsoft, with proper execution, is
years ahead of Oracle in producing secure, reliable database solutions.14

Cost Comparison
Oracle is more expensive (although they claim that the hardware requirements make it
cost less than SQL).

Cost - SQL Solution


SQL Server 2005 Solution: $25,000 ($24,999 Highest SQL Server Price) + High end
server cost ? = Price of System.*
*
In our situation, SQL costs are nil because the system is already paid for; this is just for comparison purposes.
If Oracle is purchased, the costs would more than outweigh yet another purchase of an SQL system and more.

Cost - Oracle Solution


Oracle Solution: $40,000 (Oracle Price) + $25,000 (RAC Price) + Server Cost. The
number of servers depends on how many servers you want in a cluster, for DataGuard,
and for the shared storage. A total Oracle solution on the least expensive commodity
server (Oracle’s plan for saving money?) is $78,000 per processor.3

Conclusion: Cost
Oracle is more expensive on the cheapest hardware system than the SQL Server solution
on the most expensive hardware system. Oracle’s claim of being cheaper does not seem
to be true.

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 19 -


Since we are talking about cost, let’s look at another one of Oracle’s claims. Oracle
claims that they have the biggest market share in the BI industry. This information is not
entirely accurate. Oracle uses the revenue market share measure, which is misleading
because the solutions they offer are more expensive. Oracle might get the most money,
but they also might not be the most widely used system as the claim might lead you to
believe.
Another source, the International Data Corporation (IDC), says that Microsoft's SQL
Server product is slowly catching up to Oracle and IBM in relational database
management system (RDBMS) market share. For 2005, IDC issued the following
statistics pertaining to RDBMS market shares:
• Oracle: 44.6 percent
• IBM: 21.4 percent
• Microsoft: 16.8 percent
• Sybase: 3.5 percent
• Teradata: 2.9 percent9
The larger generalist vendors — Microsoft, Oracle, SAP, Business Objects — cannot even
measure their OLAP business themselves, because their OLAP capabilities are often
delivered as part of larger, bundled products and account for a minority of their
revenues. For example, Microsoft Analysis Services and the OLAP capabilities of SAP BW
are not sold separately, but are included as part of product suites.10
The market share reports can be misleading, since Microsoft offers everything in a
complete package and Oracle sells by the piece.
Microsoft SQL Server is still number one. According to the 2007 Database and Data
Access, Integration and Reporting Study, completed by BZ Research in late June 2007,
74.7 percent of enterprises are using SQL Server. This is slightly lower than the 76.4
percent reported in a comparable July 2006 study, but it’s still significantly higher than
the other popular databases. BZ Research, like SD Times, is a subsidiary of BZ Media.
This survey, conducted during the second half of June, was completed by 686 software
development managers.15

Conclusion Overall:
Both systems seem to be capable of doing the job. Questions such as, “What do we
hope to gain by migrating from SQL to Oracle?” will hopefully now be easier to answer. It
is hard to see what the gains are; trends show more people migrating from Oracle to
SQL for the reasons detailed in this report.
“You are going from SQL to Oracle?? Most people go the other way.
I don’t think I have any info on going from SQL to Oracle.
Is there a price benefit?” - Account Manager, Softmart, Charlotte NC
Experts point out that migration is a difficult, complicated task. The question should be
posed, “Is the system we’re using NOT meeting our needs, or, is it (the system) NOT
working out for other reasons?” In other words, is a migration necessary? If, for some
reason, migration is necessary, some tips to help this go smoother (planning and
planning) are found above.

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 20 -


Migrating to a new RDBMS is an extremely difficult and expensive process and
essentially means that you made the wrong choice! If you have not “made the wrong
choice,” it might be best to stick with what you have.16
Overall, for our needs, SQL seems like the better (and simpler) system. From licensing
negotiations with the vendor (Oracle = complex licensing negotiations4), all the way to
training, setup, management and maintenance, migrating to Oracle seems to be a
disadvantage. Plus, after migrating, the tight integration and interoperability between
the database and the development technologies would be lost.
Migration to Oracle may be overkill. Oracle is expensive, with high end features that few
businesses need. Additionally, Oracle’s expensive enterprise system is required in order
to have reliability that is equal to that of SQL. It is best to be sure that before plunging
into Oracle. It is very possible to save money and have great performance with SQL.
Oracle is much more complex than SQL and requires more training and technical
support, which is also more expensive than SQL training. Microsoft also leans towards
servers that are more or less self-tuning, and this reduces the human error factor. Plus,
Microsoft SQL is very intuitive, while Oracle is NOT. Oracle has a steep learning curve
which is more difficult for DBAs as well as developers. (An organization’s skill base needs
to be higher to work with Oracle than it does with SQL. 3) There can also be a sufficient
loss of development time when training comes into the picture, as well as longer
development time in general because developers will have to contend with different
systems instead of having everything in one package as they do with SQL Server 2005.
From most practical viewpoints of the decision-maker, migration from Microsoft SQL
Server 2005 to Oracle’s 10g RAC system is not a good idea unless an organization’s
needs cannot be met with SQL.

About the Author


Though lacking in experience with Oracle systems, Philip Anderson has several years of
experience as a skilled webmaster and also has served as a DBA. He has also attended
formal classes on the usage and administration of SQL Server. At the time of this
paper’s composition, no tools (hardware) were at the author’s disposal (to enable
testing and direct interaction and experience with stated claims in various articles). The
information was filtered through a process of checking out noteworthy claims against
whatever information could be found through research as to its validity. Most points
presented are consistent throughout multiple sources.

Footnotes
1
Spotlight on Oracle, WinterCorp, 2005
2
Spotlight on SQL Server, WinterCorp, 2005

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 21 -


3
SQL Server 2005 vs. Oracle 10g, Ahmed Bahaa, Jan 2007
4
Preparing for a heated race with Oracle, Jeremy Kadlec and Greg Robidoux, Nov 2005
5
Solutions for Highly Scalable Database Applications, performance tuning corporation, May 2006
6
http://www.linxcel.co.uk/whitepapers/Real-
World%20Challenges%20for%20Oracle%20RAC%20Implementation-Issue%201.pdf
7
Oracle 10g and Real Application Clusters, Mike Ault, 2004
8
Making the case for SQL Server, By Tim Dichiara
9
SQL Server's market share continues to grow, Matt Mondok,Published: May 31, 2006
10
The OLAP Report, Nigel Pendse, April 2007
11
Comparing SQL Server 2005 and Oracle 10g, Mitch Ruebush, April 2005
12
Information Security Brief Microsoft SQL Server, Enterprise Strategy Group, November 2006
13
Which database is more secure?, David Litchfield, November 2006
14
SQL Server 2005 - 1 Year And Not Yet Counting, jrjones November 07
15
SQL Server Still No. 1 in Databases, Alan Zeichick, July 2007
16
The Wrong Choice, Jan Stafford, SearchOpenSource.com, Apr 2003

Other Sources of Information


MSDN blogs, selvar, November 2007

Database Architecture: Federated vs. Clustered, Oracle White Paper, Feb

Oracle pricing won't lure SQL Server users, Robert Westervelt, Feb 2004

Oracle vs. SQL Server: Face-off, By Robyn Lorusso and Tim DiChiara, Mar 2004

http://www.oracle.com/database/index.html

Enterprise Information Management, Robert Dorin, 2005

searchoracle.techtarget.com

Flaw hunters pick holes in Oracle patches, Joris Evers, ZDNet News, Oct 2005

Microsoft's Blue Hat Shows It's Serious About Security, Paul Roberts, October 2005

Understanding Database Pricing, SQL How to Buy, December 2007

Security Impact, Eric Ogren, October 2006

Choosing a Database for High Availability, Michael Otey, Denielle Otey, April 2005

SQL Server 2005 Enterprise Edition Benchmarks, November 2005, Updated: July 2007

Transaction Processing Performance Council (www.tpc.org)

Comparing Enterprise Development Productivity, 3 Leaf, Jan 2005

Understanding Database Pricing and Liscensing, Darmadi Komo, May 2005, Updated Sept 2007

Advantages and Disadvantages of Migrating from SQL Server to Oracle - 22 -

Вам также может понравиться