ORACLE的存储结构可以分为物理存储结构和逻辑存储结构两种。
是指数据在磁盘上的物理存储方式,包括数据文件、操作系统块等。数据文件是实际存储在磁盘上的文件,一个表空间可以由多个数据文件组成,这些数据文件是实际存储在磁盘上的文件,由操作系统的块组成。操作系统块是文件系统I/O的基本单位。
主要描述的是Oracle的内部存储结构,与操作系统平台无关,由Oracle数据库创建和管理。它从大到小的层级结构包括:数据库、表空间、段、区和数据块。
数据库是最高一级的逻辑存储结构,通过表空间oracle就可以将相关的逻辑结构和对象组合在一起,oracle就是由若干个表空间组成。段就包含在表空间中。一个表空间包含多个数据文件,一个数据文件只能属于一个表空间。段是由多个区组成,一个区是由多个块组成。一个表空间包含多个数据文件,多个文件可以在不同的物理存储上。也就是说,表空间是可以跨物理存储的。但是,段下一级对象数据块的存储,是不能指定存储在那个文件里的。所以,要想让数据对象访问IO负载均衡,需要指定不同的数据段。
表空间是最大的逻辑单位,一个数据库可以有多个表空间,一个表空间可以有多个数据文件(一个数据文件只能属于一个表空间)。它主要有以下作用:决定数据库实体的空间分配、设置数据库用户的空间份额、控制数据库部分数据的可用性、分布数据于不同的设备之间以改善性能、备份和恢复数据等。
此外,区是连续的块组成的,不能跨域文件。对于区表空间有两种不同的管理方式:本地的管理方式和数据字典的管理方式。 ORACLE认为这样的方式是最节省空间的。主要分为PCTFREE和PCTUSED free 10%表示只能存入90%的空间 原本如果无法写入则会进行一个行迁移的动作,将整行迁移到另一个块 设定一个pctfree就是一定程度上避免行迁移这样的情况产生 used 40%表示下降到40%后才能插入数据 这是为了防止进行频繁的上升下降 块参数 initrans :初始 maxtrans :最大 查看标准块大小 > show parameter block
假设有一个名为”exampledb”的数据库,它由两个表空间组成:system表空间和data表空间。
该表空间包含控制文件和数据文件。控制文件是存储数据库元数据的文件,如数据库的名称、创建时间等。
数据文件是实际存储数据的地方,由若干个操作系统块组成。
该表空间包含若干个数据文件,每个数据文件由多个操作系统块组成。
这些数据文件存储了各种数据库对象,如表、索引等。
假设在data表空间中有一个名为”employees”的表,该表由一个段组成。
该段由多个区组成,每个区由多个数据块组成。
当”employees”表需要更多的存储空间时,Oracle会分配一个新的区给该段。
每个区由连续的数据块组成,用于存储表的数据。
数据块是Oracle存储空间分配的最小单位,也是数据库I/O的基本单位。每个数据块包含数据和元数据,如行标识符、记录头信息等。通过上述示例,可以看到Oracle的存储结构是一个层次结构,从数据库到数据块,每一层都有其特定的组织和管理方式。这种结构使得Oracle能够高效地管理存储空间、提供数据访问和保证数据完整性。
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
添加我为好友,拉您入交流群!
请使用微信扫一扫!