4.Oracle表空间

来源:互联网 发布:出租淘宝号的平台 编辑:程序博客网 时间:2024/04/28 08:01
Oracle数据库的存储结构:
分为物理结构逻辑结构
    物理结构
        数据文件(.dbf)、日志文件(.log)、控制文件(.ctl)
    逻辑结构
        表空间、段、区、数据块



逻辑角度来看
    1.数据库(database)是由多个或一个表空间(tablespace)组成。
    2.表空间(tablespace)是由多个段(segment)组成。
     注:一个数据文件要占用一个段,一个索引也要占用一个段。
    3.一个段(segment)是由多个区(extent)组成。
    4.一个区(extent)是由多个连续的数据块(Databook)组成。
     注:数据块(Databook)是在逻辑上属于连续的,在物理磁盘上可能是分散的。
物理角度来看
    1.一个表空间(tablespace)是由多个数据文件组成,这些数据文件是实实在在存储在硬盘上的。
小结:
    1.逻辑存储结构是和操作系统无关,是由oracle数据库创建和管理的。
    2.物理存储结构是和操作系统有关,因为要存储在物理磁盘上。
详细说明:
    表空间(tablespace):
        表空间是最大的逻辑单位,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小总和。
表空间分类

类别
说明
永久性表空间
一般保存表、试图、过程和索引等数据。
SYSTEM、SYSAUX、USERS、EXAMPLE表空间是默认安装的。
临时性表空间
只用于保存系统中短期活动的数据,如排序数据等。
撤销表空间
用来保住回退未提交的事务数据,已经提交了的数据在这里是不可以恢复的。一般不需要建临时和撤销表空间,除非把他们转移到其它磁盘中以提高性能。
System:系统表空间,存放关于表空间的名称,控制文件,数据文件等。
Temp:临时表空间存放临时表和临时数据,用于排序。
Users:用户表空间,永久妇女放用户对象和隐私信息。
Sysaux:辅助系统表空间,减少系统负荷,提高系统作业效率。

    段(Segment):
    段是表空间的逻辑存储结构,它由一个或多个区组成,段将占用并增长存储空间。
    引导段:存储数据字典表的定义
    临时段:存储表排序操作期间的临时表的数据
    回滚段:存储修改之前的位置和值
    索引段:存储表上最佳查询的所有索引数据
    数据段:存储表中所有数据
   
   (Extent):
    区是由一组数据块组成,区是由段分配的,分配的第一个区称为初始区,以后分配的去为增量区。
    
   数据块(Database Block)
    数据块是数据库使用的I/O最小单元,又称逻辑块或oracle块。一个数据块对应一个或多个物理块。
    数据块由一下五部分组成:
     标题:包括通用块信息,如块地址/段类型等。
     表目录:存储聚集中表的信息,这些信息用于聚集段。
     行目录:包括块中的有效行信息。
     自由空间:块中能插入或修改的一组空间。
     行数据:存储表或索引的数据。



创建表空间:
语法:
TABLESPACENAME?:需要创建表空间的名字。
DATAFILE:数据文件绝对路径
SIZE:数据文件的初始大小
AOTUEXTEND:是否自动增长。
实例:
修改表空间:
ALTER TABLESPACE TABLESPACENAME
    ADD DATAFILE 'DATAFILE' SIZE 10M AUTOEXTEND ON;//添加新数据文件

ALTER DATABASE DATAFILE 'DATEFILE' RESIZE 10M;//修改数据文件大小


删除表空间:
DROP TABLESPACE TABLESPACENAME;//删除表空间
DROP TABLESPACE TABLESPACENAME INCLUDING CONTENTS AND DATAFILE;//删除表空间与数据文件

查询所有表空间
select * from dba_tablespaces; 

查询所有表
select * from all_tables;

查询表空间下有哪些表
select * from dba_tables where tablespace_name='表空间名',注意表空间名大小写敏感。

看表空间属于哪个用户
select * from dba_users where default_tablespace = '表空间' ;







0 0
原创粉丝点击