适合初学者理解的Oracle的体系结构

作为一个Oracle的初学者,之前一直用的是sqlserver2008,对Oracle这几个概念比较模糊,搞不清楚概念。

经过多番查阅前辈资料,自己总结了一下感觉应该是这样,写下来以供参考,不准确之处还请批评指正了。


Oracle的体系结构中有这么几个概念:实例、表空间、数据文件、用户、表。

Oracle数据库不同其他数据库,Oracle可以理解为一个大的数据库,就只有这一个。你所操作的“多个数据库”都是Oracle数据库下的不同的实例。安装Oracle的时候会默认给你创建一个实例orcl。

表空间是一个逻辑概念,一个数据库实例可以有多个表空间。可以说表空间是对这个数据库实例物理磁盘内存上的划分,也许你平时使用的时候并没有创建表空间,因为这个时候使用的是系统默认的表空间,后面详说。一个表空间会创建多个数据文件,这是个一对多的关系。

数据文件是用来存储数据的,这个顾名思义。是什么数据?平时接触最多的是我们平时创建的表,create table...但是表的概念还不能从这里引出。先说用户。

我看有的理解是一个表空间下有很多个用户,这个理解可以说是勉强正确。因为我觉得用户和表空间并不是上司与下属的关系,算是同级吧,都是隶属于数据库实例的。只不过在创建用户的时候都要给用户指定一个表空间,授权该用户可以访问的表空间,他们的关系是多对一,多个用户可以访问一个表空间,但一个用户只能访问一个表空间。(总感觉这句话逻辑不顺)如果没有指明表空间,则是默认表空间users表空间。而表只能由用户来创建,用户将这个表放入与用户绑定的表空间,但最后管理表的存放的确是这个表空间,表空间随机的将表存放到它所在的一个或多个数据文件中。

需要特别指出的是:

在创建用户时是只能指明一个默认表空间和一个默认临时表空间,你后续create table都是在这个默认表空间中,但是可以更改。

alter user xx default tablespace xxxx


说到这差不多结构已经出来了,不知道你有没有晕,画个图梳理一下吧。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值