表空间是什么?

  Oracle数据库包含逻辑结构和物理结构。

  数据库的物理结构是指构成数据库的一组操作系统文件。

  数据库的逻辑结构是指描述数据组织方式的一组逻辑概念及它们之间的关系。

  表空间是数据库数据库逻辑结构的一个重要组件。表空间可以存放各种应用对象,如表、索引。而每个表空间由一个或多个数据文件组成。

表空间的分类

  1.永久性表空间:

      一般保存表、视图、过程和索引等的数据。SYSTEM、SYSAUX、USERS、TEMP表空间是默认安装的。

  2.临时性表空间:

      只用于保存系统中短期活动的数据,如排序数据等。

  3.撤销表空间:

      用来帮助回退未提交的事务数据,已提交了的数据在这里是不可以恢复的。一般不需要键临时和撤销表空间,除非把他们转移到其

      他磁盘中以提高性能。

表空间的作用

  1.对不同用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户数据的操作,对模式对象的管理。

  2.可以将不同数据文件创建到不同的磁盘中,有利于管理磁盘空间,有利于提高I/O性能,有利于备份和恢复数据库。

Oracle 系统自动建立的表空间

  一般在完成Oracle系统的安装并创建Oracle实例后,Oracle系统会自动建立多个表空间。

  1SYSTEM 表空间

    SYSTEM表空间用于存放 Oracle系统内部表和数据字典的数据,如表名、列名、用户名等。不建议将用户创建的表、索引等对象存放到 SYSTEM表空间中。

  2SYSAUX表空间

    SYSAUX表空间用于存放 Oracle系统内部的常用样例用户的对象。SYSAUX表空间一般不存储用户的数据,由 Oracle系统内部自动维护。

  3.撤销表空间

    撤销表空间用于存放撤销信息的表空间。当我们对数据库表的数据进行增加、删除、修改时,Oracle系统自动使用撤销表空间来临时存放修改前的数据。当

    所做的修改操作完成并提交后,Oracle系统可根据需要保留修改前数据时间长短来释放撤销表空间的部分空间。一般在创建 Oracle实例后,Oracle系统自动

    创建一个名字为“UNDOTBS1”的撤销表空间。

  4USERS 表空间

    USERS表空间是 Oracle建议用户使用的表空间,可以在这个表空间上创建各种对象,如创建表、索引等。Oracle的基本样例用户 SCOTT的对象就存放在

    USERS表空间中。

  5TEMP 表空间

    TEMP表空间是 Oracle系统用于存放临时数据的特殊表空间。例如,当操作中需要进行排序时,Oracle系统就将排序的数据临时存放在该表空间内。排序处

    理完成后即可释放排序数据所占用的空间,因此称之为临时表空间。

创建表空间

    CREATE TABLESPACE tablespacename
    DATAFILE
    'filename' [SIZE integer [K | M]] [,...]
    [AUTOEXTEND [OFF | ON]];

    解释:

        tablespacename是需创建的表空间名称。

        filename是数据文件存放的路径和名称。

        integer是你自己输入的一个数字,指定文件的大小,K是千字节大小,M是兆字节大小。

        ...(省略号)是指定组成表空间的另一个数据文件。创建表空间时可指定多个数据文件,每个数据文件之间用,(逗号)分割。

        AUTOEXTEND用来启动或禁用数据文件的自动扩展,ON是空间使用完毕会自动扩展,OFF是不自动扩展。设置为OFF可能会出现表空间剩余容量

        为0的情况,使数据不能存储到数据库中。

    例:如下,创建一个名为tp_hr的表空间,有两个数据文件,自动扩展大小,初始大小是30M(兆)。

        CREATE TABLESPACE tp_hr
        DATAFILE
        'd:\data\tp_hr01.dbf' SIZE 30M,
        'd:\data\tp_hr02.dbf' SIZE 30M AUTOEXTEND ON;

查看表空间

    SELECT file_name,tablespace_name,bytes,autoextensible
    FROM dba_data_files
    WHERE tablespace_name='tp_hr';    --根据表空间名称查询

调整表空间大小

    方法一:更改数据文件的大小

        ALTER DATABASE DATAFILE
        'D:\DATA\tp_hr01.dbf'    --指定文件路径
        RESIZE 80M;          --指定大小

    方法二:向表空间内添加数据文件

        ALTER TABLESPACE tp_hr    --指定表空间的名称
        ADD DATAFILE
        'E:\DATA\tp_hr02.DBF' SIZE 20M     --指定文件路径和大小
        AUTOEXTEND ON;                           --自动扩展

