Oracle 的表空间

一、概念

1.1 用户、表与表空间之间的关系

每个项目对应一个表空间,Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。

然后创建一个用户对应此表空间即可

所以,在做大型项目的时候,是先创建一个数据库实例,然后创建表空间,再创建用户,然后用户指定这个表空间。

1.2 用户与表空间的关系

用户=商家
表=商品
表空间=仓库

一个商家能有很多商品,1个商品只能属于一个商家。

一个商品可以放到仓库A,也可以放到仓库B,但不能同时放入A和B。

仓库不属于任何商家。

商家都有一个默认的仓库,如果不指定具体仓库,商品则放到默认的仓库中

1.3 表空间的概念

Oracle数据库的数据存放在表空间中,表空间是一个逻辑的概念,它是由数据文件组成,表空间大小由数据文件的数量和大小决定。

表空间有三种:Permanent Tablespaces(永久表空间)Temporary Tablespaces(临时表空间)Undo Tablespaces(回滚表空间),Oracle在创建数据库实例的时候,默认会创建三个永久表空间(SYSTEM、SYSAUX、USERS),一个临时表空间(TEMP),一个回滚表空间(UNDOTBS1)。

1.4 SYSTEM表空间

SYSTEM表空间主要用于存放Oracle数据库内部的数据字典,它是Oracle数据库最重要的表空间,在创建数据库实例时被最先创建,包含了数据库的元数据,对于数据库来说生死攸关。

1.5 SYSAUX表空间

SYSAUX表空间是SYSTEM表空间的辅助表空间,主要用于存储数据字典以外的其他数据对象,它在一定程度上降低了SYSTEM表空间的负荷。

1.6 UNDOTBS1表空间

UNDO是回滚表空间,主要有四方面的用途,分别是:事物回滚、数据库恢复、读一致性、闪回查询。

1.6.1 事物回滚

当事物执行失败或用户执行回滚操作(rollback)时,Oracle会利用保存在回退段中的信息将数据恢复到原来的值。

1.6.2 数据库恢复

当数据库实例出现了意外,在重启恢复时,Oracle先利用重做日志文件的信息对数据库进行恢复,再利用回滚段中的信息回滚未提交的事务。

1.6.3 读一致性

当一个用户对数据进行修改时,会预先将其原始值保存到回退段中,这时,如果有其它用户访问该数据,则访问回退段中的信息,使当前用户未提交的修改其他用户无法看到,保证了数据的一致性。

1.6.4 闪回查询

通过保留在回退段中的信息,用户可以查询某个数据在过去某个时刻的状态。

1.7 TEMP表空间

临时表空间用来管理数据库排序以及用于存储临时表和索引、中间结果等临时对象。当Oracle的内存不够时,会把数据放在临时表空间中,当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放空间。这里的释放只是标记为空闲、可以重用,占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大却不见减少的原因。

1.8 USERS表空间

USERS表空间用于存放普通用户的表和索引,一般情况下,它是用户的缺省表空间。

1.9 管理表空间

企业级的Oracle数据系统的存储一般是采用ASM(自动存储管理),ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,替代了操作系统所提供的LVM,它不仅支持单实例,同时对RAC的支持也是非常好。

二、操作

2.1 查询所有表空间文件和存储路径

select
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值