Typically,the ORACLE_SID environment variable is the full name of the ORACLE System Identifier
, which is used to identify different instances on a single server, by default the instance name is Oracle_ The value of the SID (that is, Instance_name= $ORACLE _sid. Of course, the instance name can also be different from the ORACLE_SID environment variable, as long as the initialization parameter file shows that the value of the specified instance_name parameter is different from the value of the ORACLE_SID environment variable. under the Unix/linux platform, the main function of this environment variable is to hash the environment variable with oracle_home, and get a unique value to identify the shared memory segment, and the SGA. Here is an excerpt from the original text of Tom Master's glorious book Expert Oracle Database Architecture:
If you ' re Unfamiliar with the term SID or oracle_sid, a full definition is called for. The SID is a site identifier. It and oracle_home (where the ORACLE software is installed) was hashed together in UNIX to create a unique key name For attaching an SGA. If your oracle_sidor oracle_home is not set correctly, you'll get the oracle not AVAILABLE error, since You can ' t attach to a shared memory segment, that's identified by this unique key. On Windows, shared memory isn ' t used in the same fashion as UNIX, but the SID is still important. You can have more than one database on the same oracle_home, so you need a-to-uniquely identify each one, along with T Heir configuration files.
The ORACLE_HOME environment variable is the installation path for Oracle software, and the ORACLE_BASE environment variable is the base directory for Oracle software installation.
An explanation of Oracle environment variables