Solaris 10 上的 Oracle 11g 数据库块大小 OS

Oracle 11g database block size on Solaris 10 OS

我正在为 Solaris 10 上的 运行 设计一个新的 Oracle 11g 数据库。在研究 Oracle's web site 上的数据库配置时,我遇到了以下关于数据库块大小的声明:

A larger data block size provides greater efficiency in disk and memory I/O (access and storage of data). Therefore, consider specifying a block size larger than your operating system block size if the following conditions exist:

Oracle Database is on a large computer system with a large amount of memory and fast disk drives. For example, databases controlled by mainframe computers with vast hardware resources typically use a data block size of 4K or greater.

The operating system that runs Oracle Database uses a small operating system block size. For example, if the operating system block size is 1K and the default data block size matches this, the database may be performing an excessive amount of disk I/O during normal operation. For best performance in this case, a database block should consist of multiple operating system blocks.

过去我通常坚持使用 8K 块大小(我认为这是默认值),但在阅读 Oracle 文档后,注意到我的 Solaris OS 也有 8K 块大小,我正在安装的服务器相当不错(512Gb RAM、4CPU * 12 核 @ 2.4GHz、快速磁盘阵列、NAS 和 SAN)我想知道我是否应该脱离传统并选择 16K 块大小反而。唯一让我不这么认为的是模式表(几乎没有 LOB)的平均行大小确实低于 8K,为块 headers 等留出了空间。

因此,如果可能存在有限的行链接,16K 的块大小是否会提供效率红利,还是会浪费很多 space?

如有任何关于该主题的想法,我们将不胜感激。

不要浪费时间担心块大小。 Oracle 文档通常质量很高,但该部分看起来已经几十年没有更新了。

Oracle 专家似乎一致认为更改块大小没有帮助。我从未见过通过更改块大小来显示性能提升的特定测试用例。但是我已经看到使用非默认块大小导致的错误。

除非你有非常具体的原因,并且花了大量时间来测试它,否则你最好把时间花在担心其他事情上。