What is most valuable?
The powerful SQL language for working with, analyzing and manipulating lots of data. The concurrency and consistency model that allows many simultaneous users with little or no locking. The extensibility using PL/SQL and Java to extend legacy application with modern features like webservices via the database.
How has it helped my organization?
Rewriting legacy procedural modules to SQL with analytic functions has on several occasions turned multi-hour jobs into few-minute jobs. High concurrency enables sales persons in shops to service customers swiftly with no waiting even on peak days with several sales per second. Even though legacy application cannot interface with external services, the database is capable of doing so, which enables the business to get new ideas without thinking of technological hindrances.
What needs improvement?
There's not much - new features come along in every version helping to keep up with
technological advances. There are some small technical issues such as support forwindowing clause in LISTAGG function and a few similar small issues in SQL. There are a few nice-to-have extensions, like allowing external table syntax on the content of a CLOB.
For how long have I used the solution?
What do I think about the stability of the solution?
Some of the time, a Real Application Cluster version was used, which turned out on very rare occasions to performed unmotivated failover to other node. The problem really was sub-optimal coding of the legacy application in the use of the locking methods of Oracle, which was magnified when propagating locks to other nodes, however would have been nice if RAC could have handled it, even when sup-optimal. After switching some years ago to a single server non-RAC solution, the database has been rock steady - only instabilities was when O/S or hardware failed, not the database.
How are customer service and technical support?
Highly knowledgeable and competent tech support - once you get past the first level and get the case assigned to the right people. However, it can take quite a bit of time to explain details to first level support and gather debug and log information, that in some cases aren't necessarily relevant but is merely correct procedure in order to get the case assigned. On the other hand, many key Oracle people engage in the community, so a finicky question about a PL/SQL detail might get attention and answers from product managers themselves.
Which solution did I use previously and why did I switch?
Before 1996 we used a legacy application, but it would locked on a table level. That meant practically no concurrency, for example phone sales people could not enter order data while talking to the customer but wrote on paper. Then one guy would enter all orders later. After a demonstration of Oracle database giving high concurrency, it was very easy for my boss to decide to buy Oracle.
How was the initial setup?
An external consultant was hired for the setup and there was no trouble with the database setup. The legacy application needed a bit extra setting up to get it to run properly with Oracle, but that was not the fault of Oracle.
What's my experience with pricing, setup cost, and licensing?
Bargain with the sales representative for good discounts - particularly if you buy several licences at once. But beware when buying multiple licenses together you get them on a single CSI, which may give trouble in future if you need to cancel one license out of the total, as that in principle means cancelling all licences and renegotiating so you may get new prices with less discount on the yearly support fees for the licences you have left. Research all the things that actually is possible with the basic licence so you get your value-for-money and only pay for options if you really need them.
Which other solutions did I evaluate?
There weren't many options at the time. A database supported by the legacy application had to be chosen, and the native legacy database just wasn't up to concurrency demands as described above, so Oracle was the other choice.
What other advice do I have?
Oracle database can do many things that you may think it is necessary to supplement with other products. Look into how you may use all of the features to get value-for-money - then it might turn out in the long run to be cheaper than having to integrate multiple products.