Oracle表空间详解

1.表空间的分类

Oracle数据库把表空间分为两类:系统表空间和非系统表空间。

1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数据库必须的表空间,满足数据库系统运行的最低要求,如系统表空间中存放的数据字典、还原段。在用户没有创建非系统表空间时,系统表空间可以存放用户数据或索引等,但是这样做会增加系统表空间的I/O,影响系统效率。

1.2非系统表空间是用户根据业务需求而创建的表空间,非系统表空间可以按照数据多少、使用频度、需求数量等方面灵活设置,这些表空间可以存储还原段或者临时段,可以有效的提高系统的效率。

2.创建表空间

2.1创建常用表空间

create tablespace user_data001  datafile 'd:\user_data001.dbf' size 100M;

2.2创建本地管理的表空间

create tablespace bendi_data datafile 'd:\bendi_data.dbf' size 100M

extent management local uniform size 1M;

2.3创建还原表空间

create undo tablespace user_undo datafile 'd:\user_undo.dbf' size 10M;

2.4创建临时表空间

create temporary tablespace user_temp tempfile 'd:\user_temp.dbf' size 20M
   extent management local
   uniform size 1M;

2.5创建默认临时表空间

默认临时表空间指的是一旦数据库启动则默认使用该表空间作为默认的临时表空间,用于存放用户会话数如排序操作。默认临时表空间可以在创建数据库时创建,指令为default temporary tablespace ,也可以在数据库创建后创建,此时需要先建立一个临时表空间,再使用alter database default temporory tablespace 指令更改临时表空间。

2.6创建大文件表空间

create bigfile tablespace bigfiletbs datafile 'd:\bigfiletbs001.dbf' size 2G;

大文件表空间由一个大文件组成,而不是由多个传统的小文件组成,这使得Oracle有能力创建和管理大文件。正是大文件表空间和大文件的一一对应特性,使得表空间成为磁盘空间管理、备份和恢复的操作对象。

3.表空间管理

3.1只读管理就是把表空间设置为只读状态,这样的表空间中的数据只能被用户读取,而不能做任何修改或插入操作,只读表空间不被重做日志保护,减少重做日志的大小。将表空间设置为只读状态:alter tablespace user_tas read only;

3.2修改表空间大小:

第一种是在创建表空间时,使用AUTOEXTEND ON字句使得表空间在需要的时候可以自动扩展

create tablespace manager_tbs1 datafile 'd:/tbs_manager1/tbs1.dbf' size 100M  autoextend on;

第二种是在创建表空间后使用ALTER DATABASE DATAFILE   file_name(完整路径) AUTOEXTEND ON

第三种是在表空间中增加数据文件

alter tablespace manage_tbs add datafile 'd:\tbs_manager\tbs002.dbf' size 50M;

第四种方法是修改数据文件的大小

alter  database datafile 'd:\tbs_manager\tbs002.dbf' resize 100M;

4.删除表空间

当不需要一个表空间时,可以删除该表空间以释放磁盘空间。

DROP TABLESPACE tablespace_name

[INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]

including contents:删除表空间中的所有区段

and datafiles:删除表空间中的数据文件,该文件时一个Oracle格式的操作系统文件

cascade constraints:删除和该表空间中表相关的引用完整性约束,外部表会引用该表空间的表的唯一键等作为外部表的引用。

