Oracle学习笔记—oracle体系架构及状态(nomount、mount和open)简介
2017-05-27 17:51
344 查看
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 nomount mount open直接的关系
- openfile存储服务器及oracle体系架构简介
- 如何查询oracle是OPEN还是MOUNT状态
- Oracle-nomount/mount/open
- 【Oracle】手工建库时启动到nomount状态时错误ORA-09925,ORA-01017
- oracle nomount mount open直接的关系
- Oracle启动数据库的三个台阶nomount,mount,open
- ORACLE数据库nomount,mount以及open状态
- ORACLE启动到NOMOUNT状态
- oracle nomount mount open直接的关系
- 在windows下把Oracle启动到nomount状态 注意问题
- oracle nomount/mount/open的区别
- oracle状态中的open
- 各种系统架构图及其简介(Spring+IBatis+Struts1+Struts2+Hibernate+Java EE+Oracle)
- Oracle体系结构之-数据库、表空间、实例简介
- 2012年1月12日 星期四(oracle读书笔记,oracle体系架构之数据字典)
- 2012年1月10日 星期二(oracle读书笔记,体系架构和存储结构)
- Oracle体系结构:内存结构和进程结构-体系架构
- 各种系统架构图及其简介(Spring+IBatis+Struts1+Struts2+Hibernate+Java EE+Oracle)
- Oracle数据库的启动-nomount状态深入解析