DBA_Tablespace表空间的概念和管控(概念)

2014-07-24 BaoXinjian

一、摘要



我们知道oarcle数据库真正存放数据的是数据文件(data files);

Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间;

在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段、区、块等逻辑结构;

从物理结构上看是放在数据文件中。一个表空间可由多个数据文件组成;

1. 表空间属性

  • 一个数据库可以包含多个表空间,一个表空间只能属于一个数据库
  • 一个表空间包含多个数据文件,一个数据文件只能属于一个表空间
  • 表这空间可以划分成更细的逻辑存储单元

2. 基本的表空间(系统中默认创建的几个表空间:)

  • SYSTEM
  • SYSAUX
  • USERS
  • UNDOTBS1
  • EXAMPLE
  • TEMP

3. 表空间的分类

  • 永久表空间                存放永久性数据,如表,索引等。
  • 临时表空间                不能存放永久性对象,用于保存数据库排序,分组时产生的临时数据。
  • UNDO表空间             保存数据修改前的镜象。

4. 表空间的管理

  • 字典管理:全库所有的空间分配都放在数据字典中。容易引起字典争用,而导致性能问题。
  • 本地管理:空间分配不放在数据字典,而在每个数据文件头部的第3到第8个块的位图块,来管理空间分配。

5. 基本操作

  • 1: 创建表空间
  • 2: 表空间管理
  • 3: 维护表空间
  • 4: 表空间配额

二、结构分析



1. 表空间和数据文件的关系

2. 数据库存储结构

三、案例1 - 创建表空间



1. 创建表空间,并指定两个数据库文件

 1 CREATE TABLESPACE BXJ_DATA
 2 DATAFILE ‘/oradata/BXJ_DATA_001.dbf‘
 3 SIZE 100M
 4 EXTENT MANAGEMENT LOCAL
 5 SEGMENT SPACE MANAGEMENT AUTO ONLINE;
 6
 7 ALTER TABLESPACE BXJ_DATA
 8 ADD DATAFILE ‘/oradata/BXJ_DATA_001.dbf‘
 9 SIZE 100M
10 AUTOEXTEND OFF;

四、案例2 - 表空间管理



1. 常用的表查询

  • --包含数据库中所有表空间的描述信息

    • SELECT * FROM DBA_TABLESPACES
  • --包含当前用户的表空间的描叙信息
    • SELECT * FROM USER_TABLESPACES
  • --包含从控制文件中获取的表空间名称和编号信息
    • SELECT * FROM V$TABLESPACE;
  • --包含数据文件以及所属的表空间的描述信息
    • SELECT * FROM DBA_DATA_FILES
  • --包含临时数据文件以及所属的表空间的描述信息
    • SELECT * FROM DBA_TEMP_FILES
  • --包含从控制文件中获取的数据文件的基本信息,包括它所属的表空间名称、编号等
    • SELECT * FROM V$DATAFILE
  • --包含所有临时数据文件的基本信息
    • SELECT * FROM V$TEMPFILE

2. 查看表空间使用情况

3. 计算表空间使用情况(考虑了数据文件自动增长情况)

五、案例3 - 维护表空间



1. 表空间状态有下面几种状态:online、offline、read only、read write

SELECT FILE#, STATUS, ENABLED FROM V$DATAFILE

2. 设置为脱机状态

SQL>ALTER TABLESPACE TBS_DM_DAT OFFLINE IMMEDIATE;

3. 设置为联机状态

SQL> ALTER TABLESPACE TBS_DM_DAT ONLINE;

4. 设置为只读状态

SQL>ALTER TABLESPACE TBS_DM_DAT READY ONLY;

5. 设置为读写状态

SQL>ALTER TABLESPACE TBS_DM_DAT READ WRITE;

6. 修改表空间名称

在ORACLE 10g 之前,表空间的名称是不能被修改的。在ORACLE 11G中,通过ALTER TABLESPACE 语句中使用RENAME子句,数据库管理员可以修改表空间的名称

7. 修改表空间自动增加打开

ALTER DATABASE DATAFILE ‘/database/oracle/oradata/gsp/tbs_dm_data_002.dbf‘ AUTOEXTEND ON;

8. 修改表空间自动增加关闭

ALTER DATABASE DATAFILE ‘/database/oracle/oradata/gsp/tbs_dm_data_002.dbf‘ AUTOEXTEND OFF;

六、案例4 - 表空间配额度



表空间不足与用户配额不足是两种不同的概念。表空间的大小是指实际的用户表空间的大小,而配额大小指的是用户指定使用表空间的的大小。两者的解决方式亦不相同

1. 查看用户和表弓箭配额

  • 查看所有用户表空间的配额情况:    SELECT * FROM DBA_TS_QUOTAS
  • 查看当前用户表空间的配额情况:   SELECT * FROM USER_TS_QUOTAS

