oracle数据库存储结构

-----存储结构概述:

        oracle 数据库的存储结构分为物理存储结构逻辑存储结构两种。物理存储结构主要用于描述在 oracle  数据库外部数据的存储,即在操作系统层面中如何组织和

管理数据,与具体的操作系统有关。逻辑存储结构主要描述oracle 数据库内部数据的组织和管理方式,即在数据库管理系统的层面中如何组织和管理数据,与操作系统没

有关系。

     物理存储结构具体表现为一系列的操作系统文件,是可见的;而逻辑存储结构时候物理存储结构的抽象体现,是不可见的,可以通过查询数据库数据字典了解逻辑结构

信息。

      oracle 数据库的物理存储结构与逻辑存储结构既相互独立又相互联系,如下图:


               oracle 数据库物理存储结构和逻辑存储结构的关系

从上面图中可以看出数据库物理存储结构和逻辑存储结构的基本关系:

》》一个数据库在物理上包含多个数据文件,在逻辑上包含多个表空间

》》一个表空间包含一个或多个数据文件,一个数据文件只能从属于某个表空间

》》数据库的逻辑块由一个或多个操作系统块组成

》》一个逻辑区只能从属于一个数据文件,而一个数据文件可包括一个或多个逻辑区


---------物理存储结构概述:

           oracle 数据库的物理存储结构是由一系列操作系统文件组成的,存放于物理磁盘上,是数据库的实际存储单元。这些文件主要包括数据文件、控制文件、

重做日志文件、归档文件、初始化参数文件、跟踪文件、告警文件等。每种文件都存储特定内容的信息,其数量也因文件类型不同而不同。

          》》数据文件:是数据库所有数据的实际存储空间,所有数据文件的大小和构成了数据库的大小。

          》》控制文件:记录数据库结构信息的重要的二进制文件,由oracle 系统进行读 / 写操作。

          》》重做日志文件:是以重做记录的形式记录、保存用户对数据库所进行的变更操作,是数据库中最重要的物理文件

          》》归档日志文件:是历史联机重做日志文件的集合,是联机重做日志文件被覆盖之前备份的副本。

          》》初始化参数文件:是数据库启动过程所必需的文件,记录了数据库显式参数的设置。数据库启动的第一步是根据初始化参数文件中的设置,

                                    创建并启动实例,即分配内存空间、启动后台进程。

          》》跟踪文件:是数据库中重要的诊断文件,是获取数据库信息的重要工具,对管理数据库的实例起着至关重要的作用。跟踪文件中包含数据库

                                系统运行过程中所发生的重大事件的有关信息,可以为数据库运行故障的解决提供重要信息。

          》》告警文件:是数据库中重要的诊断文件,记录数据库在启动、关闭和运行期间后台进程的活动情况。

----------逻辑存储结构概述:

            oracle 数据库的逻辑存储结构是从逻辑的角度来分析数据库的构成的,也就是数据库创建后利用逻辑概念来描述 oracle 数据库内部数据的组织和

管理形式。在操作系统中,没有数据库逻辑存储结构信息,而只有物理存储结构信息。数据库的逻辑存储结构概念存储在数据库的数据字典中,可以通过

数据字典查询存储结构信息。

             oracle数据库的逻辑存储结构分为 oracle 数据块 表空间 4种,它们之间的关系如下图所示:

           

           

               一个或多个连续的oracle 数据块构成区,一个或多个区构成段,一个或多个段构成表空间,所有表空间构成数据库。

            (1)、oracle 数据块

                    oracle 数据块是数据库中最小的逻辑存储单元,是数据库执行输入、输出操作的最小单位,由一个或多个操作系统块构成。在oracle 11g 数据库中,

               数据块分为 标准块非标准块两种,其中标准块由数据库初始化参数 DB_BLOCK_SIZE  设置,其大小不可更改。oracle  数据库的默认数据缓冲区

               就是标准数据块构成的。

            (2)、区

                     区是由一系列连续的数据块构成的逻辑存储单元,是存储空间分配的最小单元。当创建一个数据库对象时,oracle 为对象分配若干个区,以构成

               一个段来为对象提供初始的存储空间。当段中已分配的区都写满后,oracle 会为段分配一个新区,以容纳更多的数据。构成一个段的所有区只能是在

                一个文件中。oracle 数据库中,引入区的目的是为了提高系统存储空间分配的效率,以区为单位的存储空间分配大大减少了磁盘分配的次数。

             (3)、段

                      段是由一个或多个连续或不连续的区组成的逻辑存储单元,用于存储特定的、具有独立存储结构的数据库对象。根据存储对象类型不同,分为:

             表段索引段临时段回退段4类。

                  》》表段:又称数据段,用来存储表或簇的数据,可以细分为普通表段分区表段簇段索引化表段

                  》》索引段:用来存放索引数据,包括 ROWID 和索引值

                  》》临时段:是进行查询、排序等操作时,如果内存空间不足,用于保存 sql 语句在解释和执行过程中产生的临时数据。会话结束时,为该操作分配

                                      的临时段将被释放。

                  》》回退段:用于保存数据库的回退信息,包含当前未提交事务所修改的数据的原始版本。利用回退段中保存的回退信息,可以实现事务回滚、数据库

                                   恢复、数据的读一致性和闪回查询

              (4)、表空间:

                      表空间是  oracle 数据库最大的逻辑存储单元,数据库的大小从逻辑上看就是由表空间决定的,所有表空间大小的和就是数据库的大小。在 oracle 数据库

                  中,存储结构管理主要就是通过对表空间的管理啊来实现的。

                        表空间与数据库文件直接关联,一个表空间包含一个或多个数据文件,一个数据文件只能从属于一个表空间,数据库对象就是存储在表空间对应的

                 一个或多个数据文件中。

                         表空间根据存储数据类型的不同,分为系统表空间非系统表空间两类。

                   》》 系统表空间主要存放数据库的系统信息,如数据字典、数据库对象定义信息,数据库组件信息等。

                   》》非系统表空间又分为撤销表空间临时表空间用户表空间等。其中撤销表空间用于自动管理数据库的回退信息,临时表空间用于管理数据库的临时信息,

                        用户表空间用于存储业务数据。

                    oracle 11g 数据库会自动创建一些表空间,如下:

                     


  • 13
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小达人Fighting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值