[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


global database name and SID  ---confused

Posted on 2004-11-01
Medium Priority
Last Modified: 2013-12-11
Hello I am a Bioinformatist trying to understand the rudiments of Oracle ....

I am starting off with installing Oracle on my personal machine (Red Hat Linux).As I am working through the installation I am trying to understand the difference between  global database name and SID (system identifier)...

I have tried through the documentation etc ..but I am more condused than what I started off ...

Could you please try to explain this ...(let me assure you that I tried my best to understand it myself but I could not ...)

===> What is the relation between the two ... global database name and SID (system identifier)...

===>I always thought SID refeered to a specific database name ...so what is the point of creating before hand.

===> I understand that global database name is made of : database_name.database_domain format .But if we specify say a name like
sales.ac.uk     ...how will the database be "global" will it not be specific to the database "sales"

==> for the example above what should/can  be the SID

I would appreciate it if you could explain by an example

Thanks so much
Question by:micro_learner
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3

Expert Comment

ID: 12522859
There is one-to-one relationship between this two. Global name and a sid can be changed separatly. You can start the same database with different SID. Also you can change Global DB name and run it with the same SID.

Assisted Solution

-jer- earned 450 total points
ID: 12587915
Here is the main difference:

The Oracle SID is the Local Database name on the server.  This is the database you connect to when you are on the server working with the database, and not using the net services at all.  The Global Database Name is the Name that the Listener listens for connections to.  The listener translates requests from the global database name to the SID.  

Typically, when I name my databases, I #1 don't use a domain, and #2 make the Oracle SID and the Global Name the EXACT SAME.  It makes things less confusing, since you only have to remember one.  You will not be able to connect from anywhere other than localhost using the SID (If they're different).  To make it even MORE confusing, Oracle net configuration assistants and the TNSNames.ora files refer to the SID when they actually mean the global database name.  Tricky, isn't it?

Here's a rundown of the layers:
Oracle Driver Calls --(Oracle Client)-> TNS Service Name --(Oracle Net)-> Global Database Name --(Listener)-> SID

Hope this helps.


Assisted Solution

boriskalavsky earned 450 total points
ID: 12591027
It work like -jer- said for backward compatability with SQL Net 2. For 8i and above you can use service_name (gives you ability to have muliple names for the same database). Connect descriptor contains destination service and network route information (8i and above it can be service_name or sid). The global database name is the default service name of the database. SID is not only used for networking. OS processes and memory segments are identified by SID. So, just like I said before, there is one-to-one relationship between this two. Global name and a sid can be changed separatly. You can start the same database with different SID. Also you can change Global DB name and run it with the same SID.

Accepted Solution

adrian_ang earned 600 total points
ID: 12631413
SID (System Identifier)
A SID (almost) uniquely identifies an instance. Actually, $ORACLE_HOME, $ORACLE_SID and $HOSTNAME identify an instance uniquely. The SID is 64 characters, or less; at least on Oracle 9i. The system identifier is included in the CONNECT_DATA parts of the connect descriptors in a tnsnames.ora file. The SID defaults to the database name.

Global database name
A database is uniquely identified by a global database name. Usually, a global database name has the form somename.domain. The global database name is the composit of db_domain and db_name.

Database Name
All mounted databases in a network must have a unique database name. This name is specified at the time of the creation of the database and burned into the control files. The name of the database must correspond to the db_name

Expert Comment

ID: 12633059
instance (SID) <-> database (datbase name)

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
Shell script to create broker configuration file using current broker Configuration, solely for purpose of backup on Linux. Script may need to be modified depending on OS-installation. Please deploy and verify the script in a test environment.
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
Via a live example, show how to take different types of Oracle backups using RMAN.

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question