按大小包容的关系可以按下面分:
数据库》实例》用户。
从一定意义上说,数据库代表一台数据库服务器,安装了一个关系型的数据库软件;如:一台主机,安装了一个oracle数据库软件,一个
数据库中建立了一整套可以运行的数据库实例,实例的定义你可以去翻翻书,我这里不说了。
一个实例可以建立多个数据库用户。
数据库、用户、实例之间的关系。
oracle服务器物理结构是分为数据库和实例。
数据库是真正存储数据的文件集合,对于操作系统来讲,和非数据文件没有区别;
实例由内存和后台进程组成,我们通过启动实例,去对数据库进行访问和修改。
用户和数据库的关系问题。
数据库可以有多个用户,就像一个公司,可以根据职责分配多个部门一样,我们可以根据自己的实际情况创建多个用户,让每个用户有他自己的对象。
个人理解是多个用户可以通过实例(内存结构和一系列的后台进程)这个中间层对数据库进行操作。
Oracle 数据库、实例、用户、表空间、表之间的关系
数据库:
Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。
实例:
一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。
用户:
用户是在实例下建立的。不同实例可以建相同名字的用户。
表空间:
表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
数据文件(dbf、ora):
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
注: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!