表空间Tablespace
- 数据库的运行需要依赖于操作系统,而数据库本身也保存在了操作系统的磁盘上,所以当用户向数据表中保存数据时,最终数据也还是保存在了磁盘上,只不过这些数据是按照固定的格式进行保存。
- 在数据库数据和磁盘数据之间存在了两种结构:
|
逻辑结构 |
Oracle中所引入的结构,开发人员所操作的都只针对于Oracle的逻辑结构; |
|
物理结构 |
操作系统所拥有的存储结构,而逻辑结构到物理结构的转换由Oracle数据库管理系统来完成 |

- 表空间是Oracle数据库之中最大的一个逻辑结构,
- 每一个Oracle数据库都会由若干个表空间所组成,
- 而每一个表空间将由多个数据文件组成,
- 用户所创建的数据表也统一都被表空间所管理。
- 表空间与磁盘上的数据文件对应,所以直接与物理存储结构关联。
- 而用户在数据库之中所创建的数据表、索引、视图、子程序等都被表空间保存到了不同的区域内。
- 数据表受到表空间的管理;
- 表空间分为两类:数据表空间、临时表空间。
- 表空间在哪里:如下路径中DBF文件为数据库文件.
[oracle@WHOST gaga01]$ ls /u01/app/oracle/oradata/gaga01/
control01.ctl redo02.log sysaux01.dbf temp01.dbf users01.dbf
redo01.log redo03.log system01.dbf undotbs01.dbf
[oracle@WHOST gaga01]$
- 在Oracle数据库之中一般有两类表空间:
|
系统表空间 |
是在数据库创建时与数据库一起建立起来的, 例如:用户用于撤消的事务处理,或者使用的数据字典就保存在了系统表空间之中,例如:System或Sysaux表空间; |
|
非系统表空间 |
由具备指定管理员权限的数据库用户创建,主要用于保存用户数据、索引等数据库对象, 例如:USERS、TEMP、UNDOTBS1等表空间。 |
- 创建表空间
|
非系统表空间的创建语法: |
|
CREATE [TEMPORARY] TABLESPACE 表空间名称 [DATAFILE | TEMPFILE 表空间文件保存路径 ...] [SIZE 数字[K | M]] [AUTOEXTEND ON | OFF] [NEXT 数字 [K|M]] [LOGGING | NOLOGGING] ; |
|
创建数据表空间 |
|
CREATE TABLESPACE test_data DATAFILE '/u01/app/oracle/oradata/gaga01/test_data01.dbf' SIZE 50M , '/u01/app/oracle/oradata/gaga01/test_data.dbf' SIZE 50M AUTOEXTEND on NEXT 2M LOGGING ; |
|
创建临时表空间 |
|
CREATE TEMPORARY TABLESPACE test1_temp TEMPFILE '/u01/app/oracle/oradata/gaga01/test_temp01.dbf' SIZE 50M ,'/u01/app/oracle/oradata/gaga01/test_temp02.dbf' SIZE 50M AUTOEXTEND on NEXT 2M; |
- 创建完之后的表空间,一定都会在数据字典中进行相关内容的记录.
- 查看表空间:dba_tablespaces数据字典.
- dba_tablespace数据字典可以查看数据表空间的信息,但是我们不知道每个表空间所花费的存储,两类表空间使用数据字典是不同的。可以使用dba_data_file(查看数据库表空间数据字典)和dba_temp_files(查看临时表空间数据字典)两个数据字典查看.
- 子句说明:
|
DATAFILE |
保存表空间的磁盘路径,可以设置多个保存路径; |
|
TEMPFILE |
保存临时表空间的磁盘路径; |
|
SIZE |
开辟的空间大小,其单位有K(字节)和M(兆); |
|
AUTOEXTEND |
是否为自动扩展表空间,如果为ON表示可以自动扩展表空间大小,反之为OFF; |
|
NEXT |
可以定义表空间的增长量; |
|
LOGGING | NOLOGGING |
是否需要对DML进行日志记录,记录下的日志可以用于数据恢复。 |
- Oracle中的默认表空间
- 在Oracle数据库中默认提供了以下几个表空间:
|
SYSTEM表空间 |
在一个数据库中至少有一个表空间,既System表空间。创建数据库时必须指明表空间的数据文件的特征,如数据文件名称、大小。System主要是存储数据库的数据字典,在Oracle系统表空间中存储全部的PL/SQL程序的源代码和编译后的代码,例如存储过程、函数、包、数据库触发器。如果要大量使用PL/SQL,就应该设置足够大的System表空间。 |
|
SYSAUX表空间 |
是System表空间的辅助表空间,许多数据库的工具和可选组件将其对象存储在SYSAUX表空间内,它是许多数据库工具和可选组件的默认表空间。 |
|
Users表空间 |
用于存储用户的数据。 |
|
Undo表空间(UNDOTBS1)表空间 |
用于事务的回滚、撤消; |
|
Temp临时表空间 |
用于存放Oracle运行中需要临时存放的数据,如排序的中间结果等。 |
- 创建数据表并使用特定表空间
- 创建数据表并使用特定表空间
- CREATE TABLE 用户名.表名称(
字段名称 字段类型 DEFAULT 默认值 ,
字段名称 字段类型 DEFAULT 默认值 ,
.....
) TABLESPACE 表空间名称 ;
表空间Tablespace的更多相关文章
- 表空间tablespace,数据文件datafiles,和控制文件control files介绍
https://docs.oracle.com/cd/B19306_01/server.102/b14220/physical.htm#i5919 本文系翻译 表空间tablespace,数据文件da ...
- oracle表空间tablespace
用户:用户是在实例下建立的.不同实例可以建相同名字的用户. 表空间:表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个 ...
- oracle 创建表空间TABLESPACE
题外话: 在oracle中,我们的数据库用户都有一个默认表空间归属,当在该用户下创建表或其他对象时默认会将其归属在默认表空间: 不排除后期修改了用户默认表空间的情况存在,此后新加入的对象默认会放置在新 ...
- oracle 删除表空间TABLESPACE步骤及注意项
告诉大家,我喜欢通过toad for oralce来实现对oracle数据库的操作. 1.首先通过数据库管理员用户以SYSDBA身份登录.比如使用sys用户去登录 2.查看和记录待删除表空间所在的物理 ...
- 创建表空间tablespace,删除
在plsql工具中执行以下语句,可建立Oracle表空间. /*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace yuhang_temp temp ...
- oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)
数据文件和日志文件是数据库中最关键的文件.它们是数据存储的地方.每一个数据库至少有一个与之相关的数据文件,通常情况下不仅仅一个,有非常多.数据在数据文件里是怎样组织的?要了解这些内容我们首先必须理解什 ...
- oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)
数据文件和日志文件是数据库中最重要的文件.它们是数据存储的地方.每个数据库至少有一个与之相关的数据文件,通常情况下不只一个,有很多.数据在数据文件中是如何组织的?要了解这些内容我们首先必须理解什么是表 ...
- oracle 表空间tablespace
一.Oracle 表空间的组成 Everoone knows Oracle数据库真正存放数据的是数据文件,Oracle表空间是逻辑上的概念,他在物理上是并不存在的,把多个DataFile合并到一起就是 ...
- Oracle基础 01 表空间 tablespace
--查看表空间 select * from dba_tablespaces; select * from v$tablespace; select * from dba_data_files; --查 ...
随机推荐
- C#中汉字轻松得到拼音全文类
public class chs2py { ,-,-,-,-,-,-,-,-,-,-,-,-,-, -,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-, -,-,-,-,-,-,-,-,- ...
- VC++ ToolTip的简单使用
1.在基于对话框的MFC应用程序中使用Tooltip,首先在Dlg类的头文件中定义一个变量: CToolTipCtrl m_iToolTips; 2.在Dlg类的OnInitDialog中添加代码: ...
- js正则表达式的应用
JavaScript表单验证email,判断一个输入量是否为邮箱email,通过正则表达式实现. //检查email邮箱 function isEmail(str){ var reg = /^([a- ...
- WPF 本地化(多语言)
如果你的程序需要本地化,考虑的因素诸多,例如:当文本改变后,控件的当前高度,宽度 是否合适.所在的位置是否合适.字体.布局是否合适?如果已经构建了一个真正自适应的布局,就不会有问题.用户界面应当能够调 ...
- 一、NHibernate配置所支持的属性
属性名 用途 dialect 设置NHibernate的Dialect类名 - 允许NHibernate针对特定的关系数据库生成优化的SQL 可用值: full.classname.of.Dialec ...
- Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(一)
题外话:本篇是对之前那篇的重排版.并拆分成两篇,免得没了看的兴趣. 前言 在Spring Framework官方文档中,这三者是放到一起讲的,但没有解释为什么放到一起.大概是默认了读者都是有相关经验的 ...
- MySQL<事务与存储过程>
事务与存储过程 事务管理 事务的概念 谓的事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,同一个事务的操作具备同步的特点,即事务中的语句要么都执行,要么都不执行. 事务的使用 开启事务 ...
- 超全面的JavaWeb笔记day08<Tomcat&Web应用&HTTP协议>
1.常用软件体系结构 BS:浏览器/服务器 CS:客户端/服务器 WEB资源 动态资源 JSP Servlet 静态资源 html 常用服务器 Tomcat Weblogic Resin JBOSS ...
- HTML&CSS精选笔记_布局与兼容性
布局与兼容性 CSS布局 版心和布局流程 为什么要应用布局? 阅读报纸时容易发现,虽然报纸中的内容很多,但是经过合理地排版,版面依然清晰.易读.同样,在制作网页时,要想使页面结构清晰.有条理,也需要对 ...
- python2.0_s12_day9之day8遗留知识(queue队列&生产者消费者模型)
4.线程 1.语法 2.join 3.线程锁之Lock\Rlock\信号量 4.将线程变为守护进程 5.Event事件 * 6.queue队列 * 7.生产者消费者模型 4.6 queue队列 que ...