oracle server主要由两个部分组成:instance和database. instance是指一组后台进程(在windows上是一组线程)和一块共享内存区域。database是指存储在磁盘上的一组物理文件。通过instance与database协同。oracle数据库才能形成一个动态的可访问关系型数据库.

oracle:instance与database,启动过程_共享内存

oracle:instance与database,启动过程_初始化_02

1.  startup nomount;

  nomount的过程也就是启动数据库实例的过程.这个过程是后台启动oracle可执行程序的过程,windows上是oracle.exe文件的初始化.

oracle:instance与database,启动过程_初始化_03

pid代表进程在数据库内部的标识符编号. 而spid代表该进程在操作系统上的进程编号.(windows下则是 oracle.exe进程下的线程)

 

 

shutdown immediate(关闭数据库)

 

参数文件: 

  数据库启动时,会需要参数文件.  

 spfile<ORACLE_SID>.ora(首选该文件)--------> spfile.ora(次选)--------->init<ORACLE_SID>.ora(当前面两个文件都不存在,使用该文件), 如果三个文件都不存在,oracle将无法创建和启动instance.

  show parameter file命令可以查看数据库启动是否使用了 spfile.ora文件.

SQL> show parameter file
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      D:\APP\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL.ORA

 

DB_NAME代表了实例即将挂接的数据库名称。关联到具体的物理文件。

  一个实例可以mount并打开任何数据库,但是同一时间一个实例只能打开一个数据库。

 一个数据库可以被一个或多个实例所mount并打开(在OPS/RAC环境下,一个数据库可以被多个实例所打开)


v45mytest@ORCL> show parameter db_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      orcl
v45mytest@ORCL> show parameter instance_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      orcl

 

引用:《深入解析Oracle.DBA入门进阶与诊断案例》 作者:盖国强