`
squall140
  • 浏览: 141811 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

表空间的概念和使用

 
阅读更多

 

概念:表空间实质是组织数据文件的一种途径,Oracle就是通过表空间这个数据库对象完成对数据的组织的。在将数据插入Oracle数据库之前,必须首先建立表空间,然后将数据插入表空间的一个对象中。

解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。

目的和意义:方便管理,就像每个城市会划分成很多区,每个区又有很多街道一样

目的和意义具体体现在他的用途上:

-目录表空间
每个数据库只有一个目录表空间,它是在发出 CREATE DATABASE 命令时创建的。目录表空间被 DB2 命名为 SYSCATSPACE,它保存了系统目录表。总是在创建数据库时创建该表空间。

-常规表空间
常规表空间保存表数据和索引。它还可以保存诸如大对象(Large Object,LOB)之类的长数据,除非这些数据显式地存储在长表空间中。如果某些表空间是数据库管理的空间(Database Managed Space,DMS),则可以将表及其索引分别放到单独的常规表空间中。我们将在本文后面定义 DMS 和系统管理的空间(System Managed Space,SMS)之间的区别。每个数据库中必须至少有一个常规表空间。创建数据库时指定该表空间的缺省名为 USERSPACE1。

-长表空间
长表空间用于存储长型或 LOB 表列,它们必须驻留在 DMS 表空间中。它们还可以存储结构化类型的列或索引数据。如果没有定义长表空间,那么将把 LOB 存储在常规表空间中。长表空间是可选的,缺省情况下一个都不创建。

-系统临时表空间
系统临时表空间用于存储 SQL 操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据。每个数据库必须至少有一个系统临时表空间。随数据库创建的系统临时表空间的缺省名为TEMPSPACE1。

-用户临时表空间
用户临时表空间存储已声明的全局临时表。创建数据库时不存在用户临时表空间。至少应当创建一个用户临时表空间以允许定义已声明的临时表。用户临时表空间是可选的,缺省情况下一个都不创建。

 

 

 

 理解大致可以这样来简单看待Oracle的组成层次:

    数据库--表空间--某一个用户的表集--一张表--行、列……,对表的引用和授权,常是以用户为单位的。当然,实质上表空间是物理概念,而用户表是数据库中的对象,只是存于某一个表空间下的一块空间中。

表空间、段、区间和数据库对象

    Oracle数据库的物理存储结构由数据文件组成,但在逻辑上,Oracle将数据库所有数据文件占用的磁盘空间划分为一个或多个表空间进行存储管理。一个表空间可包含多个数据文件,但一个数据文件只能属于一个表空间。

    Oracle的逻辑存储结构大致有以下几个层次:表空间--段--区间--数据块。平常用到的主要是表空间、段和区间,段有数据段、索引段、临时段和回滚段几种。Oracle对象中的表,索引等便是存储在这不同的段里面。而一张数据库表,只属于数据段,但它可能跨越多个区间(Extent),因为区间包括固定的若干个数据块大小,一个区间未必放得下一张表,划分区间只是为了空间分配与回收的方便。

新增用户及其授权

    在Oracle数据库中新加入一个用户时,主要有以下几步:

    一、新建表空间(如新用户的默认表空间使用现有的表空间如USERS表空间,则不需要新建)。创建表空间时,需要指定数据文件等一些表空间的参数。

    二、新建用户。刚新建的用户可以没有指定任何权限属性,也可以指定其默认表空间等。

    三、用户授权。指定用户的默认表空间、将create session(连接数据库)、create table、select talbe等权限授予用户。这样用户便可以在自己默认表空间下进行各种操作了。如果需要将其它用户的表权限授予新用户,也可在此时完成。

    四、分配空间限额。一定要有这一步,否则将无法进行创建表的操作。分配每个用户在某个表空间的空间限额,是为了使用户对空间的利用更加合理。

    五、用户可进行操作了。

    下面是在网上找的一段实例:

  1. 1.建表空间    
  2. create tablespace OSDB datafile 'F:\Oracle\oradata\glsqjz\OSDB.ora' size 100m reuse default storage(initial 500k next 500k pctincrease 20);    
  3. 2.建用户    
  4. create user OSUSER identified by OSUSER;//identified by 后面的是密码,前面的是用户名    
  5. 3.用户授权    
  6. grant resource,connect,RECOVERY_CATALOG_OWNER to OSUSER ;    
  7. grant create table to OSUSER ;    
  8. alter user OSUSER quota unlimited ON OSDB;    
  9. alter user OSUSEdefault tablespace OSDB;    
  10. 4.删除表空间    
  11. DROP TABLESPACE TableSpaceName INCLUDING CONTENTS AND DATAFILES;    
  12. 5.删除用户    
  13. DROP USER User_Name CASCADE    
  14. 6.删除表的注意事项    
  15. 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。  
分享到:
评论

相关推荐

    Oracle用户(user)和表空间(tablespace).pdf

    本文详细介绍和阐述了 Oracle 用户(user)和表空间(tablespace)的概念和使用方法等内容,并对用户和表空间使用过程中的注意事项、关键知识点等进行了重点标注和详尽解析,以便于读者进行深入学习和理解。...

    oracle表空间详解

    Oracle 表空间详解 Oracle 表空间是 Oracle 数据库中一个...使用表空间可以帮助我们更好地管理数据库的存储空间,提高数据库的性能和工作效率。同时,也可以帮助我们更好地组织和管理数据,提高数据的安全性和可靠性。

    Oracle RAC增加ASM盘,创建表空间

    在 Oracle RAC 中增加 ASM 盘和创建表空间是两个非常重要的步骤,这两个步骤将直接影响 Oracle RAC 的性能和可用性。因此,在实践中,我们需要遵循严格的步骤和要求,以确保 Oracle RAC 的稳定运行。

    oracle数据库-改变表空间数据文件的位置

    在开始之前,我们需要了解Oracle数据库中的表空间和数据文件的概念。表空间是Oracle数据库中用于存储数据的逻辑存储单元,而数据文件则是表空间的物理存储单元。每个表空间都可以包含多个数据文件,以便存储大量数据...

    oracle数据库_实例_用户_表空间之间的关系

    Oracle 数据库实例用户表空间之间的关系是 Oracle 数据库管理系统的核心概念。了解它们之间的关系对于数据库的设计、管理和优化至关重要。 数据库 Oracle 数据库是一个物理存储单元,包括数据文件(ORA 或者 DBF)...

    BASIS手册-监控SAP表空间.pdf

    在数据库性能界面中可以查看表空间的信息,包括表空间的使用情况、扩展情况和剩余空间等信息。 八、选择需要监控的表空间 在查看表空间信息时,SAP系统管理员需要选择需要监控的表空间,然后双击该表空间可以查看...

    Oracle数据库表空间设计.pdf

    1、oracle体系结构 2、基本概念 3、表空间类型 4、表空间设计原则 5、表空间的应用 6、表空间的维护 7、表空间的监控 8、表空间相关数据字典

    RAMAN特性参数(一)exclude/skip readonly/只读表空间备份恢复

    1、只读表空间定义和特性 12 2、只读表空间的备份与恢复 13 3、Case1只读表空间的备份恢复 14 4、Case2只读表空间的备份恢复 16 5、Case3只读表空间的备份恢复 19 6、Case4只读表空间的日志备份恢复 20 7、只读表...

    晶体结构空间群表.pdf

    在晶体结构空间群表中,我们可以看到230种不同的空间群,每种空间群都有其独特的对称操作和符号表示。 在晶体结构空间群表中,我们可以看到以下几个重要的概念: 1. 点群(Point group):点群是指在三维空间中的...

    Oracle用plsql来建立表空间和用户语句

    oracle中数据空间的申请、用户定义和权限给予

    AutoCAD图纸空间概念及其使用技巧

    AutoCAD图纸空间概念及其使用技巧,图纸空间操作简单,概念性强,容易搞错 从上面的叙述看,图纸空间的概念有点搞,但如果概念清楚了,操作起来其实非常容易。比如尺寸标注,那要比在模型空间出图方便得多。但是,...

    31 表空间以及划分多个数据页的数据区,又是什么概念.pdf

    31 表空间以及划分多个数据页的数据区,又是什么概念.pdf

    论文研究-多表达空间实体的概念模型 .pdf

    多表达空间实体的概念模型,刘笑芳,,空间实体的概念模型是空间领域建模的研究热点,然而目前尚缺乏对多表达空间实体的概念模型描述。本文建立了一个多表达空间实体的

    论文研究 - Sobolev空间,Schwartz空间以及电磁和引力耦合的定义

    解的多重性概念是在[1]中提出的,它基于Schwartz空间S-(R)以及一些在[2]和[3]中首次定义的称为能量空间的子空间中的能量算符理论。 主要思想是在那些子空间中寻找给定线性PDE的解。 在这里,这项工作使用Sobolev...

    表空间和数据文件

    为了管理数据文件,ORACLE提出了表空间的概念ORACLE将数据逻辑的存储在表空间中,而实际上是存储在数据文件。 ORACLE曾经声称,自己的数据库系统具有跨平台特性,在一个数据库平台上开发的数据库可以不加修改的移植...

    ORACLE的UNDO表空间

    在本节中,我们将了解UNDO表空间的概念、特点和应用场景。 1. Undo 与 Redo 在 Oracle 中,Undo 和 Redo 是两个不同的概念。Undo 代表撤销操作,而 Redo 代表重做操作。它们都是 Oracle 数据库中用于维护数据一致...

    ArcGIS空间分析中文版使用手册 3

    用于解决空间问题的概念模型 58 用概念模型创建适宜性地图 61 理解栅格数据与分析 第四章 理解栅格数据 73 理解栅格数据集 74 坐标空间和栅格数据集 78 离散的和连续的数据 82 栅格数据集的精度 84 栅格编码 85 在...

    在线表重定义——Oracle 10g系列专栏(二).pdf

    在线表重定义的功能包括:更改表的储存参数,将表数据移到其它表空间,重整表数据,减少数据碎片,将一般表转换成分割表,新增或移除字段等。 在线表重定义的过程可以分为三个步骤:创建临时表、在线重定义、同步...

    C#命名空间分类

    C#命名空间详细分类介绍,方便编程使用,System.Collections //命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。 System.Collections.Generic //命名空间包含定义...

    数据库表空间介绍

    什么是表空间? Oracle数据库包含逻辑结构和物理文件。数据库的物理结构是指构成数据库的一组操作系统文件数据库的逻辑结构是指...临时表空间是通用的,所的用户都使用TEMP作为临时表空间。一般只有tmp一个临时表空间

Global site tag (gtag.js) - Google Analytics