关于Oracle中Database、instance、role、schemas、user、object概念

使用Oracle,经常会听到这些词,对于这几个具体是什么,从网上看到一个解释较通俗易懂的说法,本人稍作修改:
1、DATABASE,对oracle而言,是指物理上的数据库,一般你安装了一个oracle的数据库软件后,就是一个database。

2、instance,在同一个数据库上,可以建立多个实例,这些实例互相不干扰,每个实例中可以有独立的表空间、用户、表、过程等各种数据库对象。也就是说,每一个instance实际上就是我们大家理解的逻辑上的数据库。

3、schemas,你用“用户 user”来理解就很容易了,每个模式(user)下可以有一套互不干扰的对象。你如果想要访问其他模式的对象,需要指定schema的name,实际就是指定username。
如,你要访问模式scott的表emp,而你所在的模式(用户)是tiger,那你要这样写:
select * from scott.emp;
role是用户使用的登录身份,比如as dba

4、object,对象其实也就是平时我们常用的table、view、procedure等。

这些的关系可以说是:
物理数据库(Database)下有多个逻辑数据库(instance)
逻辑数据库(instance)下有多个用户(user)
用户(user)对应默认的一个方案(schema)并可以使用拥有的角色(role)登录数据库
用户下有多个用户对象(object)

另外,可以参考http://blog.csdn.net/blognkliming/article/details/7613189的一些详细解释

猜你喜欢

转载自cning-cn.iteye.com/blog/2346765