Oracle 12c表空间管理详解:创建与最佳实践

需积分: 0 0 下载量 35 浏览量 更新于2024-08-03 收藏 142KB PDF 举报
Oracle12c表空间维护是一个关键的主题,特别是在分布式数据库(CDB)和可插拔数据库(PDB)架构下。以下是关于如何在不同环境中管理表空间的一些重要知识点: 1. **创建永久表空间**: - 在CDB(全局数据库)中,通过`CREATE TABLESPACE`命令创建一个名为`cdb_users`的永久表空间,指定数据文件路径`/u01/app/oracle/oradata/cdb1/cdb_users01.dbf`,初始大小为5MB,并设置自动扩展为关闭,空间管理为自动,且extent管理为本地。 - 在PDB中,同样创建`pdb1_users`表空间,数据文件路径为`/u01/app/oracle/oradata/cdb1/pdb1/pdb1_users01.dbf`,遵循类似的参数设置,但所有应用程序数据应在PDB中存储,而不是在CDB中。 2. **创建临时表空间**: - CDB中的临时表空间`temp01`通过`CREATE TEMPORARY TABLESPACE`创建,使用文件`/u01/app/oracle/oradata/cdb1/temp02.dbf`,初始大小为5MB,不启用自动扩展。 - PDB环境中,使用SQL*Plus连接到`sys`用户作为sysdba权限,创建临时表空间`temp01`,配置与CDB中的临时表空间相似。 3. **创建UNDO表空间**: - 在CDB中,使用`SHOW CON_NAME`确认当前连接是CDB$ROOT,然后创建UNDO表空间`UNDOTBS2`,数据文件路径为`/u01/app/oracle/oradata/cdb1/undotbs02`,初始大小为5MB,启用重用功能,自动扩展关闭,extent管理本地化。 - 在PDB中,确认当前连接是CDB的PDB后,按照类似的方式创建UNDO表空间,保持一致的配置。 这些步骤体现了Oracle12c中对表空间管理的细致区分,确保了数据的隔离性和安全性。永久表空间用于长期存储数据,临时表空间用于存储会话级别的临时数据,而UNDO表空间则用于存储事务的回滚段,以支持事务处理。正确的表空间设计有助于优化性能,减少资源消耗,并且遵循最佳实践,比如避免在根中存储应用数据,以保持数据的隔离和一致性。