从作为数据容器角度看,除了必须的系统表空间、临时表空间、回滚段表空间,只需要设置一个用户表空间就可以满足用户需求,这样的好处是作为一个存储池,不需要单独规划、监控单个表空间容量。
设置多个表空间的目的更多是出于系统性能、维护性、可用性、可扩展性等方面的考虑。具体来说,可能出于如下理由设置单独的表空间。
* 出于提升性能目的,一般为数据、索引分别设置表空间;
* 为了减少行链接、行迁移,需要放置在大于数据库标准块大小的表空间;
* 为了支持可传输表空间,需要不同于数据库标准块大小的表空间;
* 为了避免不同应用之间表空间的争用(IO冲突、空间限额管理),为不同shema设置不同的表空间;
* 为了提高备份、恢复效率,将不需要更新的数据段放置在只读表空间;
* 为了利用表空间级备份、恢复,进而提高系统可用性,设置多个表空间;
* 为了规避单个表空间有大小限制(依赖于块大小),设置多个表空间;
* 针对数据段不同的性能要求(访问频度、吞吐量),设置表空间在不同条带宽度/深度的RAID、IO容器上;这一策略经常用于数据生命周期的管理。
* 针对数据段不同的可靠性需求,设置表空间在不同的RAID冗余级别上;
* 针对分区表,可以将不同分区设置在不同表空间上,以方便数据迁移、数据生命周期管理。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18922393/viewspace-700930/ ,如需转载,请注明出处,否则将追究法律责任。