• oracle的启动过程


     

    Oracle  的启动需要经历四个状态,SHUTDOWN NOMOUNT MOUNT OPEN

     

     

     

    SHUTDOWN状态                                         

    第一状态没什么好解释的,oracle的所有文件都静静的躺在磁盘里,一切都还未开始,属于关机状态

     

     

    NOMOUNT状态                            

    Starting the instance (nomount)

    *  Reading the initialization file from $ORACLE_HOME/dbs in the following order:

    -first  spfileSID.ora

    -if not found then, spfile.ora

    -if not found then, initSID.ora

    Specifying the PFILE parameter with STARTUP overrides the default behavior.

    *  Allocating the SGA

    *  Starting the background processes 

    *  Opening the alertSID.log file and the trace files

    The  database must be named with the DB_NAME parameter either in the initialization 

    Parameter file or in the STARTUP command.

    -----------------------------------------------------------------------

    读取环境变量下dbs目录下的参数文件(spfile/pfile

     [ora10@localhost dbs]$ pwd

    /ora10/product/10.2.0/db_1/dbs

    [ora10@localhost dbs]$ ll

    -rw-r----- 1 ora10 dba  3584 07-19 22:07 spfilechongshi.ora

    -rw-r----- 1 ora10 dba  3584 07-23 22:00 spfile.ora

    -rw-r--r-- 1 ora10 dba  1106 07-19 21:47 initchongshi.ora

    查找参数文件的顺序如上面列表的,读取优先级

    spfilechongshi.ora > spfile.ora>initchongshi.ora  

    如果三个文件都找不到的话,那么将启动失败。

    * 启动算法,分配内存

    * 启动后台进程

    * 开放alertSID.log文件和跟踪文件

    [ora10@localhost dbs]$ sqlplus 
    
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 24 22:33:54 2012
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    Enter user-name: /as sysdba
    
    Connected to an idle instance.
    
    SQL> startup nomount;
    
    ORACLE instance started.
    
    Total System Global Area  205520896 bytes
    
    Fixed Size                  1218532 bytes
    
    Variable Size              79693852 bytes 
    
    Database Buffers          121634816 bytes 
    
    Redo Buffers                2973696 bytes 

    现在就处在一个nomount状态。

     

     

     mount状态                                                  

    Mounting a database includes the following tasks: 

    * Associating a database with  a previously started instance 

    * Locating and opening the control files specified in the parameter file 

    * Reading the control files to obtain the names and status of the data files and online redo log files.However,no checks are performed to verify the existence of the data files and online redo log files at this time. 

    ---------------------------------------------------------------------------------

    * 把一个数据库和启动的实例关联起来 

    在参数文件(spfile/pfile)中找到控制文件进行读取 

    查看参数文件: 

    [ora10@localhost dbs]$ strings spfileora10.ora | more 

    ......

    *.control_files='/ora10/product/oradata/ora10/control01.ctl','/ora10/product/ora 

    data/ora10/control02.ctl','/ora10/product/oradata/ora10/control03.ctl' 

    ....... 

    控制文件: 

    [ora10@localhost ~]$ cd /ora10/product/oradata/ora10/ 

    [ora10@localhost ora10]$ ll 

    总计 954196 

    -rw-r----- 1 ora10 dba   7061504 07-23 23:01 control01.ctl 

    -rw-r----- 1 ora10 dba   7061504 07-23 23:01 control02.ctl 

    -rw-r----- 1 ora10 dba   7061504 07-23 23:01 control03.ctl 

    * 读取控制文件,获得的数据文件和联机重做日志文件,然而,在这个时候没有进行检查以验证存在的数据文件和联机重做日志文件 

    [ora10@localhost dbs]$ sqlplus 
    
    SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jul 24 23:02:28 2012 
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved. 
    
    Enter user-name: /as sysdba 
    
    Connected to an idle instance. 
    
    SQL> startup mount; 
    
    ORACLE instance started. 
    
    Total System Global Area  205520896 bytes 
    
    Fixed Size                  1218532 bytes 
    
    Variable Size              79693852 bytes 
    
    Database Buffers          121634816 bytes 
    
    Redo Buffers                2973696 bytes 
    
    Database mounted. 

    现在进入了数据库的mount状态,我们通过mount启动的时候,下面会多一句提示“Database mounted.” 数据库准备就绪。

     

     

    open状态                                                 

      opening the database includes the following tasks 

    opening the online data log files 

    opening the onling redo log files 

      If any of the datafiles or noline redo log files are not present when you attempt to open the database ,the oracle server returns an error.

      During this final stage,the oracle server verfies that all the data files and online redo log files can be opened and checks the consistency of the database . If necessary , the SMON  background process initiates instance recovery.

    ----------------------------------------------------------------------------------------- 

    打开数据库包括下列任务: 

    打开在线数据日志文件 

    打开联机重做日志文件 

        如果任何数据文件或非线性重做日志文件不存在,当您试图打开的数据库,服务器返回错误。 

    在这最后阶段,该服务器验证所有数据文件和联机重做日志文件可以打开并检查数据库的一致性。如果需要,该系统监控进程开始实例恢复。

     

      [ora10@localhost dbs]$ sqlplus /nolog
      
      SQL*Plus: Release 10.2.0.1.0 - Production on Wed Jul 25 21:50:55 2012
      
      Copyright (c) 1982, 2005, Oracle.  All rights reserved.
      
      SQL> conn /as sysdba
      Connected to an idle instance.
      SQL> startup
      ORACLE instance started.
      
      Total System Global Area  205520896 bytes
      Fixed Size                  1218532 bytes
      Variable Size              79693852 bytes
      Database Buffers          121634816 bytes
      Redo Buffers                2973696 bytes
      Database mounted.
      
      Database opened.

       在上面的命令中,startup后面不加其它信息的话,系统会为我们直接启动到第4个状态。

     

     

    数据库关闭的三种方式                                          

     

    1、shutdown normal  
    正常方式关闭数据库。 


    2、shutdown immediate  
    立即方式关闭数据库。  
    在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,  
    而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),  
    当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 


    3、shutdown abort  
    直接关闭数据库,正在访问数据库的会话会被突然终止,  
    如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。

     

  • 相关阅读:
    mysql 登录远程数据库
    git rebase
    Maven -DskipTests和-Dmaven.test.skip=true的区别
    Code Labels
    AUC计算
    nohup 同时实现记录日志和屏幕输出
    [转]
    sshpass 配置密码登录ssh
    MyEclipse里面如何把偏好设置导出
    (转)一位资深程序员大牛给予Java初学者的学习路线建议
  • 原文地址:https://www.cnblogs.com/fnng/p/2607482.html
Copyright © 2020-2023  润新知