如何设定Oracle DB_BLOCK_SIZE以及Solaris操作系统字区大小

2008-10-6   
   | |

导读:本文主要介绍了如何设定Oracle DB_BLOCK_SIZE以及Solaris操作系统字区大小。我们需要确保DB_BLOCK_SIZE参数OS块大小的整数倍。如果这两者之间的比率是小数,那么……

关键词:Oracle DB_BLOCK_SIZE Solaris操作系统 字区大小

正在加载数据...

【TechTarget中国原创】:你能解释一下如何设定DB_BLOCK_SIZE吗?为什么它需要多个操作系统字区大小呢?我使用的是Solaris 10操作系统和Oracle 10g数据库。

  答:Oracle将数据存储在磁盘装置中。Oracle必须对磁盘单元写新数据并从裁判单元中读取旧数据。每次读和写的操作都在工作单元中执行。这些工作单元就被Oracle DB_BLOCK_SIZE初始参数设定了。例如,假设你的事物将对磁盘单元写入32KB的数据,DB_BLOCK_SIZE参数就设为8KB。在这个例子中,Oracle必须执行四个I/O工作单元(32KB/8KB=4)来完成这一操作。

  同样地,操作系统有自己的块大小。在Unix和Linux系统中,块大小可以进行设置。在Windows系统中,OS块大小通常是2KB。

【TechTarget中国原创】:你能解释一下如何设定DB_BLOCK_SIZE吗?为什么它需要多个操作系统字区大小呢?我使用的是Solaris 10操作系统和Oracle 10g数据库。

  答:Oracle将数据存储在磁盘装置中。Oracle必须对磁盘单元写新数据并从裁判单元中读取旧数据。每次读和写的操作都在工作单元中执行。这些工作单元就被Oracle DB_BLOCK_SIZE初始参数设定了。例如,假设你的事物将对磁盘单元写入32KB的数据,DB_BLOCK_SIZE参数就设为8KB。在这个例子中,Oracle必须执行四个I/O工作单元(32KB/8KB=4)来完成这一操作。

  同样地,操作系统有自己的块大小。在Unix和Linux系统中,块大小可以进行设置。在Windows系统中,OS块大小通常是2KB。

  当Oracle需要执行I/O时,I/O最小的单元就是上面谈到的DB_BLOCK_SIZE。但是Oracle会对操作系统发出I/O请求。如果DB_BLOCK_SIZE是2KB并且OS块大小为4BK,那么每次Oracle从磁盘中读取的数据就是2KB,OS读取的是4KB。在这种情况下,时间就在读取多余的2KB的数据中浪费了,这些时间对于Oracle来说根本就不需要。所以为了合理设置块大小,我们需要确保DB_BLOCK_SIZE参数OS块大小的整数倍。如果这两者之间的比率是小数,那数据库性能就会受到影响。

 
查看全文
 
 
 
 
 

Oracle数据库设计

 
在使用Oracle数据库时,如何选择表中的主键列(primary key columns ),在选择是需要注意哪些问题,专家将给出解答。
 
在进行软件开发与设计时,使用特定的开发语言,比如C++,能否链接Oracle数据库,这是程序员比较关心的问题,而Oracle C++调用接口就是这样一个工具。
 
Oracle数据库中,传统表和索引组织表(IOT)有哪些区别,在特定的环境中如何选用两种表,专家给出了建议。
 
在Oracle 9i中,如果有一个图像文件大小超过了1GB,使用什么方法来对它进行存储和检索工作,专家将给出参考方法。
 
我是个Oracle数据库的初学者。我想使用Oracle复制功能。谁能帮我讲讲Oracle数据库复制的步骤?非常感谢。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录