What resources can you recommend for a SQL Server developer wanting to learn Oracle basics?

I am looking for a comprehensive whitepaper or blog post describing differences between these systems and answering questions like How to create an IDENTITY column? or What data type is equivalent of float?.

2 Answers 2


I suggest using documentation provided by Oracle as it is the best resource for Oracle developers.

Start with Concepts - this will help you understand architectural differences between MSSQL and Oracle. Continue with quick intro 2-day developer and 2-day DBA (you need basic DBA skills to manage your "playground"). Also read database reference for system tables/views and finally language references SQL, PL/SQL and PL/SQL packages and types for supplied packages.

Each documentation "book" can be downloaded as PDF, but I prefer the HTML version.

And if you're stuck Ask Tom or here.


Speaking more from a DBA perspective than a developer, this course is very comprehensive; there may be some things in there that are of value to you, particularly the Data Objects and Data Access chapters. It's written from an Oracle → SQL Server perspective but it works either way, it's about mapping concepts you already know to a slightly different vocabulary.

But, speaking from experience here, the biggest factor is not learning what datatypes correspond to what, but the shift in thinking about your application and particularly how to optimize it. For example, if you have come from SQL Server, you most likely believe that cursors are expensive and to avoid using them. Well, in Oracle every SELECT is a cursor "under the hood"; all using a cursor does is give you a handle to it. Similarly in SQL Server you will be used (unless you have been running in optimistic mode, which few people do) to readers blocking writers and writers blocking readers and coding to avoid that scenario; Oracle behaves very differently as it only supports MVCC anyway. Clustered indexes in SQL Server are use far more often than IOTs in Oracle (I don't actually know why this is, it's just something I've observed, Oracle people are missing a trick there).

Things like this are why apps ported from one to the other run into trouble... It's not just as simple as changing the SQL syntax (if it was you might as well have just used MySQL as you won't be getting the advantage of all these features you've paid for!)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.