Oracle表空间(tablespaces)
我们知道oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间。
表空间属性:
一个数据库可以包含多个表空间,一个表空间只能属于一个数据库
一个表空间包含多个数据文件,一个数据文件只能属于一个表空间
表这空间可以划分成更细的逻辑存储单元
Oracle数据库的存储结构:
从逻辑的角度来看,一个数据库(database)下面可以分多个表空间(tablespace);一个表空间下面又可以分多个段(segment);一个数据表要占一个段(segment),一个索引也要占一个段(segment )。 一个段(segment)由多个 区间(extent)组成,那么一个区间又由一组连续的数据块(data block)组成。这连续的数据块是在逻辑上是连续的,有可能在物理磁盘上是分散。
那么从物理的角度上看,一个表空间由多个数据文件组成,数据文件是实实在在存在的磁盘上的文件。这些文件是由oracle数据库操作系统的block 组成的。
Segment(段) :段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。
Extent (区间):分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象.
查看表空间:
SQL> select * from v$tablespace;TS# NAME INCLUD BIGFIL FLASHB ENCRYP---------- ------------------------------------------------------------ ------------ ------ ------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES
查看每个表空间有哪些数据文件:
SQL> desc dba_data_files;Name Null? Type----------------------------------------- -------- ----------------------------FILE_NAME VARCHAR2(513)FILE_ID NUMBERTABLESPACE_NAME VARCHAR2(30)BYTES NUMBERBLOCKS NUMBERSTATUS VARCHAR2(9)RELATIVE_FNO NUMBERAUTOEXTENSIBLE VARCHAR2(3)MAXBYTES NUMBERMAXBLOCKS NUMBERINCREMENT_BY NUMBERUSER_BYTES NUMBERUSER_BLOCKS NUMBERONLINE_STATUS VARCHAR2(7)
查看详细数据文件:
SQL> select file_name,tablespace_name from dba_data_files;FILE_NAME TABLESPACE_NAME----------------------------------------------------------------------------------------------------------------/ora10/product/oradata/ora10/users01.dbf USERS/ora10/product/oradata/ora10/sysaux01.dbf SYSAUX/ora10/product/oradata/ora10/undotbs01.dbf UNDOTBS1/ora10/product/oradata/ora10/system01.dbf SYSTEM
创建一个表空间:
SQL> create tablespace paul datafile '/ora10/product/oradata/ora10/paul01.dbf' size 20m; Tablespace created.
查看我们创建的表空间:
[ora10@localhost ora10]$ pwd/ora10/product/oradata/ora10[ora10@localhost ora10]$ lscontrol01.ctl control03.ctl redo01.log redo03.log system01.dbf undotbs01.dbfcontrol02.ctl paul01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
表空间根据对区间(extents)的管理分为两种类型
词典管理表空间(Dictionary-managed tablespaces)
在表空间里,有的区间被占用了,有的没被占用,这些数据是放在数据字典里的。当你对这个表空间进行分配或释放的时候,数据文件里相关的表就会做修改。
本地管理表空间(locally managed tablespace)
本地管理表空间不是在数据词典里存储表空间的,由自由区管理的表空间。用位图来自由的管理区间。一个区间对一个位,如果这个位是1表示已经被占用,0表示未被占用。
词典管理空间表示“中央集权治”,本地管理表空间表示“省市自治区”,一个databases表示中国,tablespaces表示一个省或直辖市。词典管理统一由中央调配。而本地管理表示有高度的自治权利,自已各种资源的分配不用上报中央。
Undo tablespace
Undo 类型的表空间,当你对一张表或一条记录进行修改的时候,它会对修改之前的信息进行保存,这样可以保证数据的回滚。Undo 只包含undo类型的对象,不能包含任何其他对象,只适合于数据文件和区间管理。
创建undo 类型的表空间:
SQL>create undo tablespace undo1 datafile '/ora10/product/oradata/ora10/paul01.dbf' size 20m;
Temporary Tablespaces
临时表空间,相当于一个临时的垃圾场。用于排序操作,比如你要做一次大数据量的查询,但在内存无法存储这么大量的数据,然后会在磁盘上建立一个临时的表空间用记存放这些数据。Oracle就会用这个临时表空间做排序,存储中间结果。
一个全局的临时表空间,可以由多个用户共享,谁需要谁使用。但它只能存放临时的数据,不能包含任何永久性对象。 建议用本地管理方式创建这个表空间。
创建临时表空间:
SQL>create temporary tablespace temp datafile '/ora10/product/oradata/ora10/paul01.dbf' size 20m extent management local uniform size 4m;
删除表空间:
删除表空间,使用命令drop tablespace ‘表空间名’ 但是有3个选项需要注意:
INCLUDING CONTENTS:指删除表空间中的segments;
INCLUDING CONTENTS AND DATAFILES:指删除segments和datafiles;
CASCADE CONSTRAINTS:删除所有与该空间相关的完整性约束条件。
例:
DROP TABLESPACE FESCO ‘表空间名’ CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
Oracle表空间(tablespaces)相关推荐
- Oracle表空间(tablespaces)详解
Oracle表空间(tablespaces) 我们知道oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上 ...
- Oracle 表空间 创建参数 说明
一. 表空间的说明 官网的几个链接: Logical Storage Structures http://download.oracle.com/docs/cd/E11882_01/server.11 ...
- oracle表空间于表数据啥意思,初识Oracle表空间与数据文件
初识Oracle表空间与数据文件,描述oracle数据库的逻辑结构,创建表空间,改变表空间大小,为临时段分配空间,改变表空间状态,改 学习目标 1.描述Oracle数据库的逻辑结构 2.创建表空间 3 ...
- oracle表空间管理图形界面,Oracle表空间管理和优化
Oracle 表空间管理和优化 1. TOM大神的表查询和授权语句create or replace procedure SHOW_SPACE(P_SEGNAME IN VARCHAR2, Oracl ...
- Oracle 表空间时点恢复(TSPITR)
表空间时点恢复,是Oracle在基于冷备,热备恢复以外的一种以表空间为粒度的,不完全恢复的形式来将表空间恢复到过去某个特定的时间点的一种恢复方式.它整合了RMAN以及DataPump这2个备份恢复工具 ...
- oracle表独立数据文件,oracle表空间及数据文件
1. Oracle 的逻辑结构 数据库的物理结构是由数据库的操作系统文件所决定,每一个 Oracle 数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理 ...
- Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...
天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...
- Oracle表空间的查看方法
Oracle表空间 Oracle表空间(tablespaces)是一个逻辑的概念,真正存放数据的是数据文件(data files).一个Oracle数据库能够有一个或多个表空间,而一个表空间则对应着一 ...
- Oracle表空间的管理方式(LMT、DMT)--本地和字典管理
Oracle表空间的管理方式(LMT.DMT)--本地和字典管理 字典管理:oracle 8i(不包括i),只存在一种表空间的管理模式,即字典管理表空间(DMT).DMT是指oracle的空间分配或回 ...
- Oracle 表空间扩容
2019独角兽企业重金招聘Python工程师标准>>> 1.查询当前表空间使用情况 col FILE_NAME format a50; col SPACE_NAME format a ...
最新文章
- 2022-2028年中国氢化丁晴橡胶行业市场研究及前瞻分析报告
- 《花田半亩》有感——午夜静静地震撼着我的生命(不是技术,发在首页,只是因为感动)...
- 揭秘MySQL生态重要功能,X-Engine引擎核心能力——OnlineDDL
- 接口——Serializable
- S/4HANA for Customer Management里的搜索分页处理 1
- dubbo负载均衡策略和集群容错策略
- lintcode-137-克隆图
- ProjectEuler 009题
- 电信猫不折旧,用了几年还是原价
- JAVA计算机毕业设计宠物医院管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
- 抖音转场 650个PR转场视频过渡风格化效果PR剪辑素材
- SVCHOST启动服务实战
- android 恢复出厂设置原理,Android恢复出厂设置流程分析【Android源码解析十】
- 微信小程序注册入口和注册流程(完整版图文教程)
- 使用Arduino读取RC接收机PWM信号的三种方式
- 神州租车打造城市绿色出行 低碳理念与公益责任并行
- 玩转Atlas 200DK(一)分设环境之开发环境准备
- Nginx之父突然离职,程序员巅峰一代落幕
- 淘宝API开发系列---阿里.聚石塔.开放平台的使用5
- acer蜂鸟swift1深度linux,宏碁蜂鸟Swift3和Swift1哪个值得买?宏碁蜂鸟Swift1和Swift3详细区别对比评测...