1,数据库有哪些表空间各个表空间的作用是什么

SYSTEM,系统创建数据库时自动创建,用于存储系统数据字典、系统管理信息、用户数据表、索引等对象。SYSAUX是10g新增的辅助SYSTEM的表空间,由系统内部自动维护,不存储用户数据。USER表空间一般主要存用户数据。UNDO表空间用来存储撤销信息,只能存回退段,不能存其他类型的段。TEMP临时表空间存储执行SQL语句时产生的临时数据(主要是排序或统计),一般此表空间所有用户通用。
一、系统表空间在 MySQL 数据目录下有一个名为 ibdata1 的文件,可以保存一张或者多张表。923275 12M -rw-r----- 1 mysql mysql 12M 3月 18 10:42 ibdata1这个文件就是 MySQL 的系统表空间文件,默认为 1 个,可以有多个,只需要在配置文件 my.cnf 里面这样定义即可。innodb_data_file_path=ibdata1:200M;ibdata2:200M:autoextend:max:800M系统表空间不仅可以是文件系统组成的文件,也可以是非文件系统组成的磁盘块,比如裸设备,定义也很简单innodb_data_file_path=/dev/nvme0n1p1:3Gnewraw;/dev/nvme0n1p2:2Gnewraw系统表空间里都有些啥内容?具体内容包括:double writer buffer、 change buffer、数据字典(MySQL 8.0 之前)、表数据、表索引。那 MySQL 为什么现在主流版本默认都不是系统表空间?究其原因,系统表空间有三个最大的缺点:原因 1:无法做到自动收缩磁盘空间,造成很大的空间浪费。即使它包含的表都被删掉,这部分空间也不会自动释放。
users:用户表空间temporary:临时表空间undo:撤消表空间
没有特别关系。表空间是物理的文件。为了方便管理数据以及优化系统 ,设很多表空间。表是系统的逻辑单位。你可以把表转移到不相同的表空间里面。

数据库有哪些表空间各个表空间的作用是什么

2,oracle中表空间的定义

oracle数据库被划分成称作为表空间的逻辑区域——形成oracle数据库的逻辑结构。一个oracle数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是oracle数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。   每个oracle数据库均有system表空间,这是数据库创建时自动创建的。system表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它oracle软件产品要求的表)。   一个小型应用的oracle数据库通常仅包括system表空间,然而一个稍大型应用的oracle数据库采用多个表空间会对数据库的使用带来更大的方便。   oracle表空间之作用   表空间的作用能帮助dba用户完成以下工作:   1.决定数据库实体的空间分配;   2.设置数据库用户的空间份额;   3.控制数据库部分数据的可用性;   4.分布数据于不同的设备之间以改善性能;   5.备份和恢复数据。   用户创建其数据库实体时其必须于给定的表空间中具有相应的权力,所以对一个用户来   说,其要操纵一个oracle数据库中的数据,应该:   1.被授予关于一个或多个表空间中的resource特权;   2.被指定缺省表空间;   3.被分配指定表空间的存储空间使用份额;   4.被指定缺省临时段表空间。编辑本段控制oracle用户表空间配额  在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。   我们可以在oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。当然,表空间的优势还不仅仅这些,企业对于数据库的性能要求越高,或者数据库容量越大,则表空间的优势就会越大。   下面,我们就具体来看看oracle数据库中表空间的处理方式,看其在性能与安全性方面是否有足够的优势与sql server数据库抗衡。编辑本段oracle数据库中表空间的处理方式  在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。   第一步:建立oracle用户表空间。   在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。   到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。   第二步:建立oracle用户表空间,并制定用户的默认表空间。   在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用create语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这并不是很合理。   另外要注意,不同的表空间有不同的权限控制。用户对于表空间a具有完全控制权限,可能对于表空间b就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。

oracle中表空间的定义


文章TAG:数据  数据库  哪个  参数  数据库哪个参数是表空间  
下一篇