Oracle数据库、表空间、用户、角色、Schema、表、数据文件之间的关系

 

实例(instance):

  一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。 

数据库:

Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。

表空间(tablspace): 

表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

数据文件:

数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真 正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

(框架)schema: 

schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,用以将用户创建的各对象进行归类。

用户(user):

用户就是用户,即登录Oracle数据库,对能对数据库进行访问的一个逻辑的对象。

 

角色(role):

Oracle数据库中光有了用户还不行,如果只是创建了一个用户,而没有对用户进行任何形式的授权的话,那么这个用户其实连连接Oracle数据库都做不到。此时就需要使用到角色这样概念,角色就是针对数据库数据和数据库操作等权限的权限集合,当我们创建一个角色并给改角色授予登录权限,并且将该角色赋予刚才创建的用户,该用户才能进行登录。

权限:

权限就是针对数据库,数据表,视图,过程....等等的创建,删除、读、写、修改等的一种权利。一种角色可以拥有不同角色。

 

 

实例、用户、和表空间:

其关系可以用网上的一张图表示,即一个实例下中可以存在存在多个表空间,而一个表空间下又可以存在多个用户。在这里其实表空间与用户是一个平行的概念,即虽然同一个表空间下能够存在多个用户,但是针对同一个实例而言,不允许有相同的用户。

Oracle数据库、表空间、用户、角色、Schema、表、数据文件之间的关系_第1张图片

 

 

 

 

你可能感兴趣的:(Oracle)