3.2 Oracle安装表空间
表3-2列出了使用标准Oracle 12c安装创建的表空间,其中使用了Oracle通用安装程序(Oracle Universal Installer,OUI)。EXAMPLE表空间是可选的,如果在安装对话期间指定想要创建示例模式,则安装该表空间。
表3-2 标准Oracle安装表空间
3.2.1 SYSTEM
本章前面提及,没有任何用户段应该存储在SYSTEM表空间中。通过自动将永久表空间分配给还没有被显式分配永久表空间的所有用户,CREATE DATABASE命令中的子句DEFAULT TABLESPACE可帮助防止这种情况的发生。使用OUI执行的Oracle安装将自动分配USERS表空间为默认的永久表空间。
如果过多地使用过程化对象,如函数、过程和触发器等,SYSTEM表空间将快速增长,因为这些对象必须驻留在数据字典中。对于抽象数据类型和Oracle的其他面向对象特性,情况也是如此。
3.2.2 SYSAUX
与SYSTEM表空间一样,用户段永远不应存储在SYSAUX表空间中。如果SYSAUX表空间的特定占用者占据了过多的可用空间,或者严重影响了其他使用SYSAUX表空间的应用程序的性能,则应该考虑将该占用者移动到另一个表空间。
3.2.3 TEMP
不推荐使用非常大的临时表空间,而应该考虑使用一些较小的临时表空间,并且创建一个临时表空间组来保存它们。如同在本章前面看到的,这可以缩短某些应用程序的响应时间。这些受影响的应用程序创建了许多具有相同用户名的会话。对于Oracle容器数据库和可插拔数据库(在Oracle的多租户体系结构中,是Oracle Database 12c新引入的),容器数据库拥有所有可插拔数据库使用的临时表空间。
3.2.4 UNDOTBS1
即使数据库可能有多个撤消表空间,在任意给定时间,一个给定实例上也只有一个活动的撤消表空间。如果撤消表空间需要使用更多空间,且AUTOEXTEND不可用,则可添加另一个数据文件。撤消表空间必须可用于RAC环境中的每个节点,因为每个实例都管理自己的撤消。
3.2.5 USERS
USERS表空间计划用于由每个数据库用户创建的其他各种段,它不适用于任何生产应用程序。应为每个应用程序和段类型创建单独的表空间。稍后将介绍一些额外的标准,可以使用这些标准来决定何时将段分离到它们自己的表空间中。
3.2.6 EXAMPLE
在生产环境中,EXAMPLE表空间应该被删除。它占用数百兆磁盘空间,并且具有所有Oracle段类型和数据结构类型的示例。如果需要练习,应该创建单独的数据库,使其包含这些示例模式。对于现有的练习数据库,可使用$ORACLE_HOME/demo/schema中的脚本将这些示例模式安装到所选的表空间。