Oracle数据库的体系结构和用户分析
每个Oracle数据库都是由若干个表空间构成的,用户在数据库中建立的所有内容都被存储到表空间中。一个表空间可以由多个数据文件,但一个数据文件只能属于一个表空间。与数据文件这种物理结构不同,表空间属于数据库的逻辑结构。
在每个数据库中,都有一个名为“SYSTEM”的表空间,即系统表空间,还会有SYSAUX、UNDO、USERS等表空间,这些都是在创建数据库时自动创建的。管理员可以创建自定义的表空间并分配给指定用户,也可以为表空间增加和删除数据文件。
表空间基本有以下三类:
①永久性表空间:一般保持基表、试图、过程和索引等的数据。SYSTEM、SYSAUX、USERS表空间是默认安装的; ②临时性表空间:只用于保存系统中短期活动的数据,如排序数据等; ③撤销表空间:用来帮助回退未提交的事务数据,已提交的数据在这里是不可以恢复的; 一般不需要创建临时性表空间和撤销表空间,除非要把他们转移到其他磁盘中以提高性能。
表空间的目的如下:
①对不同用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户操作和对模式对象的管理; ②可以将不同数据文件创建不同的磁盘中,有利于管理磁盘空间、提高I/O性能、备份和恢复数据等; 一般在完成Oracle系统的安装并创建Oracle实例后,Oracle系统自动建立SYSTEM、SYSAUX、USRS等多个表空间。
下面详细介绍一下SYSTEM表空间、SYSAUX表空间、TEMP表空间和TEMP表空间:
SYSTEM表空间:用于存放Oracle系统内部表和数据字典的数据,如表名、列名、用户名等。不建议将用户创建的表,索引等对象存放到SYSTEM表空间中。 SYSAUX表空间:作为SYSTEM的辅助表空间,用于存放各种数据库工具用户的数据;还用于存放各种模式的对象数据,如智能代理用户DBSNMP等,这些模式在数据库安装完成后就建立了相应的对象并都存放在SYSAUX表空间中。 USERS表空间:通常作为用户使用的表空间,可以在这个表空间上创建各种对象,如表、索引等。 TEMP表空间:Oracle系统用于存放临时数据的特殊表空间。比如:当操作中需要进行排序时,Oracle系统就将排序的数据临时存放在该表空间内。排序处理完成后即可释放排序数据所占用的空间,因此成为临时表空间。 除了Oracle系统默认创建的表空间外,用户可根据应用系统的模式及其所要存储的对象类型创建多个表空间,以区分用户数据和系统数据。 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |