Oracle安装完成后,如何增大db_block_size的大小?

Michaelyfj 2002-03-12 06:03:45
在安装Oracle时,db_block_size=2048,后来发现磁盘I/O非常大,现在
想增大db_block_size来减少I/O,又不想重新安装Oracle系统,我该如何
办?
...全文
1399 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
louyp 2002-03-13
  • 打赏
  • 举报
回复
必须重新建库,同意 rwq_(风云浪子) 的说法
hrb_qiuyb 2002-03-13
  • 打赏
  • 举报
回复
db_block_size是建库时确定的,而不是Oracle安装时确定的.如想修改其值必须重建数据库,否则只修改init<SID>.ora是不超作用的.
eygle 2002-03-13
  • 打赏
  • 举报
回复
没招了,从来吧!
KingSunSha 2002-03-12
  • 打赏
  • 举报
回复
DBA教材的第一部分就讲到了一旦create database,db_block_size就是不可更改的。因为oracle是以块为单位存储数据的,任何一个存储元素最少占用一个块,如果你改变了db_block_size,必然导致部分块不能正常使用。
其实在unix类操作系统中,文件块和oracle块的关系非常紧密(建议相等),这样才能保证数据库的执行效率。在windows下可能就不这么讲究了。建议使用8k以上的块,我做过测试,同样的配置,8k的块比4k快大约40%,比2k快3倍以上(从hit_ratio来看)。
rwq_ 2002-03-12
  • 打赏
  • 举报
回复
SQL> show parameters db_block_size;

NAME TYPE VALUE
------------------------------------ ------- ------------------------------
db_block_size integer 8192


在SQLPLUS下面看看这个值!
rwq_ 2002-03-12
  • 打赏
  • 举报
回复
DB_BLOCK_BUFFERS specifies the number of database buffers in the buffer cache. It is one
of several parameters that contribute to the total memory requirements of the SGA of an
instance.
This parameter, together with DB_BLOCK_SIZE, determines the total size of the buffer
cache. Effective use of the buffer cache can greatly reduce the I/O load on the database. DB_
BLOCK_SIZE can be specified only when the database is first created, so you use DB_
BLOCK_BUFFERS to control the size of the buffer cache.
----------------------------------------------------
看来你得重新建库了!
RedGuest 2002-03-12
  • 打赏
  • 举报
回复
把数据导出来,然后重装oracle
不过,可以试试重新建一个数据库实例
Michaelyfj 2002-03-12
  • 打赏
  • 举报
回复
to jornk(咸鱼)
网站上有一篇文章,说必须重新安装Oracle才可以修改,网址如下:
http://www.oradb.net/dba/init.htm
不知道是否这样?
在Oracle中,除了init.ora,能否通过其他方法查看 db_block_size
的值。
jornk 2002-03-12
  • 打赏
  • 举报
回复
不需要重新安装吧。
shutdown oracle,再修改init.ora文件,再startup oracle

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