精华内容
下载资源
问答
  • 2021-08-02 21:41:57

    考查对数据库系统的认识

    问:
        能给出数据库物理存储结构和物理存取方法的是什么?
        a.内模式
        b.外模式
        c.概念模式
        d.逻辑模式
        
    解析:
        求职者应该掌握数据库三级模式,
        为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据所设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,包括外模式、模式和内模式,根据对象不同,又可分为面向用户或应用程序员的用户级、面向建立和维护数据库人员的概念级、面向系统程序员的物理级。
        用户级对应外模式,概念级对应模式,物理级对应内模式,使不同级别的用户对数据库形成不同的视图。所谓视图,就是指不同用户观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中”的反映。很显然,不同级别用户所“看到”的数据库是不相同的。

        1.模式
            模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。它是由数据库管理系统提供的数据模式描述语言(Data Description Language,DDL)来描述、定义的,反映了数据库系统的整体观。

        2.外模式
            外模式又称子模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language, DML)对这些数据进行记录。外模式反映了数据库的用户观。

        3.内模式
            内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式的物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
            在一个数据库系统中,只有唯一的数据库,因而作为定义、描述数据库存储结构的内模式和定义、描述数据库逻辑结构的模式,也是唯一的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式不是唯一的, 也不可能是唯一的。

        4.三级模式间的映射
            数据库的三级模式是数据库在3个级别(层次)上的抽象,使用户能够逻辑、抽象地处理数据,而不必关心数据的物理表示和存储。实际上,对于一个数据库系统而言,物理级数据库是客观存在的,是进行数据库操作的基础,概念级数据库中不过是物理数据库的一种逻辑的、抽象的描述(即模式),用户级数据库则是用户与数据库的接口,它是概念级数据库的一个子集(外模式)。
            用户应用程序根据外模式进行数据操作,通过外模式——模式映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变;另一方面,通过模式——内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式内模式映射,就能保持模式不变,因此应用程序也可以保持不变。

    答:
        a

    更多相关内容
  • 物理存储结构
  • 1、 物理存储结构 1.1 oracle数据文件 数据文件是保存Oracle数据的操作系统文件。 数据文件由头部、区间(已分配的空间)和空闲空间(未分配的空间)组成。 头部:将数据文件标识为数据库的一部分;存储了数据文件所属的...

    1、 物理存储结构
    1.1 oracle数据文件
    数据文件是保存Oracle数据的操作系统文件。
    数据文件由头部、区间(已分配的空间)和空闲空间(未分配的空间)组成。
    头部:将数据文件标识为数据库的一部分;存储了数据文件所属的表空间和最后执行的检查点等细节。
    每个oracle数据文件都只属于一个表空间,并且由若干操作系统块组成。
    1.2 操作系统块
    操作系统块是文件系统所使用的最小分配单位。
    操作系统块的容量最好与oracle数据块的容量相同。
    2、 逻辑存储结构
    2.1表空间
    表空间类型:SYSTEM类型和非SYSTEM类型
    SYSTEM类型包括SYSTEM和SYSAUX表空间;SYSTEM包含数据字典。
    表空间内容:永久段、临时段和撤销段。
    永久段:表和索引等
    临时段:排序段和临时表数据等
    撤销段:撤销数据
    2.2段
    段是数据库中要求存储的对象。
    视图不是段,因为视图不存储数据。
    查询段类型的方法:
    Select distinct segment_type from dba_segments;
    2.3区间
    区间是为某个段分配的若干临近数据块的集合。
    区间的管理:本地管理和字典管理
    本地管理:位图管理。此管理方式效率更高。
    字典管理:通过区间的分配和解除分配来更新数据字典中的一个表。工作量会很大。
    2.4数据块
    数据块是数据库内I/O最小单位。
    3、 创建与管理表空间
    3.1创建表空间
    Create tablespace demo
    Datafile ‘ O R A C L E B A S E / o r a d a t a / d e m o 0 1 d b f ’ s i z e 10 m ; 这 条 命 令 的 工 作 内 容 : 物 理 创 建 数 据 文 件 ; 创 建 表 空 间 ; 更 新 控 制 文 件 和 数 据 字 典 ; 为 新 的 表 空 间 设 置 默 认 值 。 如 果 创 建 表 空 间 时 , 数 据 文 件 存 在 的 话 , 则 使 用 r e u s e 选 项 。 3.2 修 改 表 空 间 A l t e r t a b l e s p a c e 3.3 删 除 表 空 间 D e l e t e t a b l e s p a c e d e m o i n c l u d i n g c o n t e n t s c a s c a d e c o n s t r a i n t s ; 然 后 手 动 删 除 数 据 文 件 。 4 、 查 看 表 空 间 的 信 息 数 据 字 典 : d b a t a b l e s p a c e s , d b a d a t a f i l e s , d b a t e m p f i l e s 动 态 视 图 : v ORACLE_BASE/oradata/demo01_dbf’ size 10m; 这条命令的工作内容:物理创建数据文件;创建表空间;更新控制文件和数据字典;为新的表空间设置默认值。 如果创建表空间时,数据文件存在的话,则使用reuse选项。 3.2修改表空间 Alter tablespace 3.3删除表空间 Delete tablespace demo including contents cascade constraints; 然后手动删除数据文件。 4、 查看表空间的信息 数据字典:dba_tablespaces,dba_data_files,dba_temp_files 动态视图:v ORACLEBASE/oradata/demo01dbfsize10m;使reuse3.2Altertablespace3.3Deletetablespacedemoincludingcontentscascadeconstraints;4dbatablespaces,dbadatafiles,dbatempfilesvtablespace,v d a t a f i l e , v datafile,v datafile,vtempfile
    查询如下:
    select a.name, b.name, c.name
    from v t a b l e s p a c e a , v tablespace a, v tablespacea,vdatafile b, v$tempfile c
    where a.ts#=b.ts# or a.ts#=c.ts#;

    展开全文
  • 物理存储结构

    千次阅读 2016-11-25 08:54:50
    物理存储结构简介RDBMS 的特点之一是逻辑数据结构(如表、 视图和索引)与物理存储结构的独立性。由于物理结构和逻辑结构是分开的,您可以管理数据的物理数据存储,而不会影响对逻辑结构的访问。例如,重命名数据库...

    物理结构可以在操作系统级别查看。

    物理存储结构简介

    RDBMS 的特点之一是逻辑数据结构(如表、 视图和索引)与物理存储结构的独立性。由于物理结构和逻辑结构是分开的,您可以管理数据的物理数据存储,而不会影响对逻辑结构的访问。例如,重命名数据库文件并不会重命名存储在其中的表。

    Oracle 数据库是在持久性的磁盘存储中存储的一组 Oracle 数据文件。此部分讨论您发出CREATE DATABASE语句时生成的数据库文件:

     数据文件和临时文件

    数据文件是磁盘上的一个物理文件,由Oracle 数据库创建,并包含如表和索引之类的数据结构。临时文件是一个属于临时表空间的数据文件。数据按Oracle 专有格式写入这些文件,且不能由其他程序读取

     控制文件

    控制文件是一个跟踪数据库的物理组件的根文件

     联机重做日志文件

    在线重做日志是一组包含对数据所做的更改记录的文件。

    数据库实例是一组管理数据库文件的内存结构。图 11-1 显示实例和它所管理的文件之间的关系。

    这里写图片描述

    用于存储数据库文件的机制

    有几种机制可用于分配和管理这些文件的存储。最常见的机制包括:

     Oracle 自动存储管理(Oracle ASM)

    Oracle ASM 包括被专门设计用来供Oracle 数据库使用的文件系统。

     操作系统文件系统

    大多数 Oracle 数据库在文件系统中存储文件,这是建立在一个连续的磁盘地址空间内的数据结构。所有操作系统都有文件管理器,用于在文件系统中为文件分配和释放磁盘空间

    文件系统可以将磁盘空间分配给多个文件。每个文件都有一个名称,并对应用程序(如 Oracle 数据库)显示为一个连续地址空间。数据库可以创建、 读取、 写入、 调整大小、和删除文件。

    文件系统通常是由称为逻辑卷管理器 (LVM)的软件包创建,并建立在逻辑卷的基础上。LVM 使多个物理磁盘被合并到一个单一的连续地址空间,对上层软件显示为一块磁盘

     原始设备

    原始设备是一些磁盘分区,或未使用文件系统格式化的逻辑卷。原始设备的主要好处是能够执行直接 I/O 操作,并按更大的缓冲区写入。对于直接 I/O, 应用程序直接向存储设备写入或从存储设备读取,绕过操作系统缓冲区高速缓存。

    注意:

    现在许多文件系统都支持数据库和其他应用程序的直接 I/O,让它们自己管理自己的缓存。历史上,原始设备曾被作为实施直接 I/O 的唯一手段。

    集群文件系统

    集群文件系统是使多台计算机共享文件存储,同时保持一致的空间分配和文件内容的软件。在 Oracle RAC 环境中,集群文件系统使共享存储显示为在集群环境中由多台计算机共享的文件系统。在集群文件系统中,单个集群中的计算机失败不会使文件系统不可用。而在操作系统文件系统中,倘若某个通过 NFS 或其他手段共享文件的计算机失败,则文件系统会变得不可用。

    数据库可以采用前面的某些存储机制的组合。例如,数据库可以将控制文件和联机重做日志文件存储在传统的文件系统中,将某些用户数据文件存储在原始分区上,剩余的数据文件存储在 Oracle ASM 中,而归档重做日志文件存储到集群文件系统。

    Oracle 自动存储管理 (Oracle ASM)

    Oracle ASM 是一个针对 Oracle 数据库文件的高性能、 易管理的存储解决方案。Oracle ASM 是一个卷管理器,并提供一个专为数据库使用而设计的文件系统
    Oracle ASM 提供几个超越传统文件系统和存储管理器的优势,包括以下这些:

     简化了与存储相关的任务,如创建数据库、规划数据库文件布局、和管理磁盘空间

     跨物理磁盘分布数据,以消除热点,并提供均匀的磁盘性能

     在存储配置更改后自动平衡数据

    若要使用 Oracle ASM,你需要为Oracle 数据库分配磁盘分区,最好是经过条带化和镜像的。Oracle ASM 会管理磁盘空间,跨所有可用资源分配 I/O 负载,以优化性能,同时消除了手动优化 I/O的需要。例如,你可以为数据库增加磁盘大小,或将数据库的某些部分移动到新设备,而不必关闭数据库。

    Oracle ASM 存储组件

    Oracle 数据库可以将数据文件存储为一个Oracle ASM 磁盘组中的Oracle ASM 文件,Oracle ASM磁盘组是一个磁盘的集合,被Oracle ASM作为一个单元来管理。在一个磁盘组内, Oracle ASM 为数据库文件提供了一个文件系统接口。

    图 11-2 显示了一个使用 Oracle ASM的数据库中的存储组件之间的关系。虽然 Oracle ASM 可以存储其他类型的文件,该图只描述了一个 Oracle ASM 文件和数据文件之间的关系。乌鸦脚表示法表示一对多关系。

    这里写图片描述

    图 11-2 说明了以下Oracle ASM 概念:

     Oracle ASM磁盘

    Oracle ASM 磁盘是提供给一个 Oracle ASM 磁盘组的存储设备。Oracle ASM 磁盘可以是某个存储阵列的物理磁盘、分区、逻辑单元号 (LUN) , 或是一个逻辑卷或网络附加文件。

    Oracle ASM 磁盘,可以当数据库正在运行时,被添加到磁盘组,或从磁盘组中删除。当你向磁盘组中添加一个磁盘时,您可以为磁盘指定一个名称,否则会自动被赋予一个 Oracle ASM 磁盘名称。

     Oracle ASM磁盘组

    Oracle ASM磁盘组是一组Oracle ASM 磁盘的集合,被作为一个逻辑单元来管理。在磁盘组中的数据结构是自包含的,并会在磁盘组中消耗一些磁盘空间。

    在一个磁盘组内, Oracle ASM 为数据库文件提供了一个文件系统接口。存储在磁盘组中的文件的内容被均匀分布或条带化,以消除热点,并为所有磁盘提供均匀的性能。其性能与原始设备的性能相差无几。

     Oracle ASM文件

    Oracle ASM 文件是一个存储在Oracle ASM 磁盘组中的文件。Oracle 数据库按文件与 Oracle ASM 进行通信。数据库可以将数据文件、 控制文件、 联机重做日志文件、和其他类型的文件存储为Oracle ASM 文件。当数据库要创建一个文件时, Oracle ASM 创建一个 Oracle ASM 文件,并分配一个以加号 (+)和磁盘组名称开头(如+ DISK1)的完全限定名称。

    注意:

    Oracle ASM 文件可以与原始磁盘和第三方文件系统等其他存储管理选项共存。此功能简化了将Oracle ASM 集成到现有环境的过程。

     Oracle ASM扩展区

    Oracle ASM 扩展区是用于容纳 Oracle ASM 文件内容的原始存储。一个 Oracle ASM 文件包含一个或多个文件扩展区。每个 Oracle ASM 扩展区是由特定的磁盘上的一个或多个分配单元组成的。

    注意:

    Oracle ASM扩展区与用于在段中存储数据的扩展区不同。

     Oracle ASM分配单元

    分配单元是磁盘组中空间分配的基本单位。分配单元是由Oracle ASM 分配的最小连续磁盘空间。由一个或多个分配单元形成一个 Oracle ASM 扩展区。

    Oracle ASM实例

    Oracle ASM 实例是一个专门用于管理 Oracle ASM 磁盘的Oracle 实例。ASM实例和数据库实例都需要对ASM 磁盘组中的磁盘的共享访问。ASM 实例管理磁盘组的元数据,并提供对数据库实例的文件布局信息。数据库实例直接与 ASM 磁盘进行I/O ,而不需要通过 ASM 实例。

    ASM 实例与数据库实例建立在相同的技术架构之上。例如,与数据库实例类似, ASM 实例也有一个系统全局区域 (SGA) 和多个后台进程。但是,ASM 实例无法装载数据库,并且比数据库实例执行的任务更少。

    图 11-3 显示了具有一个 Oracle ASM 实例和两个数据库实例的单节点配置,每个数据库实例与一个不同的单实例数据库相关联。ASM 实例管理元数据,并为用于这两个数据库存储数据的 ASM 文件提供空间分配。其中一个 ASM 磁盘组有四个 ASM 磁盘,而另一个磁盘组有两个磁盘。这两个数据库实例可以访问所有磁盘组

    这里写图片描述

    Oracle 管理的文件和用户管理的文件

    Oracle 管理的文件是一种命名策略,使您能够按数据库对象而不是按文件名称来指定操作。例如,您可以创建一个表空间,而无需指定其数据文件的名称。这样一来,Oracle 管理的文件不需要管理员直接管理数据库中的操作系统文件。Oracle ASM 需要使用Oracle 管理的文件。

    注意:

    此功能不会影响诸如跟踪文件、审计文件、和警报日志等管理性文件的创建或命名。

    你可以使用用户管理的文件来直接管理数据库中的操作系统文件。由你来决定关于文件的结构和命名。例如,当创建表空间时,由您设置表空间数据文件的名称和路径。

    通过初始化参数,您可以指定一个特定类型文件的文件系统目录。Oracle 管理的文件特性可确保数据库能创建具有唯一名称的文件,并在不再需要时删除它。数据库在内部使用标准文件系统接口来创建和删除文件,如数据文件、临时文件、 控制文件、和存储在快速恢复区中的与恢复相关的文件等。

    Oracle 管理的文件并不消除现有的功能。您可以创建新的文件,并手动管理旧文件。因此,数据库可以混合使用Oracle 管理的文件和用户管理的文件

    数据文件的概述

    在操作系统层面, Oracle 数据库将数据库数据存储在数据文件中。每个数据库必须至少有一个数据文件。

    使用数据文件

    在第一部分,Oracle 关系数据结构中讲述了用于存储用户数据的逻辑结构,其中最重要的是表。每个非分区模式对象和每个对象的分区都存储在其自己的段中。

    为便于管理, Oracle 数据库在表空间中为用户数据分配空间。与段类似,表空间也是逻辑存储结构。每个段只属于一个表空间。例如,非分区表的数据存储在单个段中,最终也存储在一个表空间中。

    Oracle 数据库将表空间中的数据在物理上存储为数据文件。表空间和数据文件密切相关,但又有重要区别:

     每个表空间包含一个或多个数据文件,这需要遵从运行 Oracle 数据库的操作系统

     数据库数据被集中地存储在位于每个数据库表空间的数据文件中。

     段可以跨越一个或多个数据文件,但它不能跨多个表空间。

     数据库必须有SYSTEM表空间和SYSAUX表空间。Oracle 数据库自动在数据库创建过程中为SYSTEM表空间分配数据库的第一个数据文件。

    SYSTEM表空间包含数据字典,它是包含数据库元数据的一组表。通常,数据库也有一个撤销表空间和临时表空间 (通常称为 TEMP)。

    图 11-4 显示了表空间、 数据文件、和段之间的关系。

    这里写图片描述

    永久和临时数据文件

    永久表空间中包含持久性的模式对象。永久表空间中的对象存储在数据文件中。

    临时表空间中仅包含用于会话期间的模式对象。本地管理的临时表空间具有临时文件,它是被设计用于存储在哈希、 排序、和其他操作使用的数据的特殊文件临时文件还用于存储在内存中的空间不足时的结果集数据

    临时文件类似于永久数据文件,但有以下例外情况:

     永久性数据库对象(如表)绝不会存储在临时文件中。

    临时文件始终被设置为NOLOGGING模式,这意味着永远不会为其生成重做。介质恢复不识别临时文件

     你不能将临时文件置为只读模式。

    你无法使用 ALTER DATABASE 语句来创建一个临时文件

     当你创建临时文件或调整其大小时,并不能始终保证会为他们分配指定文件大小的磁盘空间。在 Linux 和 UNIX 等的文件系统上,临时文件被创建为稀疏文件。在这种情况下,磁盘块并不是在文件的创建或调整大小时分配的,而是在块第一次被访问时分配的。

    警告:

    稀疏文件使你能够快速地创建临时文件或调整其大小 ;但是,当之后访问临时文件时,可能会超出磁盘空间

    临时文件信息显示在数据字典视图 DBA_TEMP_FILES和动态性能视图 V$TEMPFILE中,但不在DBA_DATA_FILES或V$DATAFILE视图中。

    联机和脱机数据文件

    每个数据文件可能是联机的(可用) 或脱机的(不可用)。可以通过让单个数据文件或临时文件脱机或联机,来改变其可用性。脱机的数据文件不能被访问,直至他们恢复联机状态。

    管理员因为很多原因将数据文件脱机,包括执行脱机备份、重命名数据文件、或数据块破坏。如果数据库无法写入数据文件,则数据库自动将其脱机

    与数据文件类似,表空间本身也可以是脱机的或联机的。当你将一个联机表空间中的数据文件脱机时,表空间本身将仍保持联机状态。您可以将整个表空间脱机,来使该表空间中的所有数据文件暂时不可用。

    数据文件结构

    Oracle 数据库通过分配指定数量的磁盘空间,加上数据文件头开销,来为表空间创建数据文件。在Oracle 数据库之下运行的操作系统,负责在将文件分配给数据库之前,从文件中清除旧信息和授权

    数据文件头包含数据文件的元数据,例如数据文件大小和检查点SCN。每个文件头包含一个绝对文件号和一个相对文件号。绝对文件号唯一地标识数据库内的数据文件。相对文件号唯一地标识表空间内的数据文件。

    当Oracle 数据库刚创建一个数据文件时,分配的磁盘空间已格式化,但不包含任何用户数据。但是,数据库会保留此空间,将来用于容纳其相关联的表空间中的数据段。随着表空间中的数据增长,Oracle 数据库将用数据文件中的可用空间来为段分配扩展区。

    图 11-5 说明了数据文件中不同类型的空间。扩展区要么是已使用的,意味着他们包含段数据,或是空闲的,意味着它们是可重用的随时间的流逝,表空间中的对象不断更新和删除,会产生很多小的空白空间,但太小不足以被重用以容纳新数据。这种类型的空白空间称为碎片化的可用空间

    这里写图片描述

    控制文件的概述

    数据库控制文件是一个小的二进制文件,仅与一个数据库相关联。每个数据库有一个唯一的控制文件,尽管它可能维护多个相同的拷贝。

    使用控制文件

    控制文件是Oracle 数据库用来查找数据库文件,并从总体上管理数据库状态的根文件。控制文件包含以下信息:

     数据库名称和数据库唯一标识符(DBID)
     创建数据库的时间戳
     有关数据文件、 联机重做日志文件、和归档重做日志文件的信息
     表空间信息
     RMAN备份

    控制文件用于以下目的:

     它包含有关数据文件、 联机重做日志文件等为打开数据库所需的信息。

    控制文件跟踪数据库的结构变化。例如,当管理员添加、 重命名、或删除数据文件或联机重做日志文件时,数据库将更新控制文件以反映此更改。

     它包含未打开数据库时必须可访问的元数据。

    例如,控制文件中包含,包括检查点在内的用于恢复数据库所需的信息。检查点指示在重做流中进行实例恢复所需的起始SCN(见”实例恢复概述”)。每一个检查点SCN之前提交的更改被确保已保存到磁盘上的数据文件中。至少每隔三秒,检查点进程会在控制文件中,记录有关联机重做日志中的检查点位置

    在数据库使用期间, Oracle 数据库不断读取和写入控制文件,并且只要数据库处于打开状态,控制文件就必须是可用的,以便可以写入。例如,恢复数据库涉及从控制文件中读取数据库中包含的所有数据文件名称。其他的操作,如添加数据文件,会更新存储在控制文件中的信息。

    多个控制文件

    Oracle 数据库对同一数据库启用多个完全相同的控制文件,并同时打开和写入。通过在不同的磁盘上多路复用控制文件,数据库可以实现冗余,从而避免单点故障。

    注意:

    Oracle 建议您维护多个控制文件副本,每个都在不同的磁盘上。

    如果控制文件变得不可用,则当数据库实例尝试访问已损坏的控制文件时,会遭遇失败。当其他的当前控制文件副本存在时,可以重新装入数据库并打开,而不需进行介质恢复。如果数据库的所有控制文件都丢失了,那么,实例会失败,且需要进行介质恢复如果控制文件的当前副本不可用,而必须使用一个旧备份控制文件,则介质恢复就没那么直截了当了

    控制文件结构

    有关数据库的信息存储在控制文件的各个不同部分中。每个部分是有关数据库的某个方面的一组记录。例如,控制文件中有一个部分跟踪数据文件,并包含一个记录集合,每一个数据文件有一条记录。每个部分存储在多个逻辑控制文件块中。同一部分的记录可以跨越块

    控制文件中包含以下类型的记录:

     循环重用记录

    这些记录包含必要时可以被覆盖的非关键信息。当所有可用的记录槽用完时,数据库要么会扩展控制文件,以便为新记录腾出空间,要么会覆盖最旧的记录。其示例包括有关归档重做日志文件和 RMAN 备份的记录。

     非循环重用记录

    这些记录包含不经常更改且不能被覆盖的关键信息。其示例包括表空间、 数据文件、 联机重做日志文件、和重做线程。Oracle 数据库绝不会重用这些记录,除非从表空间中删除相应的对象。

    您可以查询动态性能视图来查看存储在控制文件中的信息。例如,您可以查询 V$DATABASE获取数据库名称和 DBID。但是,只有数据库可以修改控制文件中的信息。

    控制文件块的读取和写入不同于数据块的读取和写入。对控制文件,Oracle数据库直接从磁盘读取并写入到程序全局区(PGA)。每个进程为控制文件块分配一定的 PGA 内存。

    联机重做日志概述

    用于恢复的最关键结构是联机重做日志,它由两个或多个预分配文件组成,用于存储数据库发生的更改。联机重做日志用于记录对数据文件的更改

    使用联机重做日志

    数据库维护联机重做日志文件,以防止数据丢失。具体来说,在一个实例失败后,联机重做日志文件使Oracle 数据库可以恢复已提交但尚未写入数据文件的数据

    Oracle 数据库将每个事务同步地写入重做日志缓冲区,然后将其写入到联机重做日志。日志的内容包括未提交的事务、撤消数据、和模式和对象管理语句

    Oracle 数据库使用联机重做日志的唯一目的是为了恢复。然而,管理员可以通过 Oracle LogMiner 实用程序中的 SQL 接口,来查询联机重做日志文件 。重做日志文件是一种有关数据库活动的有用的历史信息来源。

    Oracle 数据库如何写入到联机重做日志

    数据库实例的联机重做日志称为重做线程。在单实例配置中,只有一个实例访问数据库,所以只存在一个重做线程。不过在一个Oracle 真正应用集群 (Oracle RAC) 配置中,有两个或更多实例同时访问数据库,且每个实例都有它自己的重做线程。每个实例具有其单独的重做线程可以避免对单一联机重做日志文件组的争用

    一个联机重做日志包含两个或更多联机重做日志文件。Oracle 数据库要求最少两个文件,以保证当另一个正在被归档时,总有一个始终可供写入(如果数据库是在归档模式下)。

    联机重做日志切换

    Oracle 数据库一次只使用一个联机重做日志文件来存储从重做日志缓冲区写入的记录。正在由日志写入器(LGWR) 进程写入的联机重做日志文件称为当前联机重做日志文件。

    当数据库停止向一个联机重做日志文件写入,并开始向另一个写入时,发生日志切换。通常,切换发生在当前联机重做日志文件已满,且必须继续写入时。但是,您可以配置定期日志切换,而不论当前联机重做日志文件是否已满,或者也可以手动强制日志切换。

    日志写入器以循环方式写入联机重做日志文件。当日志写入器填满最后一个可用的联机重做日志文件时,该进程又向第一个日志文件写入,如此等等,周而复始。图 11-6 说明了重做日志的循环写入。

    这里写图片描述

    图 11-6 中的数字显示了LGWR 写入到每个联机重做日志文件的顺序。当发生日志切换时,数据库为每个文件分配一个新的日志序列号,然后日志写入器便开始向新的日志写入。当数据库重复使用一个联机重做日志文件时,此文件接收下一个可用的日志序列号。

    已填充的联机重做日志文件的可重用性取决于归档模式:

     如果禁用了归档,这意味着数据库处于NOARCHIVELOG模式下,则填充的联机重做日志文件,在数据库写入器 (DBWn) 已对该日志中的更改记录执行过检查点操作并写入到磁盘后,该日志即是可重新使用的

     如果启用了归档,这意味着数据库是在ARCHIVELOG模式下,则填充的联机重做日志文件,只有在该日志中所包含的更改记录被写入数据文件,且该日志已被归档后,该日志才是可重新使用的

    在某些情况下,日志写入器可能无法重新使用某个现有的联机重做日志文件。例如,联机重做日志文件可能处于活动状态(实例恢复需要它),而不是非活动状态 (实例恢复不需要它)。另外,一个联机重做日志文件可能正处于被清除过程中。

    联机重做日志文件的多个副本

    Oracle 数据库可以在不同的位置自动维护两个或更多联机重做日志的相同副本。一个联机重做日志组包括一个联机重做日志文件及其冗余副本。每个完全相同的副本是联机重做日志组的一个成员。每个组由一个数字来定义,如组 1、 组 2等等。

    维护联机重做日志组的多个成员,可以防止重做日志的丢失。理想情况下,各个重做日志成员的位置应该在单独的磁盘上,这样单个磁盘故障不会导致整个联机重做日志的丢失。

    在图 11-7中, A_LOG1 和 B_LOG1 是组 1的两个相同的成员,A_LOG2 和 B_LOG2 是组2的两个相同的成员。每个组中的所有成员必须具有相同的大小。LGWR 同时写入组 1 (成员 A_LOG1 和 B_LOG1),然后同时写入组 2 (成员 A_LOG2 和 B_LOG2),然后又重新写入到组 1,如此等等。LGWR 永远不会同时写入不同组的成员

    这里写图片描述

    注意:

    Oracle 建议你多路复用联机重做日志。如果需要进行恢复,则日志文件丢失可能是灾难性的。当你多路复用联机重做日志文件时,数据库所执行的 I/O肯定会增加。取决于您的系统,这种额外的 I/O 可能会影响数据库的总体性能。

    归档重做日志文件

    归档重做日志文件是联机重做日志组的已填充成员的副本此文件不是该数据库的一部分,而是由该数据库生成、并被写到用户指定位置的联机重做日志文件脱机副本

    归档重做日志文件是备份和恢复策略的关键部分。您可以使用归档重做日志文件:

     恢复数据库备份
     更新备用数据库
     使用 LogMiner 实用程序获取有关数据库的历史信息

    归档即是生成一个归档重做日志文件操作。归档可以是自动的或手动的,只有在数据库处于归档模式下时才会归档。

    一个归档重做日志文件包括重做条目和联机重做日志组的相同成员的日志序列号。在图 11-7中,文件A_LOG1 和 B_LOG1是组 1的相同成员。如果数据库处于ARCHIVELOG模式下,并启用了自动归档,则归档器进程 (ARCn) 将存档这些文件之一。如果A_LOG1损坏了,则该进程可以归档 B_LOG1归档重做日志包含自您启用存档以来创建的每个日志组的副本

    联机重做日志的结构

    联机重做日志文件包含重做记录。重做记录由一组更改向量组成,每个向量描述对某数据块的一个更改。例如,对employees表中的薪水的更新,将生成一个重做记录,描述对该表的数据段块、 回滚段数据块、和回滚段的事务表的更改。

    重做记录记录了与更改相关的所有元数据,包括如下:

     更改的SCN和时间戳
     变更事务的事务 ID
     事务提交时的SCN和时间戳(如果它已提交)
     所做更改的操作类型
     被修改的数据段的名称和类型

    展开全文
  • 3、逻辑存储结构、物理存储结构

    千次阅读 2020-10-20 09:59:14
    逻辑存储结构:从逻辑的角度分析数据库的构成。 oracle存储结构是一种层次结构包括表空间、数据段、数据区、数据块。 数据块 data block:由块头、表目录、行目录、空余空间、行数据组成。 数据区 extent:由一组...

    逻辑存储结构:从逻辑的角度分析数据库的构成。
    oracle存储结构是一种层次结构包括表空间、数据段、数据区、数据块


    数据块 data block:由块头、表目录、行目录、空余空间、行数据组成。

    --查询标准数据块大小,一个数据块=4个操作系统块
    select value from v$parameter where name = 'db_block_size';
    

    数据区 extent:由一组连续的oracle数据块构成,一个或多个数据块组成一个数据区、一个或多个数据区组成一个段。
    数据区是oracle 存储分配的最小单位。一个Oracle对象只少包含一个数据区。
    段 segment:用于存储表、索引、簇等占用空间的数据对象。
    数据段、索引段、回滚段、临时段。
    表空间 tablespace:将相关逻辑结构(段、数据区)组合在一起,数据库最大的逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象(即segment),任何数据对象的创建必须制定在某个表空间中。
    表空间(逻辑结构)与数据文件(物理结构)对应,一个表空间由一个或多个数据文件组成,一个数据文件只属于一个表空间。


    物理存储结构:描述oracle数据在磁盘上的物理组成情况。
    oracle物理存储结构由多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、密码文件、警告文件等。

    --通过查询 dba_data_files或v$datafile数据字典了解Oracle系统的数据文件信息。
    select file_name,tablespace_name from dba_data_files;
    select * from v$datafile;--name
    
    --查询数据字典v$controlfile数据字典查看oracle 控制文件信息。
    select name from v$controlfile;
    
    --查询v$logfile视图查询日志文件信息,重做日志文件redo log file,归档日志文件 archive log file 
    --每个Oracle实例都启用一个日志线程来记录数据库的变化,日志线程由若干‘日志组’构成,而每个日志组又由一个或多个日志文件构成。
    select member from v$logfile; 
    
    --查询v$parameter动态性能视图确定参数文件是否被改动过 服务器参数文件,以及是否可用alter system 和 alter session 命令修改
    select name value,ismodified from v$parameter;
    --使用sqp&plus 的show parameter 显示服务器参数
    show parameter;
    --修改服务器参数,OEM企业管理器修改或alter system命令
    --例
    alter system set db_block_size = 4096;
    
    展开全文
  • 2.1 物理存储结构 2.2 逻辑存储结构 2.3 内存结构 2.4 数据库实例与进程 2.5 数据字典 ; Oracle数据库的内部结构也就是Oracle数据库的存储结构包括数据的逻辑存储结构和物理存储结构 逻辑存储结构数据概念上的组织如...
  • Oracle物理存储结构(一)

    千次阅读 2018-07-17 16:43:06
    Oracle数据库的存储结构分为物理存储结构和逻辑存储结构。 物理存储结构描述了Oracle数据库中数据在操作系统中的组织和管理,它是指存储在磁盘上的物理文件,包括数据文件、控制文件、重做日志文件、初始化参数文件...
  • 文章目录HBase概述HBase逻辑结构HBase物理存储结构 HBase概述 HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。 是一种面向列簇存储的非关系型数据库。 用于存储结构化和非结构化的数据,适用于单表非...
  • 第6章 物理存储结构;本章内容;本章要求;6.1 Oracle数据库系统结构;在Oracle数据库的存储结构包括物理存储结构和逻辑存储结构 物理存储结构主要用于描述Oracle数据库外部数据的存储即在操作系统中如何组织和管理数据...
  • oracle 物理存储结构

    2011-12-15 09:38:08
    oracle 物理存储结构
  • 参考:官方内部文档手册:... 腾讯游戏DBA团队的Innodb页面存储结构:Innodb页面存储结构-1 Innodb页面存储结构-2 淘宝内核月报MySQL · 引擎特性 · InnoDB 数据页解析:...
  • 数据存储结构的选择取决于两方面,即数据的逻辑结构和存储结构(又称物理结构)。 逻辑结构 数据的逻辑结构,简单地理解,就是指的数据之间的逻辑关系。 例如,图 1 显示是一张家庭的成员关系图,从图中可以...
  • 逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。 1.1 所谓集合结构: 表面意思,没有什么深刻意义,就是数据元素同属一个集合,单个数据元素之间没有任何关系。如下图所示。 1.2 线性结构: ...
  • 数据结构物理存储方式

    千次阅读 2020-09-26 01:02:22
    物理存储方式 1、顺序存储方式:bai顺序存储方式就是在一块连续的存储区域一个接着一个的存放数据,把逻辑上相连的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接挂安息来体现。顺序存储...
  • 涂抹ORACLE-第16章-体系结构之数据库物理存储结构
  • 逻辑存储结构  在操作系统中无法找到逻辑存储结构所对应的文件,但通过查询oracle数据库的数据字典,可以找到逻辑存储结构的描述。  逻辑存储结构包括表空间,段,区,块。简单的说,逻辑存储结构之间的关系是:...
  • 数据库的存储结构
  • 物理存储与逻辑结构设计

    千次阅读 2019-06-02 22:17:25
    1.物理存储与逻辑结构设计 1.1. 为表空间USERS添加一个数据文件,文件名为userdata03.dbf,大小为50MB 指令“alter tablespace USERS add datafile ‘D:\userdata03.dbf’ size 50m” 2. 修改表空间USERS中的...
  • Oracle实例架构及物理存储结构 ppt文档
  • 数据结构中的物理结构包含有:顺序存储结构与链式存储结构 存储优缺点: 顺序存储结构在未达到内存限制时,(因为是顺序存储所以查询尾部比较快)在末尾插入比较快,但是在中间插入,需要将当前插入位置的元素及...
  • 逻辑结构,存储结构物理结构的区分

    千次阅读 多人点赞 2018-01-29 17:48:51
    存储结构(又称物理结构):数据结构在计算机中的表示(又称映像)。 很好理解,但是光靠这些官话,做题保准做一个错一个 不信?下面放一道题: 线索二叉树是一种( )结构? A. 逻辑 B. 逻辑和存储 C. ...
  • 数据的逻辑结构和物理结构(存储结构
  • oracle数据库存储结构

    万次阅读 2018-01-08 21:18:29
     oracle 数据库的存储结构分为物理存储结构和逻辑存储结构两种。物理存储结构主要用于描述在 oracle 数据库外部数据的存储,即在操作系统层面中如何组织和 管理数据,与具体的操作系统有关。逻辑存储结构主要描述...
  • 一、逻辑结构VS物理结构 文件内部各条记录链式存储:由创建文件的用户自己设计的 文件整体用链接分配:由操作系统决定 索引文件:从用户视角来看,整个文件依然是连续存放的。如:前1MB存放索引项,后续部分存放记录...
  • 数据结构中的线性结构也就是“线性表”是逻辑结构,现在可以肯定栈与队列都是存储结构,栈与队列都是线性表,顺序表和链表也是线性表,一维数组和顺序表又基本上是一回事,那么顺序表和链表也是存储结构吗?...
  • 线性表的物理存储结构分为:顺序存储结构 和 链式存储结构。 物理上的存储方式事实上就是在内存中找个初始地址,然后通过占位的形式,把一定的内存空间给占了,然后把相同数据类型的数据元素依次放在这块空地中。 ...
  • 一、引言   在第一章《绪论》中, 时间复杂度的计算 和 数据结构的辨析 无疑是最重要的两类...  事实上,我们只需要理解了 存储结构物理结构 的概念和类别,就能够顺利选出答案。 二、概念    数据结...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 445,472
精华内容 178,188
关键字:

物理存储结构