oralcle的体系结构与概念理解

1. 数据库:database

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

2. 实例:Oracle Instance

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

2.1 SID

一个数据库可以有多个实例,SID是用来标识这个数据库内部每个实例的名字。可理解为:SID是内部的名字。是实例级别的一个名字。

2.2 SERVICE_NAME

是这个数据库对外的名字, “官名” , 外面的想要连这个数据库,就需要在客户端的连接串里写上SERVICE_NAME 。是数据库级别的一个名字。用来告诉外边的人,我数据库叫“SERVICE_NAME”.

2.3 注:

SID和SERVICE_NAME 这些容易混淆的名字,他们不是指数据库,就是指的实例。别无其他。具体用哪个名字,要看对谁而言,什么场合。是对数据库,还是对操作系统,还是对外部的链接。

3. 数据文件:database File 简称 dbf

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

4. 表空间 :

表空间是Oracle对物理数据库上相关数据文件(数据文件ORA或者DBF文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。
每一个表空间是由同一磁盘上的一个或者多个文件组成,这些文件叫做数据文件(datafile)。一个数据文件只能属于一个表空间。
一定区分用户和表空间的关系! 用户不是在表空间下建立的,而是在实例下建立的,用户可以指定将自己的表数据等放在哪个表空间下!!!

4. 用户:

用户是在实例下建立的。不同实例中可以建相同名字的用户。
表的数据等是由用户指定放入到某一个表空间的, 而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
由于oralce的数据库不是普通数据库的概念, oracle是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是有用户去查询的。 不通的用户可以在同一个表空间建立相同名字的表。这里两个相同名字的表就由不通的用户来区分了。

5. 概念关系理解图

oralcle的体系结构与概念理解
后续待补充。。。