请问如何修改oracle10g中的db_block_size的大小? 请问如何修改oracle10g中的db_block_size的大小?现在默认是8k,我想修改为16k,请问如何修改呢?呵呵最好能帮忙解释一下db_block_size定义及作用! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般是不能修改,也不建议修改,oracle块大小在创建数据库时已确定。 db_block_size用来指定oracle数据库的大小,也就是指I/O和文件存储的最小单位。可以在创建数据库时指定db_block_size,创建好数据库以后可以创建表空间时指定表空间的块大小。 数据块是oracle中最小的空间分配单位,各种操作的数据就的放在这里。oracle从磁盘读写的也是块。一旦create database,db_block_size就是不可更改的。因为oracle是以块为单位存储数据的,任何一个存储元素最少占用一个块,如果你改变了db_block_size,必然导致部分块不能正常使用。 其实在unix类操作系统中,文件块和oracle块的关系非常紧密(建议相等),这样才能保证数据库的执行效率。在windows下可能就不这么讲究了。建议使用8k以上的块,有人做过测试,同样的配置,8k的块比4k快大约40%,比2k快3倍以上。oracle 数据块结构 http://topic.csdn.net/t/20020312/18/571406.html 只有重建了,不过ORACLE是可以支持多种大小的呢。你可以设置db_16k_cache_size 类似这样的参数,然后按照这种大小的size来创建相应的tablespace. 编译过程和触发器时出现权限不足提示 oracle的存储过程里只能select into 而不能直接select ? 高手请进 这种触发器要怎么写 关于IMPDP参数的一个问题。 日期转换为整型,怎么转? 错误ora-00904 如何建立全局的自定义字段类型? function or procedure中if..then..else嵌套问题? 菜鸟求教 sql分组统计问题 ORACLE 10导出 表和存储过程问题 有一张表有37G数据,如何用exp导出?
可以在创建数据库时指定db_block_size,创建好数据库以后可以创建表空间时指定表空间的块大小。
oracle从磁盘读写的也是块。
一旦create database,db_block_size就是不可更改的。
因为oracle是以块为单位存储数据的,任何一个存储元素最少占用一个块,
如果你改变了db_block_size,必然导致部分块不能正常使用。
其实在unix类操作系统中,文件块和oracle块的关系非常紧密(建议相等),
这样才能保证数据库的执行效率。在windows下可能就不这么讲究了。
建议使用8k以上的块,有人做过测试,同样的配置,8k的块比4k快大约40%,比2k快3倍以上。
oracle 数据块结构