zoukankan      html  css  js  c++  java
  • Oracle笔记(3):数据库启动原理

      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

    文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。 欢迎大家留言交流,转载请注明出处。
  • 相关阅读:
    QSerialPort类
    初识Json
    Qt plugins(插件)目录
    Qt连接sql server数据库遇到的问题
    串口通信中,QString 、QByteArray 转化需要注意的问题
    Qt : 隐式数据共享(copy on write)
    Ascii码 、16进制与 char
    Caffe框架详细梳理
    时间管理
    Atom实用配置插件for C++
  • 原文地址:https://www.cnblogs.com/yhlx125/p/2413379.html
Copyright © 2011-2022 走看看