Oracle数据库的启动要经历3个阶段,启动实例,装载数据库,打开数据库。Startup命令一次完成了数据库启动的三个阶段。
1.启动实例(Start An Instance)
当启动一个实例是,Oracle会读取一个参数文件,这个文件可以是初始化参数文件Pfile,也可以是服务器端参数文件,spfile。通常把两者都称为参数文件。
Oracle根据参数文件中的参数,分配相应大小的一片内存区域叫系统全局区SGA,然后启动一系列的后台进程(DBWR:数据库写入进程、LGWR:日志写入进程、CKPT:检查点进程、SMON:系统监控进程、PMON:进程监控进程、ARCH归档进程等)。这些内存和进程合起来组成实例。
一台机器上可以同时运行多个实例,每个实例都有自己的名字SID。实例是用来驱动数据库的,RAC(Real Application Cluster,集群)环境中,多个实例可以同时驱动一个数据库。实例启动完成后,数据库就处于NOMOUNT状态。
2.装载数据库(Mount the Database)
此阶段,Oracle根据参数文件中的参数CONTROL_FILES找到控制文件。从文件中获得数据文件(Datafile)和重做日志文件(Redo Log File)的名字及位置。这个时候,Oracle己经把实例(Instance)和数据库关联起来。对于普通用户来说,数据库还是不可访问。
处于Mount阶段的数据库,主要用于数据库的维护(如恢复数据库等)。
3.打开数据库
当打开数据库的时候,Oracle打开数据文件(Datafiles)和重做日志文件(Redo Log File )。这时候,数据库可以使用。普通用户可以登录数据库,并对
数据库进行操作。
参考:
1.《成功之路:Oracle 11g学习笔记》P83