官方文档​​Creating and Configuring an Oracle Database​​的2.4.2讲述了,定义实例的标识符(SID)。其中描述到,ORACLE_SID环境变量用于将本实例与其他Oracle数据库实例区分开来,因为有可能,在同一台服务器上会并发运行多个Oracle数据库实例。

在某些平台上,SID是区分大小写的,与ORACLE_SID中有效字符相关的限制是平台特定的。

设置环境变量时,使用 ORACLE_SID。通常情况下,将SID设置为等于数据库名称。数据库名称的最大字符数是8个。

在UNIX和Linux操作系统中, 为实例设置SID:

ORACLE_SID=mynewdb
export ORACLE_SID

一般情况下,我们使用以下命令方式,切换登录同一服务器上存在多个数据库实例的情形。

export ORACLE_SID=mynewdb1
[root@b19c01 ~]# su - oracle
Last login: Thu Sep 1 17:13:50 CST 2022 on pts/0
[oracle@b19c01:/home/oracle]$ ps -ef | grep smon
root 2329 1 1 17:06 ? 00:01:11 /u01/app/19.3.0/grid/bin/osysmond.bin
grid 2948 1 0 17:07 ? 00:00:00 asm_smon_+ASM1
oracle 13846 1 0 17:14 ? 00:00:00 ora_smon_b19c01
oracle 13846 1 0 17:14 ? 00:00:00 ora_smon_C19c01
oracle 13846 1 0 17:14 ? 00:00:00 ora_smon_d19c01
oracle 40366 40263 0 18:16 pts/0 00:00:00 grep --color=auto smon
[oracle@b19c01:/home/oracle]$ export ORACLE_SID=b19c01
[oracle@b19c01:/home/oracle]$ echo $ORACLE_SID
b19c01
[oracle@b19c01:/home/oracle]$