请问如何修改oracle10g中的db_block_size的大小?现在默认是8k,我想修改为16k,请问如何修改呢?呵呵最好能帮忙解释一下db_block_size定义及作用!

解决方案 »

  1.   

    一般是不能修改,也不建议修改,oracle块大小在创建数据库时已确定。
      

  2.   

    db_block_size用来指定oracle数据库的大小,也就是指I/O和文件存储的最小单位。
    可以在创建数据库时指定db_block_size,创建好数据库以后可以创建表空间时指定表空间的块大小。
      

  3.   

    数据块是oracle中最小的空间分配单位,各种操作的数据就的放在这里。
    oracle从磁盘读写的也是块。
    一旦create   database,db_block_size就是不可更改的。
    因为oracle是以块为单位存储数据的,任何一个存储元素最少占用一个块,
    如果你改变了db_block_size,必然导致部分块不能正常使用。 
    其实在unix类操作系统中,文件块和oracle块的关系非常紧密(建议相等),
    这样才能保证数据库的执行效率。在windows下可能就不这么讲究了。
    建议使用8k以上的块,有人做过测试,同样的配置,8k的块比4k快大约40%,比2k快3倍以上。

    oracle 数据块结构
      

  4.   

    http://topic.csdn.net/t/20020312/18/571406.html
      

  5.   

    只有重建了,不过ORACLE是可以支持多种大小的呢。你可以设置db_16k_cache_size  类似这样的参数,然后按照这种大小的size来创建相应的tablespace.