博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
管理表空间和数据文件——数据库逻辑结构
阅读量:5738 次
发布时间:2019-06-18

本文共 1219 字,大约阅读时间需要 4 分钟。

 


表空间是数据库的裸机组成部分。从物理上说,数据库数据存放在数据文件中;从逻辑上说,数据库数据存放在表空间中,并且表空间是由一个或多个数据文件组成的,是一对多的关系。

oracle提供了一套逻辑结构来安排数据存储,这些逻辑结构包括表空间,段,取以及oracle块。

1.表空间(tablespace)

表空间用于逻辑组织数据库数据。数据库逻辑上由一个或多个表空间组成,而表空间物理上是有一个或多个数据文件组成的。表空间作用:

  • 通过表空间可以控制数据库所占用的磁盘空间。
  • 通过表空间可以控制用户所占用的空间配置。
  • 通过表空间,dba可以将不同类型的数据库部署到不同位置。一方面可以提高i/0性能,另一方面友谊与备份和恢复等管理操作。

2.数据文件(data file)

数据文件是表空间的物理组成部分,表空间与数据文件是一对多的关系,并且一个数据文件只能属于一个表空间。数据库使用的原则是:

  • 少量大数据文件要优于大量小数据文件。
  • 当建立数据库时,使用永久参数maxdatafiles可以指定在控制文件中为数据文件所预留的空间(默认32),通过从建数据文件可以修改永久参数设置。
  • 初始化参数db_files限制了数据库可以同时打开数据库最大文件个数。如果数据文件个数达到了该参数限制,那么无法建立新的数据文件。
  • 从性能角度考虑,应该将数据文件和从做日志不熟部署到不同的磁盘。应为从做日志的i/0操作非常频繁,所以重做日志放到速度最快的磁盘上。

3.段(segment)

段用于存储特定逻辑对象的所有数据,他由一个或多个区组成。当建立表,索引,或簇时,oracle会为这些对象分配段,以存放他们的数据信息,并且段名与对象名完全相同。下面是常用段类型。

  • 表段(数据段):用于存放表的数据(表名=段名)。
  • 索引段:用于存放索引的数据(索引名=段名)。
  • undo段:用于存放事务所修改数据的旧值。
  • 临时段:用于存放排序操作所产生的的临时数据。以下操作会产生临时数据:
  1. create index
  2. select   order by
  3. select distinct 
  4. select group by
  5. select union
  6. select intersect
  7. select minus
  8. analyze命令。

4.区(extent)

区由相邻的数据块组成,他是oracle进行空间分配的逻辑单位,并且一个区只能唯一地属于一个数据文件。当建立段时,oracle至少为其分配一个区;当段不足以容纳新数据时,oracle会自动扩展该段,并且为其增加一个区。

5.oracle块

oracle块也称数据块,他是oracle在数据文件上执行i/0操作的最小单位,其取值为2k,4k,8k,16k,32k。


 

 

 

转载于:https://www.cnblogs.com/zhaojiedi1992/archive/2013/05/21/oracle11g_sql_0041.html

你可能感兴趣的文章
ASCII
查看>>
ibatis SqlMap not found
查看>>
Android SD卡创建文件和文件夹失败
查看>>
Ubuntu 14.04 vsftp refusing to run with writable root inside chroot问题解决方法
查看>>
Intellij IDEA远程调试tomcat
查看>>
hadoop的学习论坛
查看>>
Struts2 学习小结
查看>>
烂泥:wordpress迁移到docker
查看>>
.扒渣机的性能及优势 
查看>>
Linux下磁盘保留空间的调整,解决df看到的空间和实际磁盘大小不一致的问题
查看>>
RSA 生成公钥、私钥对
查看>>
测试工具综合
查看>>
asp.net中调用COM组件发布IIS时常见错误 80070005解决方案
查看>>
分享一段ios数据库代码,包括对表的创建、升级、增删查改
查看>>
如何书写高质量的jQuery代码
查看>>
Activity的生命周期整理
查看>>
【记录】JS toUpperCase toLowerCase 大写字母/小写字母转换
查看>>
在 Linux 系统中安装Load Generator ,并在windows 调用
查看>>
Visifire charts ToolBar
查看>>
Mysql查询
查看>>