I recently spent some time tutoring two Oracle DBA’s on SQL Server so that they would be able to do some crossover work with their SQL Server team. I think a smart move on the part of their employer to invest in the training, as a DBA is a DBA. They know the concepts, they just need to understand the differences and the quirks. It’s not the first time I’ve done this kind of tutoring, and it’s always interesting. I’m not an Oracle guy at all, so the teaching is a shared experience – I show them how to do a task, they correlate to their world, we talk through the differences.
What I’ve heard every time I do this is that SQL Server is fairly easy to learn and fairly intuitive, and they think it’s an easier transition than going from SQL Server to Oracle. From what I’ve seen I agree, and I don’t see that as a knock on either product. Both platforms have grown and evolved, but underneath they have different philosophies, and who is to say one is more right than the other?
Here’s one example we talked about, partitions. I consider the implementation of partitioning at the engine level to be very elegant in SQL Server,though I still wish the UI would evolve a little faster to support things like rolling partitions. If you’ve used partitions you know that they are basically invisible to the end user/query writer,you query the table and the optimizer figures out the rest. From what I gather in Oracle they have a deeper ability to address the partition directly. I don’t know if that is good or bad, better or worse, but I’ve never found it to be a limiting factor in the work I do.
Interesting too is that these discussions are never macho ‘my product is better than your product’ talks, it’s a good discussion of how things work and how to achieve goals, because at the end of the day we solve very similar problems.