首页 > 数据库 >oracle表空间

oracle表空间

时间:2023-01-26 20:05:25浏览次数:53  
标签:数据库 用户 默认 Oracle 空间 ORACLE oracle


SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。



Oracle表空间之基本概念


[1]   的逻辑区域——形成ORACLE数据库的 ​​逻辑结构​​​。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的 ​​​数据库文件​​​。表空间是ORACLE ​​​数据库恢复​​的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。


每个ORACLE数据库均有 ​​SYSTEM​​​表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的 ​​​数据字典​​、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。


一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACLE数据库采用多个表空间会对数据库的使用带来更大的方便。


例如:便于理解,把oracle数据库看作一个实在房间,表空间可以看作这个房间的空间,是可以自由分配,在这空间里面可以堆放多个箱子(箱子可以看作数据库文件),箱子里面再装物件(物件看作表)。用户指定表空间也就是你希望把属于这个用户的表放在那个房间(表空间)里面。
  表空间是一个虚拟的概念可以无限大,但是需要由数据文件作为载体。


Oracle表空间之作用


[2]  


1.决定数据库实体的空间分配;


2.设置 ​​数据库用户​​的空间份额;


3.控制数据库部分数据的可用性;


4.分布数据于不同的设备之间以改善性能;


5.备份和恢复数据。


用户创建其数据库实体时,必须给予表空间中具有相应的权力,所以对一个用户来说,其要操纵一个ORACLE数据库中的数据,应该:


1.被授予关于一个或多个表空间中的RESOURCE特权;


2.被指定缺省表空间;


3.被分配指定表空间的存储空间使用份额;


4.被指定缺省临时段表空间,建立不同的表空间,设置最大的存储容量。


控制Oracle空间


编辑

在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在 ​​文件服务器​​​中,需要为每个用户设置 ​​​磁盘配额​​一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。


[3]  


下面,我们就具体来看看Oracle数据库中表空间的处理方式,看其在性能与安全性方面是否有足够的优势与SQL Server数据库抗衡。


Oracle空间


在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。


第一步:建立Oracle用户表空间。


在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、 ​​磁盘限额​​等等。


[1]  


第二步:建立Oracle用户,并指定用户的默认表空间。


在建立用户的时候,我们建议 ​​数据库管理员​​​要指定用户的默认表空间。因为我们在利用CREATE语句创建 ​​​数据库对象​​,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都会存储在数据库默认表空间中,如果想存储在自己建的表空间中,最好自己指定自己建的表空间为默认表空间。


另外要注意,不同的表空间有不同的 ​​权限​​控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。



标签:数据库,用户,默认,Oracle,空间,ORACLE,oracle
From: https://blog.51cto.com/u_14365218/6023668

相关文章