• 博客访问: 15820
  • 博文数量: 9
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-21 18:38
ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类
文章存档

2014年(9)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

分类: Oracle

    五一期间,拜读了《Oracle Database 9i/10g/11g编程艺术》,突然对oracle数据库启动过程有了清晰的了解,现通过实验对其启动过程进行大揭秘。
一、oracle数据库启动概述及部分知识储备
     很多人都知道,oracle数据库具有四种状态,启动过程具有三个阶段。四种状态分别shutdown、nomount、mount、open,对应三个阶段分别为shutdown至nomount,nomount至mount,mount至open。
     ps命令:常用来查看系统运行了哪些进程。
     ipcs:报告进程间通信设施状态。会报告指出使用了共享内存和信号量。
二、oracle数据库启动详解
2.1 shutdown状态
     查看进程和通信设施状态:

2.2 shutdown至nomount阶段
数据库状态如下图:

查看系统进程和通信设施状态:

由smon、pmon等进程可以看出此阶段实例已经启动,并首次报告使用了共享内存和信号量。因此此阶段完成了以下任务:
1、读取参数文件,并指定控制文件和数据库实例名
2、分配SGA
3、启动后台进程
4、打开告警文件和跟踪文件
注意:读取参数文件顺序为:spfile(sid).ora,init(sid).ora,init.ora
2.3 nomount至mount状态
数据库状态图如下:

可以看出数据库状态已变成mount了,可以查询控制文件、数据文件、重做日志文件了。表明此阶段,打开了控制文件,将数据库与打开的实例相关联,同时读取了数据文件和重做日志文件的名称和状态。但此时还不能查询用户表的内容。如图:

2.3 mount至open状态
数据库状态信息:


    由实验可以看出此阶段打开了数据库,通过控制文件打开了数据文件和重做日志文件。
三、总结
    由oracle数据库启动过程来看,实例其实就是诸如smon、pmon、ckpt、dbwn、lgwr等进程以及这些进程需要的共享内存集合,具有生命周期。数据库就是物理文件(控制文件、数据文件、重做日志文件、参数文件等)的组合。一个实例只能加载一个数据库。在rac中,一个数据库可以被多个实例连接。所以实例和数据库还是有区别的。
阅读(1897) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册