【发布时间】:2013-10-04 22:16:44
【问题描述】:
为什么 Oracle 数据库块和操作系统块的大小不同?我搜索了 Oracle 网站,但没有找到满意的答案。
【问题讨论】:
标签: oracle11g
为什么 Oracle 数据库块和操作系统块的大小不同?我搜索了 Oracle 网站,但没有找到满意的答案。
【问题讨论】:
标签: oracle11g
数据库块是逻辑存储单元,操作系统块是物理存储单元。它们的大小不必不同,但只要逻辑块大小等于或大于物理块大小的倍数,它们就可以。这允许 Oracle 检索最佳数量的数据,而不管底层硬件如何,因此它可以更高效且开销更少。
数据块和操作系统块
在物理层面,数据库数据存储在磁盘文件中 操作系统块。一个操作系统块是最小的 操作系统可以读取或写入的数据单元。相比之下, Oracle 块是一种逻辑存储结构,其大小和 操作系统不知道结构。
...
数据库请求多个数据块的数据,不操作 系统块。
当数据库请求一个数据块时,操作系统 将此操作转换为对永久数据的请求 贮存。数据块与操作系统的逻辑分离 块有以下含义:
应用程序不需要确定磁盘上数据的物理地址。
数据库数据可以条带化或镜像到多个物理磁盘上。
administration guide 也这样说:
如果数据库块大小与操作系统不同 块大小,则确保数据库块大小是的倍数 操作系统块大小。
...
更大的数据块大小提供更高的磁盘效率和 内存 I/O(访问和存储数据)。因此,考虑 指定大于操作系统块大小的块大小 如果存在以下情况:
Oracle 数据库位于具有大量内存和快速磁盘驱动器的大型计算机系统上。例如,数据库由 具有大量硬件资源的大型计算机通常使用数据 块大小为 4K 或更大。
运行 Oracle 数据库的操作系统使用较小的操作系统块大小。例如,如果操作系统 块大小为 1K,默认数据块大小与此匹配,则 数据库可能正在执行过多的磁盘 I/O 普通手术。为了在这种情况下获得最佳性能,数据库块 应该由多个操作系统块组成。
【讨论】: