oracle体系架构简介

先来简要了解一下Oracle数据库体系架构以便于后面深入理解,Oracle Server主要由实例(instance数据库(database组成。实例(instance共享内存(SGA后台进程系统组成,数据库(database是存储在磁盘上的一系列物理文件。

SGA主要由Share Pool(共享池,又分Library Cache和Data Dictionary Cache,前者临时存储最近执行过的语句代码等,后者临时存储数据位置、表定义及用户权限等)、Database Buffer Cache(数据缓冲区,临时存储读过的数据块)、Redo Log Buffer(重做日志缓冲区,临时存储数据库修改操作)、Large Pool(大池,分担Share Pool部分工作供共享服务器进程使用,如备份恢复、大型I/O操作、并行查询等)和Java Pool(Java池,分析Java语句)。

后台进程是数据库和操作系统进行交互的通道,后台进程的命名由ORACLE_SID决定,ORACLE根据ORACLE_SID来寻找参数文件启动实例。是Oracle数据库为保持最佳性能和协调多用户请求而设置的,主要有DBWR(将Database Buffer Cache数据写入Data Files)、LGWR(将Redo Log Buffer数据写入Redo Log Files)、CKPT(协调数据文件、控制文件和重做日志,将System Change Number即SCN写入到控制文件和数据文件头部,促使DBWR、LGWR执行)、SMON(System Monitor,3方面作用:instance recovery实例故障数据恢复、合并空闲碎片空间、回收临时段)、PMON(用户例程意外终止时处理事务,如回退事务、释放锁及其他资源等)、ARCH(将Redo Log Files写入Archive Log Files)、CJQ0(job queue coordinator)、RVWR(recover writer,为flashback database提供日志记录)等进程。

数据库(database是指存储在磁盘上的一组物理文件,如数据文件(Data files,用于存储数据)、控制文件(Control files,存储数据文件、重做日志文件、归档日志文件位置及维护数据库完整性所需信息)和重做日志文件(Redo Log files,存储修改数据的所有操作记录以备故障后恢复),这三个是启动数据库必须的文件;另外还有参数文件(Parameter file,设置内存后台进程的启动等)、归档日志文件(Archived Log files,归档记录写满的重做日志文件的内容)和口令文件(Password file,验证用户名密码),这三个是非必须的文件。

oracle启动状态

Oracle启动分3个过程nomount、mount和open,这三个过程具体执行的工作如下:

  • NOMOUNT状态: SGA和后台进程已经启动
  • MOUNT状态: 通过参数读取了控制文件 ,拥有sysdba权限的可以进行一些数据的备份和恢复操作,其他用户还不能访问
  • OPEN状态; 其他用户正常访问
  

NOMOUNT状态

创建数据库实例
首先从spfile或者pfile中读取数据库参数文件,然后分配SGA和创建后台进程。

相当于生产线和工人都到位了,但是没有开始生产,生产线上没有产品。
 

MOUNT状态

建立数据库和实例的关系。

首先根据初始化参数文件中的CONTROL_FILE参数找到相应的控制文件然后打开它们,在控制文件中包含了数据库的数据文件和redo log文件信息。

这个时候数据库还没有打开,仍然处于关闭状态,这个时候普通的用户还不能连接到数据库,只有数据库管理员可以进行一些备份恢复等工作。
 

OPEN状态

打开数据库。

通过控制文件信息找到联机数据文件和redo log 文件,如果没有以上两个文件,数据库就会报错。如果这两个文件坏了,数据库无法打开,这个时候可以通过sysdba权限进入mount挂载状态后,对这两个数据文件进行恢复操作后再打开数据库。

参考:

Oracle数据库启动过程及状态详解(nomount、mount和open)

oracle启动的四个状态

Oracle学习笔记—oracle体系架构及状态(nomount、mount和open)简介的更多相关文章

  1. Oracle学习笔记—Oracle左连接、右连接、全外连接以及(+)号用法(转载)

    转载自: Oracle左连接.右连接.全外连接以及(+)号用法 对于外连接,Oracle中可以使用“(+)”来表示. 关于使用(+)的一些注意事项: (+)操作符只能出现在WHERE子句中,并且不能与 ...

  2. Oracle学习笔记--Oracle启动过程归纳整理

    Oracle 启动过程分为nomount状态mount状态open状态 每个状态下Oracle都会进行不同的操作:1.nomount状态 在$ORACLE_HOME/dbs目录下寻找参数文件 参数文件 ...

  3. ORACLE学习笔记-ORACLE(基本命令)

    --查看VGA信息: show sga; select * from v$sgastat;--可以通过以下几个动态性能视图查看信息: V$sysstat                系统统计信息 V ...

  4. Android学习笔记__1__Android体系架构

    Android 体系结构图 Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application).根据Android的软件 ...

  5. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  6. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  7. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  8. Oracle学习笔记——点滴汇总

    Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster

  9. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

随机推荐

  1. Mac 上的终端神器 iTerm2

    官方下载地址:http://www.iterm2.com/ 主题下载地址:https://github.com/mbadolato/iTerm2-Color-Schemes 第三方教程推荐:http: ...

  2. eclipse日志

    注意包别引入错: import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger log = ...

  3. git服务器gitlab之搭建和使用

    git服务器比较有名的是gitosis和gitolite,这两个管理和使用起来稍微有些复杂,没有web页面,而gitlab则是类似于github的一个工具,github无法免费建立私有仓库,并且为了代 ...

  4. 实时竞价(RTB) 介绍(基础篇)

    前言: 说到"实时竞价"大家一定都不陌生,那么为何如今实时竞价发展这么迅猛,当然这个主要得益于总体移动互联网环境的成熟,以及中国本地移动广告市场出现爆发式增长.那么到底什么是实时竞 ...

  5. DWR相关知识

    解决问题:服务器给前台推送消息 用途:聊天,微信签到墙,设备报警

  6. Spring 核心组件工作原理简析

    Spring Framework 的核心组件有三个: Spring Core,Spring Context 和 Spring Beans,它们奠定了 Spring 的基础并撑起了 Spring 的框架 ...

  7. windows下mysql区分大小写敏感问题

    默认情况下,表别名在Unix上区分大小写,但在Windows或macOS上不是这样.以下语句在Unix上不起作用,因为它引用别名as a和as A: mysql> SELECT col_name ...

  8. Google Careers 程序员必修课

    quote from : https://www.google.com/about/careers/students/guide-to-technical-development.html Techn ...

  9. point-position2修改版

    说明: 在共面直线测试中,由于计算误差等原因,共面条件判断不准,但计算结果依然正确. // point-position2.cpp : 定义控制台应用程序的入口点. #include "st ...

  10. matlab小数分数转换

    >> format short      %%%% MATLAB默认格式,小数显示 >> format rat    %%%%% 转成分数表示