Oracle启动的整个过程
1.启动选项
在发出startup命令启动数据库时,oracle将在默认位置$ORACLE_HOME/dbs(UNIX/Linux)中查找初始化参数⽂件。Oracle将以下⾯的顺序在其中寻找合适的初始化⽂件:Spfile$ORACLE_SID.oraSpfile.ora
Init$ORACLE_SID.ora
可以⽤⼏种⽅式启动oracle数据库。不同⽅式启动将影响启动数据库的程度。启动状态由nomount(数据库未装载)——>mount(数据库完成装载)——>open(数据库打开)1.1 STARTUP NOMOUNT命令
SQL> startup nomount;ORACLE instance started.
Total System Global Area 167387136 bytesFixed Size 1343668 bytesVariable Size 150998860 bytesDatabase Buffers 12582912 bytesRedo Buffers 2461696 bytes
--Oracle读参数⽂件(⾥⾯有控制⽂件⽬录),打开实例,启动Oracle后台进程,给Oracle分配SGA。此时数据库状态为未装载。
可以在SQL*Plus会话中使⽤STARTUP NOMOUNT命令启动实例,这样启动仅有实例运⾏。如果以这种⽅式启动,将不读控制⽂件,⽽且数据⽂件也不打开。操作系统启动Oracle后台进程,并且给oracle分配SGA。事实上,只有实例本⾝在运⾏。1.2 STARTUP MOUNT命令
SQL> startup mount;
ORACLE instance started.
Total System Global Area 167387136 bytesFixed Size 1343668 bytesVariable Size 150998860 bytesDatabase Buffers 12582912 bytesRedo Buffers 2461696 bytesDatabase mounted.
--Oracle 打开并读取控制⽂件(⾥⾯有数据⽂件和⽇志⽂件的⽬录),获取数据⽂件和重做⽇志⽂件的名称和位置。此时数据库完成装载。在启动过程中,oracle把实例与数据库关联。Oracle打开并读取控制⽂件,获取数据⽂件和重做⽇志⽂件的名称和位置。在进⾏诸如全数据库恢复、更改数据库的归档⽇志模式或重命名数据⽂件这⼀类的活动时,通常需要以安装模式启动数据库。请注意,这三种操作都要求oracle访问数据⽂件,但不提供对⽂件的⽤户操作。1.3 STARTUP [OPEN]命令
SQL> startup open
ORACLE instance started.
Total System Global Area 167387136 bytesFixed Size 1343668 bytesVariable Size 150998860 bytesDatabase Buffers 12582912 bytesRedo Buffers 2461696 bytesDatabase mounted.Database opened.
--Oracle打开数据⽂件和重做⽇志⽂件,才能对外(所有有效⽤户)提供数据库服务。启动过程的最后⼀步是打开数据库。