为什么Oracle数据库块和操作系统块的大小不同?我在Oracle网站上搜索过但没有找到满意的答案。
答案 0 :(得分:2)
数据库块是存储的逻辑单元,操作系统块是物理存储单元。它们不必具有不同的大小,但只要逻辑块大小等于或大于物理块大小的倍数,它们就可以是不同的。这使Oracle无需底层硬件即可检索最佳数据量,因此可以提高效率并减少开销。
数据块和操作系统块
在物理层面,数据库数据存储在组成的磁盘文件中 操作系统块。操作系统块是最小的 操作系统可以读取或写入的数据单元。相反, Oracle块是一个逻辑存储结构,其大小和 操作系统不知道结构。
...
数据库以多个数据块请求数据,而不是数据块 系统块。
当数据库请求数据块时,操作系统 将此操作转换为永久数据请求 存储。数据块与操作系统的逻辑分离 块具有以下含义:
应用程序无需确定磁盘上数据的物理地址。
数据库数据可以在多个物理磁盘上进行条带化或镜像。
administration guide也说明了这一点:
如果数据库块大小与操作系统不同 块大小,然后确保数据库块大小是数字的倍数 操作系统块大小。
...
更大的数据块大小可提高磁盘和磁盘的效率 内存I / O(访问和存储数据)。因此,考虑一下 指定大于操作系统块大小的块大小 如果存在以下条件:
Oracle数据库位于具有大量内存和快速磁盘驱动器的大型计算机系统上。例如,由...控制的数据库 具有大量硬件资源的大型计算机通常使用数据 块大小为4K或更大。
运行Oracle数据库的操作系统使用较小的操作系统块大小。例如,如果是操作系统 块大小为1K,默认数据块大小与此匹配 数据库可能正在执行过多的磁盘I / O. 普通手术。为了在这种情况下获得最佳性能,请使用数据库块 应包含多个操作系统块。