René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback

Oracle identifiers

In order not to make using Oracle confusing, there are some identifiers whose meaning must be totally clear if one want to work on Oracle:

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 parameter.
The database name (as well as the database id) can be changed with the nid (DBNEWID) tool.
Here's an alternative recipe to change the database name without nid.


DBID = Database Identifier.
The DBID is a unique identifier. It is found in all datafile headers. The DBID is used to identifiy the database a file belongs to.
The DBID is also found in the control files. It can therefore be gotten without access to the datafiles (startup mount, select * from v$database)
The dbid is important when the SPFILE or controlfiles must be recovered.


Thanks to Paulie C. Nwachukwu who notified me of an error on this page.