oracle11体系结构二-存储结构

2023-12-26 15:04

本文主要是介绍oracle11体系结构二-存储结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据区:

数据区(数据扩展区)由一组连续的oracle数据块所构成的存储结构,一个或多个数据块组成一个数据区,一个或多个数据区组成一个段。当段中所有空间被使用完后,oracle系统将自动为该段分配一个新的数据区。可见数据区是oracle存储分配的最小单位,oracle就以数据区为单位进行存储控件的扩展。

用数据区的目的是用来保存特定的数据类型的数据。数据区是表中数据增长的基本单位,在oracle数据库中,分配存储空间就是以数据区为单位的。一个oracle对象包含至少一个数据区,设置一个表或索引的存储参数包含设置它的数据区大小。

用于存储表,索引或簇等占用空间的数据对象。段是为特定的数据对象(表,索引,回滚等)分配的一系列数据区。

段的类型:

数据段:保存的是表中的数据记录。当表的数据记录逐渐增加时,数据段增大的过程是向其添加新的数据区来实现的。

索引段:创建索引,自动创建索引段。包含用于提高系统性能的索引。

回滚段:保存回滚条目,oracle将修改前的旧值保存在回滚条目中。利用这些信息,可以撤销未提交的操作,以便为数据库提供读入一致性和回滚未提交的事物,即用来回滚事物的数据空间。当一个事物开始处理时,系统为之分配回滚段,回滚段可以动态创建和撤销。oracle有个默认的回滚段,其管理方式既可以是自动的,也可以是手工的。

临时段:当执行创建索引,查询等操作时候,oracle可能会使用一些临时存储空间,用于暂时性的保存解析过的查询语句以及在排序过程中产生的临时数据。oracle系统将在专门用于存储临时数据的表空间中为操作分配临时段。

表空间:

使用表空间将相关的逻辑结构(数据区,段等)组合在一起。数据库最大的逻辑划分区域,用来存放数据表,索引,回滚段等数据对象,任何数据对象在创建时都必须被指定存储在某个表空间中。表空间(逻辑结构)与数据文件(物理结构)相对应,一个表空间由一个或多个数据文件组成,一个数据文件只属于一个表空间。每个数据库至少有一个表空间(即SYSTEM表空间),表空间的大小等于所有从属它的数据文件大小的总和。

表空间中创建数据对象的两种情况:
1.只包含一个数据文件,所有的对象都存储在这个数据文件中

2.包含多个数据文件,可将存储对象存储在该表空间的任意一个数据文件中,也可以将同一个数据对象中的数据分布在表空间的多个数据文件中。

创建数据库时,会默认创建多个默认表空间,这些表空间除了用于管理用户数据的表空间之外,还包括用于管理oracle系统内部数据的表空间。

1.SYSTEM表空间:系统表空间,用于存放系统内部表和数据字典的数据。

2.SYSAUX 表空间:充当系统表空间的辅助表空间,降低系统表空间负荷,存储除数据字典以外的其他数据对象。一般不存储用户的数据,由oracle系统内部自动维护。

3.UNDO表空间:撤销表空间,用于存储撤销信息的表空间。当用户对数据表进行修改操作时,oracle系统自动使用撤销表空间来临时存放修改之前的数据,当所做的修改操作完成并执行提交命令后,oracle根据系统设置的保留时间长度来决定何时释放掉撤销表空间的部分空间。一般创建oracle实例后,系统自动创建名字为UNDOTBS1的撤销表空间,对应的数据文件UNDOTBS01.DBF

4.USERS表空间  :用户表空间,可以在这个表空间创建各种数据对象,包括表,索引,用户等数据对象。系统的样例用户SCOTT 对象就存放在USERS表空间中。

用户可根据系统的实际情况及其存放的是对象类型创建多个自定义的表空间。

物理存储结构:

由多种物理文件组成:数据文件,控制文件,重做日志文件,归档日志文件,参数文件,口令文件和警告日志文件等。

数据文件:读数据时候,将数据文件的数据存储在内存的高速数据缓冲区,如果用户读取的数据不在数据缓冲区中,则从相应的数据文件中读取并存储在缓冲区中。当修改和插入数据时,不会立即写入到数据文件中,而是保存在数据缓冲区中,由oracle的后台进程DBWR决定如何将其写入相应的数据文件。这种方式减少了磁盘I/O操作,提高系统的相应性能。

控制文件:控制文件是一个二进制文件,记录了数据库的物理结构,包含数据库名,数据文件与日志文件的名字和位置,数据库建立日期等信息。控制文件所存放的路径由服务器参数文件spfileorcl.ora的control_files参数值来指定。控制文件很重要,实例启动时必须要访问控制文件,只有控制文件正常,实例才能打开数据库。如果控制文件有错误或者找不到可用的控制文件,则实例无法正常启动。

日志文件:包括重做日志文件和归档日志文件(ARCH)

重做日志文件:系统运行产生的日志信息,首先被临时存放在系统全局区的重做日志缓冲区,当发出commit命令时,LGWR进程将缓冲区信息读取出来,写入到日志文件组序号较小的文件里,一个日志组写满后接着另一个日志组,所有的日志文件都使用过一遍后他将再次转向第一个日志组重新覆写。

归档日志文件:

如果开启归档模式, 则在转向第一个日志文件覆写之前,将即将覆盖的日志文件写入到归档日志文件中区,这个过程称为归档过程。

归档过程中,日志写入进程需要等待归档进程结束后才能开始覆写日志文件,会导致延迟了系统相应时间,所以,默认情况下不采用归档模式运行。

服务器参数文件:SPFILE是二进制文件,记录了oracle数据库的基本参数信息(如数据库名,控制文件所在路径,日志缓冲大小等)

辅助文件:密码文件,警告文件和跟踪文件

这篇关于oracle11体系结构二-存储结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/539866

相关文章

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo