Oracle - 数据库的组成简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013379717/article/details/79870488

   Oracle数据库是一个关系数据库管理系统(RDBMS),数据库服务器由一个数据库和至少一个实例组成。

    

一、数据库

    数据库是一组位于磁盘上的文件,用于存储数据。数据库具有物理结构和逻辑结构。

    1、物理结构
        物理存储结构是存储在磁盘空间中,在操作系统级别上可以被列出的文件系统中的文件,物理存储结构包括数据文件(Data Files),控制文件(Control Files)、重做日志文件(Online Redo Log)等:
            数据文件在每个数据库都有一个或多个,用于将所有逻辑数据结构的如表和索引等数据物理存储在数据文件中;
            控制文件是仅与一个数据库关联的小型二进制文件,用来定位数据库文件并跟踪数据库的结构变化;

            重做日志文件可以防止数据丢失,能够使数据库在实例发生故障后恢复尚未写入数据文件的提交数据;

    2、逻辑结构
        逻辑存储结构为数据库中的所有数据分配的逻辑空间,是存储诸如表和视图之类的仅对数据库有意义的逻辑数据,逻辑存储结构包括数据块(data block),扩展区(extent),段(segment)和表空间(tablespace):
            数据块是数据库中可以分配和使用的最小的逻辑单元;一个逻辑数据块对应于物理磁盘空间的特定字节数如2kb;
            扩展区是一组用于存储特定类型信息的逻辑连续的数据块;
            段是为特定数据库对象(例如表)分配的一组扩展区;每个段都只属于一个表空间,但是一个段可以包含来自多个数据文件的扩展区;
            表空间是包含一个或多个段的数据库存储单元;
    
二、实例    

    实例是一组管理数据库文件的内存结构,由一个共享内存区域(SGA)和一批后台进程组成,用于管理数据库的相关数据并为用户提供服务。

    1、进程组成
        实例包含多个进程或与多个进程交互,进程分为客户端进程(Client Process)和Oracle进程,Oracle进程又分为后台进程(Background Process)和服务器进程(Server Processes)以及从属进程:
            客户端进程运行用户的应用程序或Oracle的工具代码如SQL*Plus,向数据库发出SQL语句;每个客户端进程都与它自己的服务器进程相关联
            后台进程与数据库实例一同启动并执行维护任务,如实例恢复,清理进程,将重做缓冲区写入磁盘等
            服务器进程基于客户端的请求执行工作,如解析SQL查询并放入共享池,创建和执行查询计划,从数据库缓冲区缓存或磁盘读取数据块等

            从属进程为后台进程或服务器进程执行其他任务

    2、内存结构
        数据库为程序代码、用户之间共享的数据以及每个连接用户私有的数据创建和使用内存结构,这些内存结构包括系统全局区域(SGA)、进程全局区域(PGA)、用户全局区域(UGA)和软件代码区域:   
            SGA是一组共享内存区域,包含一个数据库实例的相关数据和控制信息
            PGA是一个私有内存区域,包含服务器进程或后台进程的相关数据和控制信息

            UGA是与用户会话关联的内存区域

猜你喜欢

转载自blog.csdn.net/u013379717/article/details/79870488