表空间是什么?

  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. LoadRunner系列之—-01 接口压力测试脚本

    LoadRunner中一般用如下函数进行接口测试: <一>. http或soap协议下的get请求接口,样例如下: web_url("integrated_query.jsp&q ...

  2. 工作总结 js 选择器选择多条元素 支持一起设置他们属性 $("#edumes input[type='radio']").prop("checked", false);

    $("#edumes input[type='radio']").prop("checked", false); $("#edumes input[t ...

  3. 发现个delphi调用vc写的Dll中包括pchar參数报错奇怪现象

    发现个delphi调用vc写的Dll中包括pchar參数奇怪现象 procedure中的第一行语句不能直接调用DLL的函数,否则会执行报错,在之前随意加上条语句就不报错了奇怪! vc的DLL源代码地址 ...

  4. vsCode 常用快捷键(mac 版)

    光标多行显示: commond+Alt+topArrow/downArrow 查找:commond+F 查找并按顺序切换下一个:commond+G 跳转到某一行: ctrl+G 输入行号跳转 跳转到某 ...

  5. 关于MySQL的TPS和QPS

    TPS - Transactions Per Second(每秒传输的事物处理个数),这是指server每秒处理的事务数,支持事务的存储引擎如InnoDB等特有的一个性能指标. 计算方法: TPS = ...

  6. [思考]我们应该怎样建设企业IT

    从人员架构上来看,要不要企业自己的IT团队?如果要,应该有什么样的架构?运维,开发,管理,项目? 从是否外包角度看,要不要外包?如果外包,如何建立外包流程? 从业务角度看,企业IT的发展应该是围绕业务 ...

  7. 导入项目 R.java没有

    网上一搜,各种 Android tools-fix your porject或者Clean ...不好使 其实可能是由于XML布局文件有错误导致,修改掉这些错误就可以了..

  8. 我要开启vue2新征程。

    最近我们Team接到一个新项目,给财务部开发一个内部用的结算系统. 我想了想,心里这个兴奋啊(内部系统诶,可以大胆一点的用vue2了...) 又多了一个能练手的项目,之前的卡爷就是太坑爹了...明明v ...

  9. C项目实践--家庭财务管理系统

    1.功能需求分析 家庭财务管理系统给家庭成员提供了一个管理家庭财务的平台,系统可以对家庭成员的收入和支出进行增加,删除.修改和查询等操作,并能统计总收入和总支出.其主要功能需求描述如下: (1)系统主 ...

  10. Delphi的函数指针

    不求全面,先留个爪: TNotifyEvent = procedure(Sender: TObject) of object; TMethod = record Code, Data: Pointer ...