ThatJeffSmith

Oracle vs SQL Server, Take II

Missed PT I?: Read Part I my favorite aspects of each RDBMS platform
Update: Read PT III where I talk about monitoring indexes

I had the pleasure of hanging out with @oraclenerd and @SQLChicken earlier this year in Tampa, FL. It was remarkable for a couple of reasons, but what I remember most is playing translator. When @SQLChicken would rave about one of the SQL experts on Twitter, I would relate to @oraclenerd how that person was a lot like one of our Oracle experts. It was a fun night even if I was on the sidelines for much of the spirited debate. I knew it was going to be OK when they went out for ice cream after I left.

I am currently suggesting that @SQLChicken abduct @oraclenerd next month for the SQLSaturday coming to town. I think it would do wonders for any Oracle professional to attend one of these events for reasons I’ve previously stated. But what is the equivalent of SQL Saturday for the Oracle crowd? Who is the Buck Woody (and for that matter Little Buck) of the Oracle domain? How do you do OBIEE in SQL Server?

For this blog post, I want to take a few minutes to help someone who is getting ready to step into ‘the other side’ by offering some reference points. It is generally not fun starting out from scratch in a new endeavor. I hope this ‘translation guide’ helps. I knew I could have used this several years ago!

Note: These are MY translations and may differ based on your personal experience.

Technical Jargon

Microsoft SQL Server Oracle
instance (server) database
database schema
schema No direct equivalent.
login user
user user
permission privilege (priv)
indexed view materialized view (snapshot)
T-SQL PLSQL (mostly)
Error Logs Alert Log
Log file Redo Logs
Execution Plan Explain Plan
Re-Compiles FLUSH SGA (wipes out ALL cached plans)
OR in 10/11g use baseline control (not nearly as common)

The underlying fundamentals of a RDBMS hold true for both SQL Server and Oracle. If you ‘know’ one, you will be able to transition into another. Some things are actually exactly the same but have different names. Others are similar but have their own twist in implementation or architecture. Clustering and HA are examples of where you would see major differences, and partitioning would be a place where you’d have only minor differences (other than available partitioning schemes in SQL Server).

Tools

Microsoft SQL Server Oracle
SSMS OEM
Query Analyzer SQL Developer
Server Side Trace DBMS_SYSTEM|Monitor|Support + tkProf
Profiler OEM can be used to start a trace.
Maintenance Plan No direct equivalent. (jobs?)
DMV SYS View
Default Traces No direct equivalent.
SSIS OBIEE
PowerShell SH (*NIX)
Clustering RAC (kind of, but not really)
Log Shipping ?
Mirroring Streams|Data Guard|GoldenGate

More GUIs from Microsoft – surprise, surprise! More packages and command-line tools from Oracle. However this is quickly evolving. Also, I doubt that this point rarely surfaces as the deal-breaker when it comes to choosing one platform over the other. It’s more of an issue for the people who get to support the database after-the-fact.

Community

Microsoft SQL Server Oracle
MSDN OTN
PASS ODTUG|IOUG|UKOUG|…
PASS Summit Oracle Open World
PASS Chapters Local Oracle User Groups (independent)
RMOUG, SOUG, …
SQLBits UKOUG Annual Conference
SQL Saturday No direct equivalent.
SQL Server Central OraFaq|OTN
SQLServerPedia OraDBPedia
Buck Woody|Paul Randall|Brent Ozar Tom Kyte|Cary Milsap|Alex Gorbachev
#SQLHELP #ORACLEHELP (barely)
SQL MVP Oracle ACE

Both communities are mature, strong, and active. The major difference I see is the major fragmentation on the Oracle side. I would say this is due a combination of factors, but the amount of time is probably the biggest one. I would say that PASS in 10 years will look drastically different today, and would not be surprised if it starts to splinter into different groups. Don’t assume that because there is no unifying ‘PASS’ that local groups of Oracle professionals do not congregate. There are many, and they are very dedicated.

What did I leave out? What did I get wrong?
I mentioned previously that this was a translation, so I admit I’ve probably lost a bit in that translation. There’s a comments section, feel free to blow it up!

Did you miss my first take on Oracle vs SQL Server? Read it now.