Oracle 表空间(tablespace)

​ 在oracle中,表空间是Oracle数据对象和数据存储的容器,是一个逻辑概念。若干操作系统文件就可以组成一个表空间。表空间统一管理空间中的数据文件(通常,文件的后缀名是dbf),一个数据文件只能属于一个表空间;而一个数据库空间由若干个表空间组成。表空间是ORACLE数据库恢复的最小单位。

Oracle表空间之作用

表空间的作用能帮助DBA用户完成以下工作:

1.决定数据库实体的空间分配;

2.设置数据库用户的空间份额;

3.控制数据库部分数据的可用性;

4.分布数据于不同的设备之间以改善性能;

5.备份和恢复数据。

​ 用户创建其数据库实体时,必须给予表空间中具有相应的权力,所以对一个用户来说,其要操纵一个ORACLE数据库中的数据,应该:

1.被授予关于一个或多个表空间中的RESOURCE特权(角色);

2.被指定缺省表空间;

3.被分配指定表空间的存储空间使用份额;

4.被指定缺省临时段表空间,建立不同的表空间,设置最大的存储容量。

Oracle 12c数据库系统默认创建的空间及其对应的默认用户如下表:

表空间名称 对应的默认用户 功能
SYSTEM SYS、SYSTEM、OUTLN、LBACSYS 创建数据库时自动创建的表空间,存储系统重要的数据库对象,例如数据库的数据字典、系统的管理信息、系统存储过程和系统回退段等
SYSAUX APEX_040200、DVF、MDSYS、OLAPSYS、CTXSYS、DVSYS、ORDDATA、FLOWS_FILES、GSMADMIN_INTERNAL、ORDPLUGINS、DBSNMP、ORDSYS、APPQOSSYS、XDB、SI_INFORMTN_SCHEMA、WMSYS、ANONYMOUS 是SYSTEM表空间的一个辅助表空间,一些与Oracle特性相关的对象,例如LogMiner、CTX、Streams等创建对象都保存在该表空间中。SYSAUX表空间用于减少SYSTEM表空间的负荷,提高系统的作业效率。这个表空间是在创建数据库时自动创建的,主要用于存放数据库组件,一般不用于存储用户数据,由Oracle系统内部自动维护。如果SYSAUX表空间不可用时,数据库的核心功能还是可以继续运行的,只是一些存放在SYSAUX表空间里的功能受到限制
USERS SYSKM、XS$NULL、DIP、SPATIAL_WFS_ADMIN_USR、GSMUSER、GSMCATUSER、SPATIAL_CSW_ADMIN_USR、SYSBACKUP、AUDSYS、ORACLE_OCM、OJVMSYS、APEX_PUBLIC_USER、MDDATA、SYSDG 是用户的默认永久性表空间,用于存储永久用户对象和私有信息
UNDOTBS1 UNDOTBS1为数据库的撤消表空间,用于在自动撤消管理方式下存储撤消信息。在此空间存储对数据库进行修改操作之前的数据,用于数据恢复。在撤消表空间中,除了回退段以外,不能建立任何其他类型的段。所以,用户不可以在撤消表空间中创建数据库对象
TEMP TEMP为临时表空间,用于存放临时数据,例如存储排序时产生的临时数据。一般情况下,数据库中的所有用户都使用temp作为默认的临时表空间。临时表空间本身不是临时存在的,而是永久存在的,只是保存在临时表空间中的段是临时的。临时表空间的存在,可以减少临时段与存储在其他表空间中的永久段之间的磁盘I/O争用

表空间的模式(状态):

处于读写(Read/write)状态的表空间任何拥有表空间配额并有权限的用户都可以读写该表空间中的数据;

处于只读(Read-only)状态的表空间任何用户无法向该表空间写入数据,也无法修改其中已有的数据。

脱机(offline)有4种模式:正常、临时、立即、用于恢复。

默认情况下所有表空间的状态都是读写状态。

Oracle创建表空间语法结构:

​ 创建表空间使用CREATE TABLESPACE语句,创建的用户必须拥有CREATE TABLESPACE系统权限。语法格式为:

