oracle 存储层面逻辑组织结构
1、块
块是oracle 读写的最小单位,块大小事操作系统(OS)层面块大小的整数倍。块大小可以通过 “db_block_size”来设置,可以是2K,4K,8K,16K,32K。
当数据行长度因update操作增长的时候,块内的自由空间不足的时候以容纳修改后的数据行,那么该数据行将迁移到另外一个能容纳他的块中。原来的块中会留下一个指向新存储位置的指针。
2、区
区是oracle 最小的存储单位,当数据库对象需要存储空间的时候,oracle至少会为其分配一个区间
drop 会释放区,delete不会释放区
3、段
实际存储数据库中数据对象数据的逻辑结构和单元,段由一个区或者多个区组成。
1)、对于非分区表,一个表一个段
2)、对于分区表,一个分区一个段
3)、对于子分区的表,一个子分区代表一个段
4)、对于其他数据对象(索引、试图),情况和表一样
4、表空间
oracle最大的存储空间。表空间是共享资源,不是私有资源,不同用户或者段的数据可以存储在同一个表空间。
表空间有一个或者多个数据文件组成。
表空间的分类:数据表空间,临时表空间,回滚表空间。