理论教育 Oracle数据库管理与开发:了解表空间及其作用

Oracle数据库管理与开发:了解表空间及其作用

时间:2023-10-30 理论教育 版权反馈
【摘要】:每个Oracle数据库都由一个或多个表空间组成。①能够隔离用户数据和数据字典,减少对SYSTEM表空间的I/O争用。Oracle Database 11g创建数据库时,将默认创建以下表空间。SYSTEM系统表空间,主要用于存放Oracle系统内部表和数据字典的数据,例如,表名、列名、用户名等。UNDOTBS1还原表空间,Oracle数据库用它存储还原信息,实现回滚操作等。当所做的修改操作完成并执行提交命令后,Oracle根据系统设置的保留时间长度来决定何时释放掉还原表空间的部分空间。

Oracle数据库管理与开发:了解表空间及其作用

每个Oracle数据库都由一个或多个表空间(tablespace)组成。表空间是一个逻辑存储容器,它位于逻辑存储结构的顶层,用于存储数据库中的所有数据。表空间内的数据被物理存放在数据文件中,一个表空间可以包含一个或多个数据文件。在其他数据库系统(如Microsoft SQL Server)中,一个数据库实例可以管理多个数据库,而每个Oracle实例则只能管理一个数据库,但其中可以建立多个表空间。使用表空间主要有下述优点。

①能够隔离用户数据和数据字典,减少对SYSTEM表空间的I/O争用。

②可以把不同表空间的数据文件存储在不同的硬盘上,把负载均衡分布到各个硬盘上,减少I/O争用。

③隔离来自不同应用程序的数据,能够执行基于表空间的备份和恢复,同时可以避免一个应用程序的表空间脱机而影响其他应用程序的运行。

优化表空间的使用,如设置只读表空间、导入/导出指定表空间的数据等。⑤能够在各个表空间上设置用户可使用的存储空间限额。

Oracle Database 11g创建数据库时,将默认创建以下表空间。

(1)SYSTEM

系统表空间,主要用于存放Oracle系统内部表和数据字典的数据,例如,表名、列名、用户名等。Oracle本身不赞成将用户创建的表、索引等存放在系统表空间中。表空间中的数据文件个数不是固定不变的,可以根据需要向表空间中追加新的数据文件,该表空间对应的数据文件是“SYSTEM01.DBF”。

(2)SYSAUX(www.daowen.com)

SYSTEM表空间的辅助表空间,用于存储一些组件和产品的数据,以减轻SYSTEM表空间的负载,如Automatic Workload、Oracle Streams、Oracle Text和Database Control Repository等组件,都是用SYSAUX作为它们的默认表空间,该表空间对应的数据文件是“SYSAUX01.DBF”。

(3)TEMP

临时表空间,用于存储SQL语句处理过程中产生的临时表和临时数据,用于排序和汇总等。

(4)UNDOTBS1

还原表空间,Oracle数据库用它存储还原信息,实现回滚操作等。当用户对数据表进行修改操作(包括插入、更新、删除等操作)时,Oracle系统自动使用还原表空间来临时存放修改前的旧数据。当所做的修改操作完成并执行提交命令后,Oracle根据系统设置的保留时间长度来决定何时释放掉还原表空间的部分空间。一般在创建Oracle实例后,Oracle系统自动创建一个名字为“UNDOTBS1”的还原表空间,该还原表空间对应的数据文件是“UNDOTBS01.DBF”。

(5)USERS

用于存储永久用户对象和数据,可以在这个表空间上创建各种数据对象。比如,创建表、索引、用户等数据对象。该表空间对应的数据文件是“USERS01.DBF”。Oracle系统的示例用户HR对象就存放在USERS表空间中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