zoukankan      html  css  js  c++  java
  • Oracle 体系结构一 概述

    Oracle服务器由两个实体组成:实例和数据库。

    实例由内存结构和进程组成。 它暂时存在于RAM和CPU中。当关闭运行的实例时,实例将消失的无影无踪。

    数据库由磁盘上的文件组成。不管在运行状态还是停止状态下,这些文件都一直存在。

    在Oracle服务器上,从物理存储中完全抽象出了逻辑存储。程序员看到的逻辑结构(例如表)不直接与系统管理员看到的物理结构(数据文件)相关。两者的关系由控制文件和数据字典中的结构来维护。

    在操作系统提供的共享内存段实现的内存结构称为系统全局区(system global area,SGA)。SGA在实例启动时分配,在关闭时释放。在一定范围内,可以在实例运行时通过自动方式或相应DBA的指令,重新调整12c实例中的SGA及其中的组件的大小。

    用户会话由在用户计算机本地运行的用户进程(连接到在服务器实例上运行的服务器进程)组成。用户进程与服务器进程的连接一般经由局域网实现,并使用Oracle专用的Oracle Net协议。

    服务器进程有事称为前台进程(与构成实例的后台进程相对)。与每个服务器进程相关的是一个非共享内存区,即程序全局区(program global area,PGA)。与系统全局区(可用于所有前台和后台进程)不同,此区是会话专用的。注意,后台进程也拥有PGA。任一会话的PGA的大小将根据任一时间的会话的内存需要而异。DBA可以定义所有PGA总量的上限,而Oracle动态管理PGA对会话的分配情况。

    12c中的内存管理可完全自动完成:DBA只需要指定SGA和PGA总体的内存分配,并让Oracle按其认定的最佳方式管理内存。DBA也可以自己控制内存分配,或DBA定义一些实施自动管理时的限制。

    SGA内存由所有后台和前台进程共享,PGA内存仅供分配到的会话的前台进程访问。SGA和PGA内存都可以实现自动管理。

    构成Oracle数据库的物理结构是数据文件、联机重做日志文件和控制文件。从物理存储抽象出逻辑存储,是关系数据库管理(RDBMS)标准的一部分。实际上,可以确定表在什么地方(甚至是表中的一行在什么地方),但不能通过标准SQL来确定。数据库管理员可以使用一些工具来确定位置。

    数据存储在数据文件中。数据文件的数量或大小并无实际限制,从物理存储抽象出逻辑存储意味着,可以在应用程序开发人员不知情的情况下移动数据文件、调整数据文件的大小,以及添加更多数据文件。物理结构和逻辑结构之间的关联在数据字典中维护和记录,数据字典包含用来描述整个数据库的元数据。通过查询数据字典中的某些视图,DBA可以准确地确定每个表的每个部分的位置。

    数据字典是存储在数据库中的一组表。此处存在一个递归问题:实例需要了解数据库的物理和逻辑机构,但描述这些的信息本身位于数据库中。此问题的解决方案是分阶段启动进程。

    Oracle通过重做日志实现了对变更的捕获。重做日志是对应用于数据的所有变更向量(change vector)的一系列的记录。变更向量是DML语句所做的更改。每当用户会话执行任何更改时,数据块中的数据本身会发生变化,变更向量会以可重复的格式写到重做日志中。在数据文件受到损坏时,可以还原文件备份,而且Oracle将从重做日志提取相关变更向量,并将其应用于文件的数据块中。

    控制文件存储数据库物理结构的详细信息,并且是链接到逻辑结构的起点。当某个实例打开数据库时,它首先要读取控制文件,通过使用控制文件中的信息,实例可以连接到数据库的其余部分及其中的数据字典。

    单实例数据库的体系结构由4个交互组件构成:

    • 用户与用户进程交互。
    • 用户进程与服务器进程交互。
    • 服务器进程与实例交互。
    • 实例与数据库交互。
  • 相关阅读:
    解决Sqlite Developer过期的最简单办法(转自百度经验)
    (转)解决!Visual Studio 遇到了异常。这可能是由某个扩展导致的。
    【转】VC中的class“std::vector<_Ty>”需要有 dll 接口由 class“Test”的客户端使用错误
    切换日语输入法找不到MicrosoftIME键盘选项了
    ps如何拆分图片
    码农应该注意保持的习惯
    "指定的文件格式无法识别或为不支持的二进制"
    编译FlashDemo遇到问题:Error "pFlashUI未定义的标识符"
    GridView,GridLayout
    Android,ArrayList,List,Set等
  • 原文地址:https://www.cnblogs.com/zhaochunyi/p/10613061.html
Copyright © 2011-2022 走看看