********************作者: 鲍新建********************

参考: http://www.cnblogs.com/kerrycode/p/3418694.html

DBA_Tablespace表空间的概念和管控(概念)

时间: 2024-08-29 12:40:08

DBA_Tablespace表空间的概念和管控(概念)的相关文章

浅谈mysql中各种表空间(tablespaces)的概念

mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一下这些表空间的概念. 1.系统表空间(System Tablespace) innodb系统表空间包含innodb数据字典(innodb相关对象的元数据),同时,双写缓冲(doublewrite buffer).改变缓冲(change buffer)和undo日志(undo logs)等也存储于系统

oracle数据库-表空间基础语法及举例

数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构. 物理结构是指现实存储单元,由一组文件组成如数据文件.日志文件.控制文件. 数据文件:用于存储数据的文件.如表,索引和数据等都存储在数据文件中. 日志文件:用于记录对数据库的修改信息. 控制文件:用于存储 Oracle实例信息.数据文件信息和日志文件信息的二进制文件.由于存储了数据文件和日志文件的信息,所以 Oracle启动时必须访问呢控制文件. 逻辑结构式是指数据概念性的组织.包括  表空间.表.行

oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

数据文件和日志文件是数据库中最重要的文件.它们是数据存储的地方.每个数据库至少有一个与之相关的数据文件,通常情况下不只一个,有很多.数据在数据文件中是如何组织的?要了解这些内容我们首先必须理解什么是表空间(tablespace).段(segment).区(extent).块(block),这些都是oracle数据库在数据文件中组织数据的基本单元.现在我们来理解这些概念. 块是数据存储的物理单位,也是数据文件中最基础的单位,数据直接存储在块上.是oracle空间分配的最小单位.oracle中的块大

表空间

数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构. 物理结构是指现实存储单元,由一组文件组成如数据文件.日志文件.控制文件. 数据文件:用于存储数据的文件.如表,索引和数据等都存储在数据文件中. 日志文件:用于记录对数据库的修改信息. 控制文件:用于存储 Oracle实例信息.数据文件信息和日志文件信息的二进制文件.由于存储了数据文件和日志文件的信息,所以 Oracle启动时必须访问呢控制文件. 逻辑结构式是指数据概念性的组织.包括  表空间.表.行

表空间碎片化一二

最近遇到一个问题,有人说表空间的自动扩展会带来碎片化,我觉得这是一个误区,有必要说说. 1.什么时候开始出现碎片化?表空间是一个逻辑的概念,为数据库提供使用空间的逻辑结构,其对应物理结构是数据文件,一个表空间可以包含多个数据文件.表空间存放的是段(segment).而段是数据库一种逻辑结构,包括表段,索引段,回滚段等,段存在于表空间中,并对应一定的存储空间. 那什么时候开始出现碎片化呢?所有的Oracle段(为了理解方便,后面把segment作为表的一个同义词)都有一个在段内容纳数据的上限,我们

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

数据文件和日志文件是数据库中最重要的文件.它们是数据存储的地方.每个数据库至少有一个与之相关的数据文件,通常情况下不只一个,有很多.数据在数据文件中是如何组织的?要了解这些内容我们首先必须理解什么是表空间(tablespace).段(segment).区(extent).块(block),这些都是oracle数据库在数据文件中组织数据的基本单元.现在我们来理解这些概念.     块是数据存储的物理单位,也是数据文件中最基础的单位,数据直接存储在块上.是oracle空间分配的最小单位.oracle

表空间与用户的关系 表空间和数据文件的关系 schema

一个表空间有多个数据文件,一个数据文件只能属于一个表空间. 一个数据库可以有多个表空间,每一个库都有一个system表空间. 一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用. 用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间. 用户在创建表的时候没有指定表空间,使用该用户的默认表空间(创建用户的时候需要指定). 方案(schema)又叫模式,是比表空间小

Oracle数据库自带表空间

需求:需要整理现场用户创建的表空间以及其存储数据,进行规范化管理.在整理用户现场建立的表空间时,需要排除掉非用户创建的表空间,所有首先需要那些表空间是用户创建的,那些是Oracle自带的. 本机测试建立一个新库,发现自带表空间如下: 下面对每一个表空间进行简单说明(部分内容引自网络): 1.SYSAUX表空间 SYSAUX表空间在Oracle Database 10g中引入,作为SYSTEM表空间的辅助表空间.以前一些使用独立表空间或系统表空间的数据库组件现在在SYSAUX表空间中创建.SYSA

ORACLE 数据库、实例、表空间、用户、数据库对象

Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的"数据库",包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. ① Oracle数据库是一系列物理文件的集合: 组成Oracle数据库的文件可以分成三个类型:数据文件(data file).重做日志文件(redo log file)和控制文件(control file).数据文件保存数据,