oracle数据库/数据库实例/表空间/用户/数据文件/表

数据库:

Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。

其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统,只有一个库。可以看作是Oracle就只有一个大数据库。

 

数据库实例: 

一个Oracle实例由一系列的后台进程和内存结构组成。一个数据库可以有n个实例。

在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例,然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。

其实就是用来访问和使用数据库的一块进程,它只存在于内存中。

数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作开发,要连接数据库,就得连接数据库实例名:

jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)

 

扫描二维码关注公众号,回复: 1157887 查看本文章

表空间:

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

表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。

一个表空间只能属于一个数据库。

例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

 

用户:

用户是在数据库实例下建立的。不同实例可以建相同名字的用户。就是一个登陆的名,当然得有密码,它跟表空间是多对多的关系的,但我们在创建用户时一般都指定默认表空间的,

若不指定用户默认表空间的话,则用户每次创建数据库对象(表,视图等)的时候,都要指定表空间,太麻烦

 

数据文件(dbf、ora):

数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。

一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

角色:每个用户都有角色,它决定了该用户有什么权限,比如DBA,拥有最高权限表:这个就不用说了吧,

但要说明的是一个表只能属于一个表空间。

注:

表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。

由于oracle的数据库不是普通的概念,oracle是由用户和表空间对数据进行管理和存放的。

但是表不是由表空间去查询的,而是由用户去查的。如 select * from user.tableName。

因此,不同用户可以在同一个表空间建立相同名字的表!这里区分就是用户了!

 

表:

有了数据库,表空间和用户,就可以用自定义的用户在自己的表空间创建表了。有了表,我们可以开发了。

 

关系示意图:



 

Oracle数据库可以创建多个实例,每个实例可以创建多个表空间(表空间只属于一个数据库),每个数据库实例创建多个用户,用户可以指定默认表空间。数据库文件是在表空间下面的,用户可以创建多个表(每个表随机存储在一个或多个数据库文件中)

 

安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。



 

 

 

猜你喜欢

转载自ezbcw.iteye.com/blog/2173546