1:
已经创建好了一个数据库 orcl
[oracle@localhost ~]$ echo $ORACLE_SID
orcl
2:
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> startup
Database opened.
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
orcl
SQL> select name from v$database;
NAME
---------
ORCL
这个数据库可以正常启动, 一个实例(orcl)对应一个数据库
3:
复制一份initorcl.ora 到当前目录改成initfang.ora
4:
[oracle@localhost ~]$ ORACLE_SID=FANG
[oracle@localhost ~]$ echo $ORACLE_SID
FANG
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> startup
ORACLE instance started.
Database opened.
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
fang
SQL> select name from v$database;
NAME
---------
ORCL
总结:操作系统根据OARCLE_SID找到参数文件,根据参数文件内的控制文件找到数据文件,日志文件等打开数据库。实例名默认和OARCLE_SID相同。因为参数文件内容相同,所以他们打开的是同一个数据库。如果你试图修改参数文件中一些重要参数(如db_name),则可能无法启动数据库。因为控制文件内的也记录了这个参数,如果发现了控制文件内的参数和参数文件内的参数不一样,则无法挂载数据库。