首页  >  文章  >  数据库  >  oracle的一个用户可以有多个表空间吗

oracle的一个用户可以有多个表空间吗

WBOY
WBOY原创
2022-06-10 11:18:375493浏览

oracle的一个用户可以有多个表空间,但是默认的表空间只有一个,当创建表、视图、索引等不指定表空间时,都会存放在默认表空间中;一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。

oracle的一个用户可以有多个表空间吗

本教程操作环境:windows10系统、Oracle 12c版、Dell G3电脑。

oracle的一个用户有多个表空间吗

一个用户可以同时管理很多表空间,但是默认表空间只有一个,当创建表,视图,引索等不指定表空间时都会存放在默认表空间中。

一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。 

09.png

表空间与用户的关系

创建用户时,一个用户只能指明一个表空间。多个用户可以指明同一个表空间。是1:N

访问时表空间时,对用户授权即可访问。是N:N

表空间

创建表空间会在物理磁盘上建立一个数据文件,作为数据库对象(用户、表、存储过程等等)的物理存储空间;

一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。

oracle中用户的所有数据都是存放在表空间中的

表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)

表空间建立在1个或多个数据文件上;

不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。

用户

创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间;创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象;

一个用户有一个默认空间

多个用户可以共用一个默认空间

1)、同一个数据库用例中,用户名是不能重复的

2)、不同用户中可以创建同名的表

3)、表空间创建后需要创建用户后才能使用,因为任何数据库对象都需要建立在一个数据用户上

4)、连接dba权限的用户可以直接访问其他用户的数据库对象,否则需要相关用户授权

5)、访问其他用户的数据库对象是时需要加上对象所属用户的用户名

oracle是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表

推荐教程:《Oracle视频教程

以上是oracle的一个用户可以有多个表空间吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn