views:

478

answers:

5

My company is now supporting Oracle for the first time, and most of my colleagues are SQL Server developers who haven't really worked with Oracle. I'm a little bit familiar with Oracle, but far from a genius on the subject. Unfortunately, that is enough to mean that I know more about Oracle than most of my co-workers, so I find myself constantly struggling to explain concepts I'm still learning myself in terms that people who aren't familiar with Oracle at all can understand.

The biggest problem that I run into is in knowing how SQL Server terminology translates into Oracle terminology. I understand that there's not a direct 1:1 mapping of terms, but it would be helpful to be able to know how to put Oracle concepts into SQL Server terminology and vice-versa when talking to my SQL Server-centric co-workers. Can someone tell me the best way to put these SQL Server terms into Oracle terminology?

  • database
  • instance
  • schema

And conversely, how to explain these Oracle concepts in SQL Server terms?

  • tablespace
  • database
  • listener
  • service name
  • SID
+2  A: 

Some useful links: Migrating from Oracle to SQL Server

SQL Server Migration Assistant for Oracle

AlexKuznetsov
Why would anybody want to do that?? It's like migrating from C# to Cobol.
Osama ALASSIRY
@Osama At the time of your comment, no it's not like migrating from C# to Cobol. And quite a few companies might not like to have to pay a specialized human translator (dba) that speaks Oracle.
Stephen
+3  A: 

I don't know anything from sqlserver so what I can do is to try to explain what * tablespace * database * listener * service name * SID are. A database is the collection of files that all together make the database. This can be datafiles but also parameter and password files. That database is serviced by one or more instance[s]. An instance is the interface between client processes and the database. In a parallel server configuration - RAC - there can be multiple instances active on the same database. A service is a connection handle to a database. A service van be serviced by multiple instances and every instance can serve multiple services. Services are used to make the combination of applications in one database possible. Every application connects to it's own service, ending up in an instance of the database. A listener is the process that listens for clients that want to connect to an instance or service. the listeners hands over the connection request to an instance background process that performs the database interactions for the client. A SID or ORACLE_SID is just the name of an instance.

The Concepts manual will be of great help. I hope this helps.

Ronald

ik_zelf
+3  A: 

Oracle/SQLServer:

  • tablespace = doesn't exist
  • database = doesn't exist
  • instance = instance
  • schema = database
  • listener = doesn't exist
  • service name = database name
  • SID = database name
Osama ALASSIRY
+3  A: 

check out this article for some definitions I learned. I came from an SQL Server world and have had to learn the Oracle terms, so I understand the confusion.

http://www.associatedcontent.com/article/2383466/oracle%5Fand%5Fsql%5Fserver%5Fbasic%5Fterminology.html?cat=15

sql_mommy