ITPub博客

首页 > 数据库 > Oracle > Oracle体系结构I

Oracle体系结构I

原创 Oracle 作者:糖糖TJ 时间:2015-07-22 20:23:42 0 删除 编辑

    Oracle服务器结构

  【学习目标】

作为一个数据库管理员(DBA),经常会遇到各种没有见过的问题。除了宝贵的经验外,通过理论基础去对问题进行判断、解决是至关重要的。因此,Oracle服务器的结构和组成是学习Oracle数据库必不可少的基础知识,所以本章内容对于学习以后章节的内容都是至关重要的。

本章主要介绍Oracle服务器的结构和组成,对Oracle服务器从实例结构和数据库结构两个方面予以分析。

【本章要点】

<!--[if !supportLists]--> <!--[endif]-->Oracle服务器的总体结构

<!--[if !supportLists]--> <!--[endif]-->Oracle实例的内存结构和进程结构

<!--[if !supportLists]--> <!--[endif]-->Oracle数据库的结构和组成

  【关键术语】

  Architecture 结构                    Component  组成部件 

  Process 进程                         Parameter 参数  

  Instance  实例                        Memory 内存

  Database buffer cache 数据库高速缓存  Shared pool 共享池

  Library cache 库缓存                 Data dictionary cache 数据字典缓存

  Redo log buffer 重做日志缓存          Large pool 大池

  Java pool  java池                   Background process 后台进程

  Connection  连接                      Session 会话   

  Online redo log 联机重做日志          Dynamic 动态的  

  SGA(System Global Area) 系统全局区   PGA(Program Global Area)程序全局区

  Server process 服务器进程             User process 用户进程

  Parsing 分析

<!--[if !supportLists]-->一、<!--[endif]-->Oracle服务器的构成

Oracle服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一个高效的SQL语句执行环境。

Oracle服务器具备以下的特点:

<!--[if !supportLists]--> <!--[endif]-->能够可靠的进行多用户环境下大量数据的处理,允许多用户同时访问相同的数据。

<!--[if !supportLists]--> <!--[endif]-->保证数据访问的高性能。

<!--[if !supportLists]--> <!--[endif]-->有效防止对数据的非法访问。

<!--[if !supportLists]--> <!--[endif]-->对于故障恢复提供高效的解决方案。

<!--[if !supportLists]-->(一)、<!--[endif]-->Oracle服务器的总体结构

Oracle服务器同运行在操作系统下的很多程序一样,通过在后台运行一组可执行程序、在内存中开辟程序运行的存储区域并在磁盘上存储数据来进行运作。

如图1-1所示,在结构上,Oracle服务器(Oracle Server)由实例(Instance)和数据库(Database)两大部分构成。实例是一组内存结构和Oracle后台进程的集合;数据库在物理上由多个操作系统文件组成其中主要包括数据文件、控制文件和重做日志文件。

  Oracle服务器=实例+数据库。


 

 

 

 

 

 

 

 

 

 

 

 

        

图 1 Oracle服务器结构示意图

<!--EndFragment-->






<!--[if !supportLists]-->(二)、<!--[endif]-->Oracle实例

 

如图1-1所示,Oracle实例由内存结构(SGAOracle后台进程组成的。

当用户启动(start)实例时Oracle 将自动地为 SGA 分配内存并启动后台进程实例运行后,用户可以访问实例,由实例来访问数据库。实例相当于用户和数据库的中间层。 当用户关闭(shut down实例时由操作系统负责回收内存。每个实例都有自己的 SGA,并且,每个实例同时只能访问一个数据库

 

Oracle数据库实例(Instance) 内存结构(SGA) 后台进程(Background Process)。

 

内存结构描述的是Oracle数据库对内存的使用构成。Oracle内存结构被总称为SGASystem Global Area),主要包括数据库高速缓冲区(Database Buffer Cache)、重做日志缓冲区(Redo Log Buffer)和共享池(Shared Pool)三个部分。

 

Oracle后台进程主要包括DBWnCKPTLGWRSMONPMONARCnRECO

 

  

 

 

 

 

 

 

 

 

图 1-1 Oracle实例结构示意图

 

 

 

 



<!--[if !supportLists]-->(三)、<!--[endif]-->Oracle数据库

 

如图1-2所示,Oracle数据库包含了用于存放数据的数据文件(DataFiles),用于保护数据不丢失的联机重做日志文件Online Redolog Files用于连接Oracle实例和数据库所需要的控制文件(Control Files)。

 

Oracle数据库 = 数据文件 + 控制文件 + 联机重做日志文件。

 

除了以上三种文件之外,Oracle还包含了参数文件(Parameter File)、口令文件(Password File)、归档日志文件(Archived log Files)、以及跟踪文件(Trace File)和警告文件(Alert Log File)等非数据库文件。

 

 

 

 

 

 

 

 

 

 

图 1-2 Oracle数据库结构示意图

 

控制文件:记录了数据库的各项信息,是连接Oracle实例和Oracle数据库的桥梁。

  每个Oracle数据库包含1-8个控制文件。

联机重做日志文件:记录了用户对数据的各项操作,用于保护数据不丢失。

  以日志组的形式存在。每个Oracle数据库至少包含两个日志组。

数据文件:用于存放数据。

参数文件:记录了Oracle实例的各项信息。分为动态和静态初始化参数文件。

口令文件:存放特定用户的口令。

归档日志文件:相当于联机重做日志文件的备份,用于保护数据不丢失。

追踪文件:存放后台进程和服务器进程的跟踪信息

警告文件:警告文件由连续的消息和错误组成。

  可以查看到Oracle内部错误、块损坏错误以及非默认的初始化参数值等。

 

 <!--EndFragment--><!--EndFragment-->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29781254/viewspace-1744931/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle体系结构II
请登录后发表评论 登录
全部评论

注册时间:2014-08-01

  • 博文量
    27
  • 访问量
    37325