日期:2014-05-17  浏览次数:20939 次

做应用系统的用户与表空间设计
做应用系统的时候,建一个用户,对应一个默认表空间,然后把所有的表都建在这个表空间里,
还是建一个用户,建多个表空间,然后按模块,把表建在不同的表空间里,这样可以分散IO的压力,因为不同表空间对应到不同的数据文件?
或者,建多个用户,不同用户对应不同默认表空间,然后按模块,把表建在不同的用户下。

大师们分析一下这三种方案吧。

------解决方案--------------------
还是要看做什么系统  我们一般是 建一个用户,建多个表空间 
------解决方案--------------------

如果只有一个磁盘,一个用户多个表空间只是为了方便管理而已,和一个用户一个表空间没有任何区别。

如果有多个磁盘,将不同的表空间的文件放在不同的磁盘上,那样才会可能减少io的争用。




------解决方案--------------------
数据量如何?没多少数据、没多少IO、就没多大影响
总之、业务决定一切 
------解决方案--------------------
通常一个应用系统对应一个用户,在把用户不用业务类型相关的表放置在对应的表空间中;若有多块磁盘,可以依据应用的使用情况把一个表空间的数据文件建立在不同的磁盘上,从而达到分散磁盘IO的目的。
------解决方案--------------------
表空间和用户只是ORACLE内部对象概念,便于管理数据库,和IO没有关系,和IO有关系的是表空间使用的数据文件的分布。。。考虑把数据文件分散在不同的磁盘上或者使用ASM。。。