CREATE [temporary] TABLESPACE <表空间名>DATAFILE∣TEMPFILE '<文件路径>/<文件名>' [SIZE <文件大小> [ K∣M ]][ REUSE ][ AUTOEXTEND [ OFF∣ON [ NEXT <磁盘空间大小> [ K∣M ]][ MAXSIZE [ UMLIMITED∣<最大磁盘空间大小> [ K∣M ] ] ] ][ MINMUM EXTENT <数字值>[ K | M ] ][ DEFAULT <存储参数>][ ONLINE∣OFFLINE ][ LOGGING∣NOLOGGING ][ PERMANENT∣TEMPORARY ][ EXTENT MANAGEMENT [ DICTIONARY∣LOCAL [ AUTOALLOCATE∣UNIFORM [ SIZE <数字值>[ K∣M ] ] ] ] ]

其中,

[TEMPORARY]: 表示构建的临时表空间,如果是临时表空间则需要用 TEMPFILE 指定文件路径。

**[AUTOEXTEND ON NEXT N1 MAXSIZE M /OF ]:**表示表空间是否是自动扩展的,ON 为自动扩展,OF为不扩展,当自动扩展时,NEXT N1表示自动扩展的大小,MAX SIZE M 表示数据文件最大扩展到M大小。

**[PERMANENT] :**表示创建的表空间的类型,PERMANENT表示永久表空间,不填都是默认永久表空间。

**[EXTENT MANAGEMENT LOCAL/DICTIONARY]:**表示表空间管理的方式,LOCAL表示本地的管理模式,DICTIONARY表示数据字典管理模式,默认都是本地管理方式。

例:

create tablespace student
datafile 'C:\APP\ADMIN\ORADATA\ORCL\student.DBF'
size 100m
autoextend on next 10m maxsize 500m
permanent
extent management local;

说明:创建一个student表空间,指定了数据文件为“C:\APP\ADMIN\ORADATA\ORCL\student.DBF”,表空间是自动扩展的,每次自动扩展大小为10M,最大扩展到500M,创建的是永久表空间,用来存储student用户的数据库对象和数据,管理模式为本地管理。

通过查看数据字典dba_data_files和dba_tablespaces,可对表空间进行查询,查询代码如下:

select t.TABLESPACE_NAME, --表空间名t.FILE_NAME, --文件名t.AUTOEXTENSIBLE, --是否自动扩展t.BYTES / 1024 / 1024, --表空间初始大小t.MAXBYTES / 1024 / 1024, --表空间最大扩展到多少b.CONTENTS, --表空间类型b.EXTENT_MANAGEMENT --表空间管理模式
from dba_data_files t, dba_tablespaces b
where t.TABLESPACE_NAME = b.TABLESPACE_NAME

修改表空间

​ ALTER TABLESPACE命令可以修改现有的表空间或它的一个或多个数据文件。可以为数据库中每一个数据文件指定各自的存储扩展参数值;Oracle 12c会在自动扩展数据文件时使用这些参数。语法格式为:

 ALTER TABLESPACE <表空间名>[ ADD DATAFILE∣TEMPFILE  '<路径>/<文件名>' [ SIZE <文件大小> [ K∣M ] ][ REUSE ][ AUTOEXTEND [ OFF∣ON [ NEXT <磁盘空间大小>  [ K∣M ] ] ] ][MAXSIZE [ UNLIMITED∣<最大磁盘空间大小> [ K∣M ] ] ][ RENAME DATAFILE '<路径>/<文件名>',…n TO '<路径>/<新文件名>'',…n ][ DEFAULT STORAGE <存储参数>][ ONLINE∣OFFLINE [ NORMAL∣TEMPORARY∣IMMEDIATE ] ][ LOGGING∣NOLOGGING ][ READ ONLY∣WRITE ][ PERMANENT ][ TEMPORARY ]

删除表空间

​ 如果不再需要表空间和其中保存的数据,可以使用DROP TABLESPACE语句删除已经创建的表空间。语法格式为:

DROP TABLESPACE <表空间名>[ INCLUDING CONTENTS [ {AND | KEEP} DATAFILES ][ CASCADE CONSTRAINTS ]]

其中:

DROP TABLESPACE:删除表空间的关键字。

[INCLUDING CONTENTS]:表示在删除表空间的时候把表空间中的数据文件一并删除。

[CASCADE CONSTRAINTS]:表示在删除表空间的时候把表空间的完整性也一并删除。比如表的外键,和触发器等就是表的完整性约束。

表空间的使用

建立用户时指定表空间:

create user <用户名> identified by <密码>
[default tablespace <默认表空间名>]
[temporary tablespace <临时表空间名>]
[profile DEFAULT] - -使用默认数据文件
[account lock|unlock];      --修改锁定状态(LOCK|UNLOCK )

建立表时指定表空间:

create table <表名>
(<列名>   <类型>(精度),...
)
tablespace <表空间名>

Oracle 表空间(tablespace)相关推荐

  1. oracle 赋予dorp,oracle表空间(tablespace)的增删改查(create/drop/rename,move/select)

    oracle表空间(tablespace)的增删改查(create/drop/rename,move/select) 2013-03-05 oracle维护中经常会对表空间进行操作,整理了一下tabl ...

  2. 给Oracle表空间Tablespace扩展库文件

    版权声明:欢迎评论和转载,转载请注明来源. https://blog.csdn.net/zy332719794/article/details/78496233 一般来讲Oracle的表空间单个库文件 ...

  3. Oracle表空间(Tablespace)

     tablespace是Oracle空间管理上的逻辑单位,实体上存放数据的是tablespace里面的Data File. 所以tablespace可以看成是Data File的群组. table ...

  4. Oracle 表空间(tablespace)介绍

    Oracle 表空间(tablespace)介绍 在oracle中,表空间是Oracle数据对象和数据存储的容器,是一个逻辑概念,若干操作系统文件就可以组成一个表空间.表空间统一管理空间中的数据文件( ...

  5. Oracle 表空间扩容

    2019独角兽企业重金招聘Python工程师标准>>> 1.查询当前表空间使用情况 col FILE_NAME format a50; col SPACE_NAME format a ...

  6. oracle 创建空文件系统,六分钟学会创建Oracle表空间的实现步骤

    经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 select tablespace_name,file_id,blo ...

  7. navcat设置oracle表主键自增_初识 Oracle 表空间设置与管理

    本文出自头条号老王谈运维,转载请说明出处. 前言 表空间是 Oracle 特有的一种逻辑结构,是管理和组织 Oracle 数据文件一种方式,一个Oracle 数据库能够有一个或多个表空间,而一个表空间 ...

  8. Oracle 表空间 创建参数 说明

    一. 表空间的说明 官网的几个链接: Logical Storage Structures http://download.oracle.com/docs/cd/E11882_01/server.11 ...

  9. 六分钟学会创建Oracle表空间的步骤

    经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 select tablespace_name,file_id,blo ...

最新文章

  1. lisp 线性标注自动避让_泰州支重轮双头车自动化生产线
  2. 重启jboss出现问题:端口被占用
  3. 由Thread.sleep引发的
  4. PHP编程效率的20个要点
  5. python cad 二次开发bom_30.Python前端基础之BOM和DOM
  6. [Nescafé41]异化多肽(多项式求逆元)
  7. C++ 多态与虚函数面试题
  8. SSH KEY免密码验证
  9. mysql中ang_MySQL笔记
  10. 中望3d快捷键命令大全_史上最全的天正CAD快捷键命令大全:左撇子的也包括了...
  11. 蓝宝石rx470d原版bios_狼神矿卡烤机89°C!强刷蓝宝石RX570超白金显卡BIOS降温75°教程...
  12. 《百家讲坛》之战国七雄
  13. 【OpenGL】用GLFW和glad创建窗口
  14. Mapgis技巧篇1
  15. 深度学习21天实战caffe学习笔记《3 :准备Caffe环境》
  16. 安卓手机视频消重 去除qq短视频水印链接
  17. Hex文件头部修改软件
  18. 程序员,停止你的焦虑
  19. 时间、延迟以及延缓操作
  20. 软件设计师笔记(信息安全)

热门文章

  1. 没有人能比快递员更懂通信协议(sig mesh协议栈之网络架构)
  2. MIT线性代数笔记四 矩阵的LU分解
  3. macOS使用快捷键控制安卓手机音乐播放器
  4. JsonObject null 的神坑
  5. Python:环境变量设置PYTHONPATH解决impor导入模块报错
  6. 西方心理学对学习的研究和认识
  7. SD-WAN,让你的组网更灵活
  8. MATLAB下载处理.nii文件资源包(NIfTI_20140122zip)
  9. python超级大脑游戏代码_Super Brain超级大脑
  10. 词法分析——输入缓冲