oracle逻辑存储管理
2015-07-04 11:56
676 查看
ORACLE逻辑存储分为4个粒度:表空间,段,区,块。
1.块
是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块操作的,也就是说ORACLE从数据文件读取数据时,是读取多少个块,而不是多少行,每一个Block里可以包含多个row
2.区
是由一系列相邻的块组成,这也是ORACLE空间分配的基本单位,举例来说,当我们创建一个表Dave时,ORACLE会分配一个空间给这个表,随着不断的insert数据到Dave,原来的这个区容不下插入的数据时,ORACLE是以区为单位进行扩展的,也就是说再分配多少个区给Dave
,而不是多少个块
3.段
是由一系列的区组成,一般来说,当创建一个对象时(表,索引),就会分配一个段给这个对象,所以从某种意义上来说,段就是某种特定的数据,如CREATE TABLE Dave,这个段就是数据段,而CREATE INDEX ON Dave(NAME),ORACLE同样会分配一个段给这个索引,但这是一个索引段,查询段的信息可以通过数据字典:SELECT * FROM USER_SEGMENTS来获得
4.表空间
包含段,区及块,表空间的数据物理上储存在其所在的数据文件中,一个数据库至少有一个表空间
===================================
当我们创建一个表,即使我们没插入任何一行记录,ORACLE还是会给它分配8个块,当然这个跟建表语句的INITIAL参数及MINEXTENTS参数有关,如:
STORAGE(
INITIAL 64k
MINEXTENTS 1
MAXEXTENTS UNLIMITED
);
也就是说,在这个对象创建以后,ORACLE至少给它分配一个区,初始大小为64K,一个标准块的大小是8k,刚好是8个块(Block)
1.块
是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块操作的,也就是说ORACLE从数据文件读取数据时,是读取多少个块,而不是多少行,每一个Block里可以包含多个row
2.区
是由一系列相邻的块组成,这也是ORACLE空间分配的基本单位,举例来说,当我们创建一个表Dave时,ORACLE会分配一个空间给这个表,随着不断的insert数据到Dave,原来的这个区容不下插入的数据时,ORACLE是以区为单位进行扩展的,也就是说再分配多少个区给Dave
,而不是多少个块
3.段
是由一系列的区组成,一般来说,当创建一个对象时(表,索引),就会分配一个段给这个对象,所以从某种意义上来说,段就是某种特定的数据,如CREATE TABLE Dave,这个段就是数据段,而CREATE INDEX ON Dave(NAME),ORACLE同样会分配一个段给这个索引,但这是一个索引段,查询段的信息可以通过数据字典:SELECT * FROM USER_SEGMENTS来获得
4.表空间
包含段,区及块,表空间的数据物理上储存在其所在的数据文件中,一个数据库至少有一个表空间
===================================
当我们创建一个表,即使我们没插入任何一行记录,ORACLE还是会给它分配8个块,当然这个跟建表语句的INITIAL参数及MINEXTENTS参数有关,如:
STORAGE(
INITIAL 64k
MINEXTENTS 1
MAXEXTENTS UNLIMITED
);
也就是说,在这个对象创建以后,ORACLE至少给它分配一个区,初始大小为64K,一个标准块的大小是8k,刚好是8个块(Block)
相关文章推荐
- oracle表是否被锁定
- Oracle 存储过程创建和执行入门实例
- oracle忘记了sys,system 密码后怎么修改?
- Oracle EBS Export File Format
- Hibernate连接oracle数据库的简单例子
- Oracle Hash分区的使用总结
- Oracle Product Hub / Product Lifecycle Management / Product Information Management / Advanced Produc
- Oracle中drop user和drop user cascade的区别
- oracle中schema指的是什么?
- Oracle笔记-Multitable INSERT 的用法
- Oracle锁表查询及解锁kill进程简介
- Oracle 过程中检查数据表存在与否
- oracle创建表空间、用户、和权限配置
- linux下导出oracle时报错【ORA-12154: TNS:could not resolve the connect identifier specified】
- RedHat Linux 安装oracle11g
- MSSQL、MYSQL,ACCESSl,Oracle随机读取N条记录方法
- 如何使用ASP.NET Web API OData在Oracle中使用Entity Framework 6.x Code-First方式开发 OData V4 Service
- 《OCA认证考试指南(1Z0-061):Oracle Database 12c SQL基础》
- ORACLE解决无法drop的问题
- 查看、修改oracle字符集,查看oracle版本