在使用hash partition表,决定assm表空间的uniform size与分区表的分区个数是非常需要注重的事情,假如初始设置不当,在比较极端的环境中将会对应用造成很严重的后果,那我们做决定时,需要注重那些问题呢?
1 assm类型表空间的uniform size大小
这个与表空间的文件大小有关,比如每个datafile是2000m,那uniform size该设置多大呢?假定uniform size是32m,除去每个datafile header所点用的空间(64k),每2000m的数据文件就浪费了15m没有办法分配,假如表空间非常大,那累计浪费的空间就比较可观了.uniform size大可以减少系统中segment的个数,假如计划不当,可能会浪费较多的空间;另一个很严重的问题是,假如数据写入非常密集的环境,在一个极短的时间内,可能有较多的hash分区段同时需要扩展空间,可能会造成表空间空间不足又来不及添加数据文件的问题.
2 hash分区表的分区个数的问题
假如hash分区表的分区个数较多,那每个分区段上的事务都会在v$lock上有所反映;假如hash partition的分区个数不是2的幂,则可能会造成每个hash分区段中记录数不够均衡。