Oracle 表空间

表空间是数据库的逻辑组成部分

从物理上将:数据库数据存放在数据文件中

从逻辑上将:数据库则是存放在表空间中

表空间由一个或是多个数据文件组成 


数据库的逻辑结构

Oracle中逻辑结构包括表空间、段、区、块

说明:

数据库由表空间构成

而表空间又是由段构成

而段又是由区构成

而区又是由Oracle块构成

 

 

这样的一种结果,可以提高数据库的效率

 

表空间

在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段、区、块等逻辑结构。从物理结构上看是放在数据文件中。一个表空间可由多个数据文件组成。


如下图所示,一个数据库由对应一个或多个表空间,表空间逻辑上有一个或多个段(Segment)组成,物理上由一个或多个os file组成。



 表空间的作用:

1、控制数据库占用的磁盘空间

2、dba可以将不同数据类型部署到不同的位置。这样有利于提高i/o性能,同时利于备份和恢复等管理操作

系统中默认创建的几个表空间:

    SYSTEM    SYSAUX   USERS  UNDOTBS1  EXAMPLE   TEMP

系统中必须的表空间有那几个?

答案: SYSTEM、SYSAUX、TEMP、UNDO, 像USERS、EXAMPLE等表空间是可有可无的。


表空间的分类

永久表空间   存放永久性数据,如表,索引等。

临时表空间   不能存放永久性对象,用于保存数据库排序,分组时产生的临时数据。

UNDO表空间   保存数据修改前的镜象。

建立表空间

--(1)创建表空间  (必须是sys/system用户下)
CREATE TABLESPACE user1_tablespace   --表空间的名称
DATAFILE 'F:\app\Administrator\oradata\orcl\my.DBF'   --数据文件
SIZE 100M    --大小
AUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITED     --自动扩展32,最大值限制
LOGGING    --日志
EXTENT MANAGEMENT LOCAL  --管理本地
SEGMENT SPACE MANAGEMENT AUTO   --自动管理 

1、显示表空间信息

a) 查询数据字典视图dba_tablespaces。显示表空间信息

select tablespace_name from dba_tablespaces;

2、显示表空间所包含的数据文件

a) 查询数据字典视图dba_data_files,可以显示表空间所包含的数据文件

select file_name,bytes from dba_data_files where tablespace_name='表空间名';


改变表空间的状态

当建立表空间时,表空间处于联机的(online)状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表空间执行各种语句。但是在进行系统维护或是数据维护时,可能需要改变表空间的状态,一般情况下,由特权用户或是dba来操作

1、使表空间脱机

alter tablespace 表空间名 offline;

2、使表空间联机

alter tablespace 表空间名 online;

3、只读表空间

a) 当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update、delete、insert操作,那么可以将该表空间修改为只读

alter tablespace 表空间名 read only;

 

案例:

1、知道表空间名。显示该表空间的所有表

select * from tall_tables where tablespace_name='表空间名';

2、知道表明,查看该表属于哪个表空间

select tablespace_name,table_name from user_tables where table_name='emp';






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值