You are on page 1of 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 multiAdvantages 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 decisionmaker, 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 multiterabyte 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.
- 12 -

Advantages and Disadvantages of Migrating from SQL Server to Oracle

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 CLR Integration Integration with CLR Yes (In-process) Stored procedures in any .NET language Triggers in any .NET language User-defined functions .NET objects stored inside the database Visual Studio Integration Can view database objects through Visual Studio Yes (through Server Explorer) Yes Yes (through Oracle Explorer) No Yes Yes Yes Yes Yes (out-of-process) Yes Not Sure Not sure No SQL Server 2005 Oracle 10g R2

Ability to debug stored procedures through Visual Studio Support for Visual Studio Project Auto-deployment of database objects through Visual Studio Context-sensitive online help for editing stored procedures BI technologies integrated with Visual Studio

Yes Yes No Yes

No No Yes No

SOA Application Development XML Support Native XML type in the database XQuery support XML update functions XML indexes for improved Yes Yes Yes Yes Yes Yes No No
- 15 -

Advantages and Disadvantages of Migrating from SQL Server to Oracle

Feature performance

SQL Server 2005

Oracle 10g R2 (Text and Functional indexes only)

Web Services Database as a Web service producer Yes (built-in HTTP endpoint requires no additional Web server) Yes (with .NET CLR integration) Yes (requires extra-cost Oracle Application Server) Yes (but requires extra-cost Oracle Application Server) No Java

Database as a Web service consumer

Integration with Visual Studio Primary programming language

Yes Any CLR language

Asynchronous Message Queuing Product name Guaranteed, exactly once delivery Queues stored in database Transactional integration with database Publish-Subscribe communication model Abstraction level Query Notification Query Notification through ADO.NET Yes No (Equivalent functionality requires Oracle Web Cache and Oracle Java Object Cache; these are features of the Oracle Application Server Product) SQL Server Service Broker Yes Yes Yes No (point-to-point only) Queues, messages Oracle Advanced Queuing Yes Yes Yes Yes Services, Dialogs, Contracts

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-patchupdates/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 2

Spotlight on Oracle, WinterCorp, 2005 Spotlight on SQL Server, WinterCorp, 2005 - 21 -

Advantages and Disadvantages of Migrating from SQL Server to Oracle

3 4 5 6

SQL Server 2005 vs. Oracle 10g, Ahmed Bahaa, Jan 2007 Preparing for a heated race with Oracle, Jeremy Kadlec and Greg Robidoux, Nov 2005 Solutions for Highly Scalable Database Applications, performance tuning corporation, May 2006 http://www.linxcel.co.uk/whitepapers/Real-

World%20Challenges%20for%20Oracle%20RAC%20Implementation-Issue%201.pdf
7 8 9

Oracle 10g and Real Application Clusters, Mike Ault, 2004 Making the case for SQL Server, By Tim Dichiara SQL Server's market share continues to grow, Matt Mondok,Published: May 31, 2006 The OLAP Report, Nigel Pendse, April 2007 Comparing SQL Server 2005 and Oracle 10g, Mitch Ruebush, April 2005 Information Security Brief Microsoft SQL Server, Enterprise Strategy Group, November 2006 Which database is more secure?, David Litchfield, November 2006 SQL Server 2005 - 1 Year And Not Yet Counting, jrjones November 07 SQL Server Still No. 1 in Databases, Alan Zeichick, July 2007 The Wrong Choice, Jan Stafford, SearchOpenSource.com, Apr 2003

10 11 12 13 14 15 16

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 -