Oracle数据库、实例、用户、表空间、表之间的关系
通常我们oralce数据库,说的是实例,而不是真正的数据库,那么完整的oracle数据库是由哪几部分构成的呢?
完整Oralce数据库两部分构成:
一、oralce数据库
Oralce数据库是一系列物理文件的集合(数据文件ORA或者DBF、控制文件、联机日志、参数文件)
二、数据库实例
Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。一个数据库可以有n个实例;
在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。Oracle有一个很大的内存快,成为全局区(SGA)。
数据库、用户、表空间、数据文件、用户关系
1.数据库
数据库一系列物理文件的集合(数据文件ORA或者DBF、控制文件、联机日志、参数文件)
2.表空间
表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
3.用户
用户是在实例下建立的。不同实例可以建相同名字的用户。
4.数据文件(dbf、ora)
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
关系示意图:
一个数据库,可以创建多个实例;
一个实例可以创建多个用户;
一个用户只能分配一个表空间;
一个表空间可以给n个用户使用;