One of the most popular comparisons on IT Central Station is IBM DB2 vs Oracle Database.
What is the biggest difference between these two solutions? Which would you recommend?
Thanks for your help!
I think -- Oracle is well known for its performance and security feature and continuous efforts to reach the highest level of performance.
A few comparisons are given below:
1. Oracle has multi version read consistency -- but not in DB2
2. In oracle, neither read nor write blocks each other-- DB2 -read blocks write and write blocks read
3. No Dead locks under load in Oracle whereas deadlock is a serious problem in DB2
4. In Oracle --intelligent advisories such as SQL Tuning, Index, Summary, MTTR but in DB2 only Index advisory presents. In terms of Self-tuning capabilities-- Oracle has Automatic Performance Diagnosis, Automatic SQL Tuning , Self-tuning memory, free space, and I/O management and so on but in DB2 No equivalent or limited capabilities
Besides all good features exist in Oracle but it is bit complex. When problem occurs then figuring out the right problem in a very short time has become a challenge, Also Oracle is bit expensive.
There are a lot more difference. I think you can find good resource by searching online.
I think all database software has their own advantages and disadvantages. Depending on the budget and compromises in which feature loss they can afford--companies decide their choices.
Both DB2 and Oracle are legacy relational databases. 20+ years ago you might pick DB2 for reliability and scalability, but today you would choose Oracle for the sheer size of partners, applications, skills and tools available. So if you have to pick today, I would choose Oracle (I am an ex IBM DB2 Lab person and used to be VERY DB2 bias as it's an excellent engine)... and if I ask you more detailed application and business landscape questions I would recommend decommissioning BOTH those legacy databases and move to PostgreSQL, MariaDB or MySQL (MySQL is ironically now owned by Oracle too), and cloud host your database farm. If you had to pick a legacy "perpetual license" relational database I would go wall to wall MS SQLServer. That's what I would generally recommend without knowing more about your application or business landscape. (SAP, Apps, Mobility, Cloud, Regulatory, Security, HA, Scale, etc etc).
I have worked on both, I kind of agree and disagree with the first repsonse, Both are very stable databases, I work currently on Oracle, and have worked for 20 years on DB2 on I-series and S38.
Both have its place, it is totally dependant on your requirement. However DB2 is shipped free with the IBM platform, oracle comes at a cost.
Your business requirement and the person in charge of your IT systems should be able to tell you which one would suit your business, All the other databases mentioned can also do the job.
A full business analysis will need to be done to understand where your business is now and what the future expectation is so that you can make the best choice.
IBM DB2 is a real legacy system database, that is use in old companies like
telecom, its really couple with the mainframes of IBM really robust but
wasn't build with the internet in mind Oracle on the other hand is a more
modern Database it has more use cases and it also super robust but really
expensive (both are fore big companies) the main differences is that Oracle
runs on normal Linux box and DB2 has to work on a IBM mainframe ... the
language is more dynamic and modern in oracle
hope this helps a bit what is better is alway a "it depends on what you
want to build" for me I think a more modern noSQL data base is better in
this post internet and cloud era
Few more differences......
While IBM mainframe DB2 has a decades-long head start on the mainframe, UDB and Oracle are in a head to head competition for implementing a vast array of security features.
Oracle offers the integrated APEX development platform and SQL*Forms.
Oracle has the Procedural language SQL (PL/SQL) vs. DB2 UDB with their SQL Procedural language (SQL/PL).
Both UDB and Oracle offer a host of HA features for continuous availability. Oracle offers RAC clusters for shared database, plus replication solution vs. Oracle Streams, Oracle Data Guard and Oracle advanced multi-master replication.
While both UDB and Oracle have ANSI standard SQL, vendors have a strong incentive to add "extensions", such as Oracle with their unique DECODE operator.
Both UDB and Oracle are struggling to incorporate automated features to make database administration easier and more automated. For Oracle we see automated storage management (ASM), automated memory management (AMM), and automated database diagnostic management (ADDM).
A critical area of database management, both UDB and Oracle offer backup and recovery features. Within Oracle's Recovery Manager (RMAN), we see block-level backups and hot backups.
Well if you are asking for my opinion I will give it to you - I prefer DB2 over Oracle in most cases - Oracle has some weird data type inconsistencies like with timestamps, dates and variable fields. I think DB2 seems to be faster for general transactions in most cases but of course, it all depends on the horses on the server underneath them. I learned databases in a shot that had both DB2 and Oracle and DB2 was by far the easier to use and work with. Over the years both have evolved to be bigger faster and more powerful, but I like the db2 manager which can help troubleshoot stuff much like the SQL manager can and I think it is easier to use than the Oracle version. It really comes down to preference as I know some Oracle guys who prefer Oracle over DB2 but I think they hate IBM so they are biased as well. I have always had better support from IBM than Oracle and that's a big deal for most folks. As for the big difference between them I believe is the hashing algorithm each uses to do storage, retrieval, and indexing. I just like IBM better for those things.
So many differences and in almost many perspectives.
Compared to DB2, Oracle is clear winner. Oracle is far ahead than DB2 offerings. And also ready for future. But in my personal opinion, Microsoft SQL Server beats even Oracle.
I am sure you will many links online. So dont want to repeat that.
We use both databases (and some more), I would definitely suggest using Oracle against DB2 for better performance but also because it's easier to find collaboration tools and find help.
PS : My preference is MS SQL.
Per all previous posts "it depends". Platform, type of use and ability to be stable for the work-load are the concerns. Finding Oracle skills vs DB2 skills in the mainframe world is an area where Oracle comes out really ahead. Mainframe DB2 people with good skill and experience are hard to find. The engines have different distinctions and interface with other tools/platforms somewhat differently. Some data-types (such as varchar2 for Oracle) only exist for that engine.
Both have superior features, however in terms of price, db2 will be definitely lesser on a overall TCO. In terms of leadership, oracle scores over all RDBMS. You need to define your requirements both functional and nonfunctional.
I'll give the DBA answer - 'It depends' :-) The bigger questions are:
1. What are you using the database for?
2. What are the business SLA requirements?
3. How secure, large (footprint), fast do you need the database to be?
4. Also, what's your IT teams primary skill set? Do they know mainframe, unix/linux or windows?
5. What tools/software are you using and how does it communicate with the database?
6. Is your shop primarily on-premise, in the cloud (or planning to), or hybrid environment?
7. How much do you want to spend?
Oracle is the cadillac with many add-on features for a price. Even it's standard or free edition has many features depending on your needs. IBM DB2 can be exclusively IBM proprietary or IBM (UDB) on Linux, Unix, Windows may be your answer. Both database are very stable, secure and usually perform quite well - again depending on what you are looking for. I also think it's important to review how much $$$ and new features both companies are investing in their respective databases. IMHO, when looking at newer Cloud offerings and DBaaS, I feel that IBM is (sadly) losing the race.
If you are talking about Oracle and IBM DB2 Databases sitting on Windows or Linux I would say there is very little to no difference in usability or maintainability between them.
If you are talking IBM DB2 sitting on Zos vs Oracle, that is a different story and I would say go with Oracle to avoid the mainframe (Zos is mainframe operating system).
Having said that, here is what I would advise anyone standing up databases today. Choose a cloud provider of distributed services and go with their recommendation. Amazon, Microsoft or Google will allow for the business need to be satisfied at a small fraction of the cost of either Oracle or IBM DB2.
For an organization that is open to choosing either Oracle or IBM, I would say to choose neither unless there is an over-riding business reason. Usually, this reason is that there is already an installed base in the company and the company is afraid to change. That is not a good reason anymore. It used to be a decent reason.
An example is data storage cost. Today, data storage is close to zero cost at the best cloud providers. I have seen storage costs 100x in some commercial cases.
What are the main features that you're looking for (many were already talked about on other answers)? Do you have any requirements, like Operation System dependency ?
Oracle is the best relational database in the market, however it has some drawbacks in terms of price and licensing, specially when it comes to big features.
It has however a free version, with most of the important features of payed database. Since it's scalable between versions as It is backward compatible with previous versions, you can always grow with it as you need. It's architecture is also highly resistant to failure, even without highly availability features installed. And in terms of security is unbeatable.
Between the 2, I would always go for Oracle, but the question is, why are you considering DB2 ?
I have managed both type DB,
the solution is depend on you resource and request,
DB2's architecture is simpler to understand than Oracle,
I think, if you want Partition table, high compress ratio table and DR solution,
maybe Oracle is better.
Both are good products. Your choose will depend on how much money do you want to spent.
Oracle it is the Rolls Royce of the databases. Great performance and a good level of required administration.
To put it in perspective, SQL needs a lot more of Administration than DB2 or Oracle.
Hope this helps.
This is for the mid-tier LINUX windows
DB2 is less expensive more portable, ansi standard, multiple databases single instance more portable
ORACLE bigger customer base lots of 3rd party support, training options, common to find trained staff, very mature 4gl PLSQL is richer than DB2 SPL.
For performance that is dependent on the use case, each can outperforms the other in certain scenarios.
As Tony Tolbert says there are several differences. I believe that the individual environment that the solution is deployed in has a significant bearing. Each environment will have different driving forces which will steer the decision.
My preference, in the environments where I have worked, is to deliver to the stakeholder's requirements plus my value add.
In that environment where either will deliver, I would choose DB2 over Oracle for reliability, scalability and HA.
There's no simple answer to this question. Oracle has more features regarding monitoring and autotunning and is more easily to connect to, from an application perspective, since not all environments have a suitable DB2 driver available. Despite this both of them are great choices when talking about relational databases.
They are both behind the times and not good options for Big Data or for situations were intelligence needs to be stored with data in a high-performance fashion. And far too bulky overall.
The biggest difference between Oracle and DB2 is Oracle have read consistency i.e. readers don't block writers and writers don't block readers. Unfortunately DB2 don't have these feature which makes it unsuitable.
My opinion is if DB2 is not running on mainframe. The difference between this 2 platform should not be the key decision factor. I think just go with whatever the database platform their technical team familiar with.
My 2 cents
I am not using Oracle database to comment on it.
IBM DB2 is an excellent database which is very reliable.
Both dbs are enterprise battle tested solutions. If you have no limit on money the clear winner is Oracle. But all depends on what kind of problem do you want to solve. Sometimes MySql is enough, somtimes Postresql on stereoids can be the winner as their approach to partitioning is upside down.
There is no difference. Same.
It is easy to find oracle knowhow.
Choose oracle over db2.
DB2 is mainframe , UDB is same on unix , stands for Useless Databade !! :-)
That is a much bigger question.
Assuming it is IBM DB2 vs Oracle on Unix?
DB2 Mainframe is quite a different product.
There are many differences:
the biggest I thinks refer to performances , HA and FT and clustering.
Using ASM and many disk deep layer software and escaping os from IO make a great jump for performance and management.
Oracle has many tools and facilities for monitoring ,management and tuning.. Also many langues that supported by oracle. Beside that the oracle unique facility for security, ETL and Data managemnt make an integrated framework for data layers...
you can find more on this link..
There are several differences. Too many to list here. I have included a resource.