oracle OCP认证学习日志(2)

来源:互联网 发布:芬琳漆怎么样 知乎 编辑:程序博客网 时间:2024/05/22 04:32

1.3 单实例体系结构

1.3.1单实例数据库体系结构

         实例由内存结构和进程组成。它暂时存在于RAM和CPU中。当关闭运行的实例时,实例将消失得无影无踪,数据库由磁盘上的物理文件组成,不管是在运行状态还是停止状态下,这些文件都一直存在。因此,实例的生命周期就是其在内存中存在的时间,可以启动和停止它。相对而言,一旦创建数据库,数据库将永久存在(直到特意删除与数据库相关的文件为止)。

        构成实例的进程称为后台进程,因为在实例处于活动状态时,它们始终存在并在运行。这些进程在很大程序度上完全实现自我管理,当然,在某些情况下,DBA可以影响进程数量及操作。

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

      用户会话由在用户计算机本地运行的用户进程组成。用户进程与服务器进程的连接一般经由局域网实现,并使用位于行业标准协议上的ORACLE的专用Oracle Net协议。服务器进程有时称为前台进程,与每个服务器进程相关的是一个非共享内存区,即程序全局区(PGA)。      11G中的内存管理可完全自动完成:DBA只需指定SGA和PGA总体的内存分配,并让ORACLE按其认定的最佳方式管理内存,DBA也可以自己控制内存分配。有一种折中的技术,即由DBA定义一些自动管理时的限制。

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

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

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

     RDBMS标准的要求是:数据库不得丢失数据。这意味着,必须备份数据,另外,备份之间对数据所做的任何变更以一定的方式进程捕获,以便可以将它们应用于已还原的备份中。这是一个前向恢复过程,ORACLE通过重做日志实现了对变更的捕获。重做日志是对应用于数据的所有变更向量的一系列的记录。变更向量是DML语句所做的更改。每当用户会话执行任何更改时,数据块中的数据本身会发生变化,变更向量会以可重复的格式写到重做日志中。在数据文件受到损坏时,可以还原文件备份,而且ORACLE将从重做日志提取相关变更向量,并将其应用于文件的数据块中。

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

   总结一下可知,单实例数据库的体系结构由4个交互组件构成:

     a.  用户与用户进程交互。

     b.用户进程与服务器进程交互。

     c. 服务器进程与实例交互。

      d.实例与数据库交互。


1.3.2分布式系统体系结构

        在单实例环境中,一个实例打开一个数据库。而在分布式环境中,有多种组合实例与数据库的方式。主要有如下几种:

        a.实时应用群集(Real Application Cluster, RAC),多个实例打开一个数据库。

        b.流,多个Oracle服务器相互之间传播事务。

         c.数据保护,主数据库更新备用数据库。

        如果将这些方式整合一起,那么将得到这样一个系统:实现100%正常运行时间和0%数据丢失的目标,获得无限的扩展性和性能。


   1 实时应用群集(RAC)

       RAC 能带来卓越的性能,容错性和扩展性,也有助于降低成本,是Oracle网络概念不可或缺的一部分。一个实例可能出现故障,通过另一台计算机上的实例,用户仍然可以访问数据库。针对失败实例的话可以针对生存实例重新建立,而最终用户不知道任何中断情况。

     2 流

     在许多环境下,需要将数据从一个数据库传输到另一个数据库。容错是原因之一:如果一个组织有两个或多个设在不同地点的数据库,这些数据库包含相同的数据,在任何时间,用户都可以访问它们。此时,无论一个站点发生了什么故障,工作都可以在另一个站点上继续进行,而不会发生中断。另一个原因是调整·可以将两个数据库配置为执行不同类型的工作,如事务处理数据库和数据仓库,使数据库同步必须完全自动完成,在任一站点做的所有更改需要实时或接近实时地传播给另一个站点。

      流可以是双向的:两个或多个站点有相同的表,在每个站点执行的所有用户事务都传播到和应用于其他站点。

     3 数据保护

      数据保护系统有一个主数据库,事务将针对此数据库执行,还有一个或多个备用数据库,用于容错或处理查询。备用数据库人从主数据库的备份实例化,并使用有所有应用于主数据库的更改进行更新。

     备用数据库有两种形式。“物理备用数据库”与主数据库连一个字节都不差,以便实现数据损失为零的目标。即使主数据库完全损坏,也可以使用备用数据库上的所有数据。应用于主数据库的变更向量以重做记录的形式传播给物理备用数像是恢复了还原的备份数据库一样。"逻辑备用数据库“与主数据库的数据是的,但数据结构可能不同,通常用于查询处理。主数据库拥有针对事务处理优化的数据结构,而逻辑备用数据库拥有针对数据仓库类型工作优化的结构。使逻辑备用数据库与主数据库同步的变更微量以SQL语句的形式,使用流机制进行传播。




0 0