删除表空间

    方式1:

        DROP TABLESPACE tp_hr;    --删除名为tp_hr的表空间,但是这个语法只是将表空间和数据库的“联系”删除了,不会删除实际的数据文件。

    方式2:

        DROP TABLESPACE tp_hr INCLUDING CONTENTS;      --删除名为tp_hr的表空间,并且把数据文件也删除掉。

    (注意:删除表空间之前最好对数据库进行备份。)

Oracle中的表空间的更多相关文章

  1. oracle中的表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    数据文件和日志文件是数据库中最重要的文件.它们是数据存储的地方.每个数据库至少有一个与之相关的数据文件,通常情况下不只一个,有很多.数据在数据文件中是如何组织的?要了解这些内容我们首先必须理解什么是表 ...

  2. Oracle中undo表空间的切换

    查看操作系统: SQL>  !cat /etc/redhat-releaseRed Hat Enterprise Linux Server release 7.4 (Maipo)查看数据库版本: ...

  3. oracle中的表空间以及和表空间有关的操作

    oracle中表空间 表空间是oracle对物理数据库上相关数据文件的逻辑映射.一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构.每个数据库至少有一个表空间(sys ...

  4. Oracle中暂时表空间的清理

    作者:iamlaosong Oracle暂时表空间主要用来做查询和存放一些缓冲区数据. 暂时表空间消耗的主要原因是须要对查询的中间结果进行排序.暂时表空间的主要作用: 索引create或rebuild ...

  5. 如何在Oracle中建立表和表空间?

    1.建表空间 ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方 ...

  6. Oracle 数据库中查看表空间的2种方法

    在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracl ...

  7. 记一次ORACLE的UNDO表空间爆满分析过程

    这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...

  8. Oracle 10g bigfile表空间、smallfile 表空间

    smallfile tablespace设置不同大小的db_block_size时数据文件允许的最大大小 db_block_size=2KB,2KB*4M=8192M      8Gdb_block_ ...

  9. Oracle DB 执行表空间时间点恢复

    • 列出在执行表空间时间点恢复(TSPITR) 时会发生的操作 • 阐释TSPITR 使用的术语的定义 • 确定适合将TSPITR 用作解决方案的情况 • 确定时间点恢复的正确目标时间 • 确定不能使 ...

随机推荐

  1. fastclick 源码注解及一些基础知识点

    在移动端,网页上的点击穿透问题导致了非常糟糕的用户体验.那么该如何解决这个问题呢? 问题产生的原因 移动端浏览器的点击事件存在300ms的延迟执行,这个延迟是由于移动端需要通过在这个时间段用户是否两次 ...

  2. JS实战 · 实践积累点滴杂烩

    onmouseover : 鼠标进入 onmouseout : 鼠标离开 onfocus:得到焦点   表单提交执行JS代码,有两种常用方式. 一:在局部(比如按钮定义处)用onclick=" ...

  3. SQL设置SQLServer最大连接数查询语句

    设置最大连接数 下面的T-SQL 语句可以配置SQL Server 允许的并发用户连接的最大数目. exec sp_configure 'show advanced options', 1exec s ...

  4. 关于kafka连接不上别的机器问题Connection refused

    1.确认config里面的server.properties 正确(包括IP+端口2181记得看清,用hostname的话记得etc/hostnames下面查看全部配置上没,建议用hostname方便 ...

  5. typeof和instanceof运算符

    (1)typeof运算符用于判断某一个变量的数据类型,它可以作为函数来用,如typeof(a)可以返回变量a的数据类型:也可以作为一个运算符来使用,例如typeof a 也可以返回变量a的数据类型,不 ...

  6. GCC扩展 __attribute__ ((visibility("hidden")))

    试想这样的情景,程序调用某函数A,A函数存在于两个动态链接库liba.so,libb.so中,并且程序执行需要链接这两个库,此时程序调用的A函数到底是来自于a还是b呢? 这取决于链接时的顺序,比如先链 ...

  7. 微软新一代输入法框架 TSF - Text Service Framework 小小的研究

    实际上windows中有两套输入法框架,一套叫做imm32.一套叫做tsf,win7以后的新系统都是优先使用tsf的,现在新出的输入法基本也是基于tsf的. 你可以参考一下这篇文章,虽然是c++的代码 ...

  8. BZOJ_2795_[Poi2012]A Horrible Poem_hash+暴力

    Description 给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节. 如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到. Input 第一行一个正 ...

  9. Derek解读Bytom源码-持久化存储LevelDB

    作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom ...

  10. shiro会话管理

    Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理.会话事件监听.会话存储/持久化.容器无关的集群. ...