这个参数指定一个完全连续扫描的一次i/o操作过程中读取的块的最大数量。它的增加对io是有改善的,特别是在做full table scan的时候,可以减少io的次数。
3.调整db_block_lru_latches=2
这个参数指定lru 闩锁集数量的上限。lru锁的数量是在oracle数据库内部用来管理数据库缓冲的,它严重依赖于服务器上cpu的数量,这个值通常设置为服务器上cpu_count的一半,增大这个值有利于提高磁盘的i/o性能。
4.调整session_cached_cursors=200
这个参数指定要高速缓存的会话游标的数量,对同一sql语句进行多次语法分析后,它的会话游标将被移到该会话的游标高速缓存中。增大这个值可以缩短语法分析的时间,因为游标被高速缓存,无需被重新打开。
5.调整log_buffer=1048576
参数log_buffer指定在 lgwr 将重做日志缓冲区里的内容写入重做日志文件之前,用于缓存这些条目的内存量。这个参数以字节为单位,同时受cpu_count的影响, log_buffer如果被设置得太高(例如,大于1mb),这会引起性能问题,因为大容量的结果会使得写入同步进行(例如,日志同步等待事件非常高)。
6.调整db_block_buffers = 200000 shared_pool_size= 262144000
按照杭州的规划,oracle最终运行起来占用近1/2的物理内存。其中最主要的两个参数为:
db_block_buffers:它的配置原则是,最终数据块缓存占据1/3的内存。
shared_pool_size:它的配置原则是,基本控制在200-500m左右。