• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)

    一、摘要

    Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤:

    启动实例-->加载数据库-->打开数据库

    因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。

    1. Oracle启动需要经历四个状态:SHUTDOWN 、NOMOUNT 、MOUNT 、OPEN

    2. Oracle关闭的四种方式:Normal, Immediate, Transactional, Abort

    3. 启动和关闭过程详解


     
    二、数据库启动过程

    1.NoMount 模式(启动实例不加载数据库)

    (1). 命令:startup nomount

    (2). 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。

                   在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括VPARAMETER、VSGA、VPROCESS和VSESSION等,这些视图中的信息都是从SGA区中获取的,与数据库无关。

    (3). 模式用途:

    创建新数据库;
    重建控制文件;
    2.Mount模式(加载数据库但不打开数据库)

    (1). 命令:startup mount

    (2). 讲解:这种启动模式将为实例加载数据库,但保持数据库为关闭状态。因为加载数据库时需要打开数据库控制文件,但数据文件和重做日志文件都都无法进行读写,所以用户还无法对数据库进行操作。

                    在Mount模式下,只能访问那些与控制文件相关的数据字典视图,包括VTHREAD、VCONTROLFILE、VDATABASE、VDATAFILE 和 V$LOGFILE等,这些视图都是从控制文件中获取的。

    (3). 模式用途:

    重命名数据文件;
    添加、删除或重命名重做日志文件;
    执行数据库完全恢复操作;
    改变数据库的归档模式;
    3.Open模式(正常打开数据库)

    (1). 命令:startup [open]

    (2). 讲解:正常按3个步骤启动数据库。

    (3). 模式用途:

    平时不对数据库做什么维护,像只做应用开发,用这个模式就好了;
    4.强制启动模式

    (1). 命令:startup force

    (2). 用途讲解:

    在某些情况下,使用前面的各种模式都无法成功启动数据库时,可以尝试强制启动模式。
    5. 其他

    使用Alter Database语句,还可以在各启动模式间切换。并且,还可以对数据库设置不同的状态用于不同的操作,如受/非受限抽状态、只读。

    三、数据库关闭过程

    1. Nomal(正常关闭方式)

    (1). 命令:shutdown nomal

    (2). 讲解:正常方式关闭数据时,Oracle执行如下操作:

    阻止任何用户建立新的连接。
    等待当前所有正在连接的用户主动断开连接(此方式下Oracle不会立即断掉当前用户的连接,这些用户仍然操作相关的操作)
    一旦所有的用户都断开连接,则立即关闭、卸载数据库,并终止实例。(所以,一般以正常方式关闭数据库时,应该通知所有在线的用户尽快断开连接)
    2. Immediate(立即关闭方式)

    (1). 命令:shutdown immediate

    (2). 讲解:

    阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
    Oracle不等待在线用户主动断开连接,强制终止用户的当前事务,将任何未提交的事务回退。(如果存在太多未提交的事务,此方式将会耗费很长时间终止和回退事务)
    直接关闭、卸载数据库,并终止实例。
    3. Transactional(事务关闭方式)

    (1). 命令:shutdown transactional

    (2). 讲解:这种方式介于正常关闭方式跟立即关闭方式之间,响应时间会比较快,处理也将比较得当。执行过程如下:

    阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
    等待所有未提交的活动事务提交完毕,然后立即断开用户的连接。
    直接关闭、卸载数据库,并终止实例。
    4. Abort(终止关闭方式)

    (1). 命令:shutdown abort

    (2). 讲解:这是比较粗暴的一种关闭方式,当前面3种方式都无法关闭时,可以尝试使用终止方式来关闭数据库。但是以这种方式关闭数据库将会丢失一部份数据信息,当重新启动实例并打开数据库时,后台进程SMON会执行实例恢复操作。一般情况下,应当尽量避免使用这种方式来关闭数据库。执行过程如下:

    阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。
    立即终止当前正在执行的SQL语句。
    任何未提交的事务均不被退名。
    直接断开所有用户的连接,关闭、卸载数据库,并终止实例。
     
    四、案例数据库启动全过程

    Step1. SQLPLUS /'as sysdba'
    
    SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 3 22:48:27 2012
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Connected to an idle instance.
    
    Step2. Startup nomount
    
    ORACLE instance started.
    
    -->
    Total System Global Area 167772160 bytes
    Fixed Size         1218316 bytes
    Variable Size       104859892 bytes
    Database Buffers      58720256 bytes
    Redo Buffers        2973696 bytes
    
    oracle@db1:~> ps -ef | grep ora_
    oracle 3626 1 0 22:48 ? 00:00:00 ora_pmon_orcl1
    oracle 3628 1 0 22:48 ? 00:00:00 ora_psp0_orcl1
    oracle 3630 1 0 22:48 ? 00:00:00 ora_mman_orcl1
    oracle 3632 1 0 22:48 ? 00:00:00 ora_dbw0_orcl1
    oracle 3634 1 0 22:48 ? 00:00:00 ora_lgwr_orcl1
    oracle 3636 1 0 22:48 ? 00:00:00 ora_ckpt_orcl1
    oracle 3638 1 0 22:48 ? 00:00:00 ora_smon_orcl1
    oracle 3640 1 0 22:48 ? 00:00:00 ora_reco_orcl1
    oracle 3642 1 0 22:48 ? 00:00:00 ora_cjq0_orcl1
    oracle 3644 1 0 22:48 ? 00:00:00 ora_mmon_orcl1
    oracle 3646 1 0 22:48 ? 00:00:00 ora_mmnl_orcl1
    oracle 3648 1 0 22:48 ? 00:00:00 ora_d000_orcl1
    oracle 3650 1 0 22:48 ? 00:00:00 ora_s000_orcl1
    
    Step3. Startup mount
    
    Oracle instance started.
    -->
    Total System Global Area 167772160 bytes
    Fixed Size 1218316 bytes
    Variable Size 104859892 bytes
    Database Buffers 58720256 bytes
    Redo Buffers 2973696 bytes
    Database mounted.
    
    Step4. Startup
    
    ORACLE instance started.
    
    -->
    Total System Global Area 167772160 bytes
    Fixed Size 1218316 bytes
    Variable Size 104859892 bytes
    Database Buffers 58720256 bytes
    Redo Buffers 2973696 bytes
    Database mounted.
    Database opened.
    

    您可能感兴趣的文章:
    • Oracle11g RAC开启关闭、设置归档小结
    • 深入剖析哪些服务是Oracle 11g必须开启的
    • 详解Linux系统中Oracle数据库程序的启动和关闭方式
    • Oracle cloud control 12c的启动、关闭及获取安装信息的方法
    • Oracle数据库的启动与关闭方法
    • oracle 如何关闭打开归档日志
    • ORACLE11g随RHEL5系统自动启动与关闭的设置方法
    • oracle 服务启动,关闭脚本(windows系统下)
    • Oracle开启和关闭的四种模式
    上一篇:如何在Oracle中导入dmp文件
    下一篇:PL/SQL Dev连接Oracle弹出空白提示框的解决方法分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作) DBA,Oracle,Startup,Shutdown,启动,