Oracle 逻辑体系
主题
- Oracle
逻辑体系 - 参考资料
Oracle
逻辑体系
表空间、模式、用户、段、区、块
Oracle中的数据逻辑上存储于表空间,物理上则存储于属于表空间tablespace的数据文件上(DBF文件)。表空间的物理体现是一个或多个DBF文件。数据库由一个或多个被称为表空间的逻辑存储单元构成。表空间是数据库恢复的最小单元。表空间是个逻辑上的概念。
模式schema就是指一个用户下所有对象的集合;创建一个新用户,该用户下没有对象则schema不存在,如果创建一个对象,则和用户名同名的schema也产生。访问上实际用的是schema进行索引表的。schema是逻辑上的概念。
一个用户user对应一个schema,表是属于某个用户的,一个用户要访问另外一个用户的表,必须授权。
表是从数据库文件中直接抽象出来的逻辑结构。所有的表属于不同的用户。
段segment,一个数据对象对应一个段。一个表对应多个段,最简单的情况是一个表对应一个段。段有数据段,索引段。
区extent的设计是为了防止过度扩展,extent是数据库分配的最小单位。
块block是数据库最小的操作单元,Oracle总是访问整个block块。block设置为OS块容量的整数倍,可以减少IO操作和减少空间的浪费。块有数据块和索引块。块内有头部信息,所属表信息,所属行信息,行数据内容,多余空间。块太小,容易导致大量并发查询及更新操作都指向同一个数据块,从而产生热点竞争。a
Tips:
表,段,区,块
都是逻辑结构。
一个对象创建出来之后,在segment层次上是分配一个区extent,即八个block。
表空间和用户之间没有关系,schema是用来存放table
object的,表空间也是用来存放table object的,一个schema的object
可以存放在不同的tablespace中,一个tablespace也可以存放多个schema的object。
Oracle表空间分为系统表空间,数据表空间,临时表空间,回滚表空间。
system表空间用于存储整个数据库的数据库字典表,数据库字典表存储在编号为1的数据文件中。数据库字典表是一组用于记录数据库信息的只读表。
undo表空间(回滚表空间)只用于存储撤销信息。
临时表空间可以用于排序操作。
参考资料
“收获,不止Oracle”
Oracle 逻辑体系,码迷,mamicode.com