-------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Oracle表空间详解的更多相关文章

  1. Oracle 表空间详解

    目录 目录 表空间概述 表空间的分类 默认表空间 查看默认的永久表空间 查看默认的TEMP表空间 查看默认的表空间类型 逻辑结构到物理结构的映射 对表空间的操作 查看表空间使用情况 查看数据库拥有的表 ...

  2. ORACLE结构体系篇之表空间详解.md

    表空间详解一.系统表空间SYSTEM 表空间是Oracle 数据库最重要的一个表空间,存放了一些DDL 语言产生的信息以及PL/SQL 包.视图.函数.过程等,称之为数据字典,因此该表空间也具有其特殊 ...

  3. oracle表分区详解

    原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...

  4. 【Oracle XE系列之四】创建OracleXE表空间详解

    创建OracleXE表空间示例 sqlplus /nolog connect sys as sysdba SQL> create tablespace OPFOCN  datafile 'C:\ ...

  5. oracle表分区详解(按天、按月、按年等)

    分区表的概念:  当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区.表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间 ...

  6. mysql-5.7 收缩系统表空间详解

    innodb 系统表空间是一个逻辑上的概念,它的物理表现就是innodb系统表空间文件:在讲扩展系统表空间时我们说到 可以用增加文件,增加autoextend标记 这两种方式来解决:但是问题到了收缩表 ...

  7. 分享知识-快乐自己:oracle表分区详解

    从以下几个方面来整理关于分区表的概念及操作: 1)表空间及分区表的概念: 2)表分区的具体作用: 3)表分区的优缺点: 4)表分区的几种类型及操作方法: 5)对表分区的维护性操作: 1):表空间及分区 ...

  8. MySQL数据库系列(四)- InnoDB下的共享表空间和独立表空间详解

    一.概念 共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制.从Innod ...

  9. mysql-5.7 扩展innodb系统表空间详解

    一.innodb系统表空间的简介: innodb 系统表空间是由若干个文件组成的,表空间的大小就是对应文件的大小,表空间文件是由innodb_data_file_path 这人参数来定义的.下面我们来 ...

随机推荐

  1. Eclipse + PyDev 无法导入模块

    下载后的包,在python IDLE 都可以导入这些模块,但是在Eclipse里面需要我们自己添加路径 需要导入的模块,在那个路径下,就在这里添加路径即可,其他的同理.

  2. MySQL备份方案-->(利用mysqldump以及binlog二进制日志)

                                                         MySQL备份方案-->(利用mysqldump以及binlog二进制日志) 随着数据不 ...

  3. Android之后台服务判断本应用Activity是否处于栈顶

    在Android开发中,我们经常想知道是否自己的服务处于后台运行中,因为在后台运行的服务器优先级会降低,也就极有可能会被系统给回收掉,有什么好办法呢?Google推荐我们将服务运行到前台,如何知道服务 ...

  4. windows线程同步的总结

    一 线程 1)如果你正在编写C/C++代码,决不应该调用CreateThread.相反,应该使用VisualC++运行期库函数_beginthreadex,退出也应该使用_endthreadex.如果 ...

  5. 参加2013中国软件开发者大会(SDCC)会,听软件开发趋势

    1.SDCC        盛大召开的会议,既然参加了,就写篇博客记一下. 2.蒋公子     首先向大会主席台走来的是csdn老大...... 额,好像不是走过来的.蒋涛采用了个特殊的上台方式呢~ ...

  6. 链栈之C++实现

    链栈是借用单链表实现的栈.其不同于顺序栈之处在于: 1.链栈的空间是程序运行期间根据需要动态分配的,机器内存是它的上限.而顺序栈则是 静态分配内存的. 2.链栈动态分配内存的特性使得它一般无需考虑栈溢 ...

  7. json转String 和 String转json 和判断对象类型

    function ajaxGetMenuList(){ $.getJSON("login.do", function(json){ var r = ""; zN ...

  8. NET平台机器学习组件-Infer.NET

    NET平台机器学习组件-Infer.NET(三) Learner API—数据映射与序列化 阅读目录 关于本文档的说明 1.基本介绍 2.标准数据格式的映射 3.本地数据格式映射 4.评估数据格式映射 ...

  9. newlisp 注释生成文档

    最近写了一个newlisp_armory库,用来实现一些newlisp自身不支持的操作.比如跨windows和ubuntu的目录拷贝功能等. 自己用的时候,发现没有API reference文档参考, ...

  10. 不要打开文件,阅读Rvt信息档案

    叶老师,想问一下是否能基于revit API 2014,直接在开发时传递给程序要处理的文件名称和路径.而不用再在revit软件中打开为当前活动视图,就直接获得文件里信息.这样可行不? 答: 能够.你能 ...