当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle性能究极优化 下

Oracle
大型数据库的设计原则与开发技巧
Oracle重做日志文件
如何使用Oracle的COALESCE函数
使用Oracle 10g Data Pump重组表空间
asp连接oracle
C++连接Oracle
详解Oracle的几种分页查询语句
简述Oracle数据仓库的体系结构
如何从完好的数据文件恢复oracle数据库
Oracle中OSFA和数据仓库简介
Oracle数据库段管理有技巧
Oracle中存取控制介绍
日志操作模式,Oracle数据的保护伞
Oracle中SQL语句解析的步骤
Oracle多粒度封锁机制研究(一)
Oracle多粒度封锁机制研究(二)
Oracle:教你删除Oracle数据库中重复没用的数据
Oracle:外部表在Oracle数据库中使用心得
Oracle:使用Oracle外部表的五个限制
Oracle:为什么Oracle字段的默认值不能用?

Oracle性能究极优化 下


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 45 ::
收藏到网摘: n/a

正在看的ORACLE教程是:Oracle性能究极优化 下。  我们有理由相信采用新的内核版本(2.2.16-3 smp)也应该有性能的提升:
  OS2: Newer minor version kernel TPC Results
  Load Time (Seconds) 9.40
  Transactions / Second 11.522
  目前已经有 2.4 版本的内核,和 2.2 相比,性能上有了很大的提升,我们采用 2.4.1 smp:
  OS3: Newer major version kernel TPC Results
  Load Time (Seconds) 8.32
  Transactions / Second 12.815
  Linux 缺省读操作时更新最后一次读的时间,但是这个对我们来说并不重要,因此我们关闭这个选项,通过设置 noatime 的文件属性来实现。(对于 Windows NT 和 2000 有相似的设置)
  如果只是相对 Oracle 的数据文件设置,我们的命令是
  chattr +A file_name
  对整个目录的实施办法:chattr -R +A directory_name

  最好的办法是修改 /etc/fstab ,针对每个文件系统入口,添加 noatime 关键字。
  OS4: noatime file attribute
  TPC Results
  Load Time (Seconds) 5.58
  Transactions / Second 13.884
  另外一个调整 Linux I/O 的办法是虚拟内存子系统的调整,修改 /ect/sysctl.cong 文件,增加下面一行:
  vm.bdflush = 100 1200 128 512 15 5000 500 1884 2
  根据 /usr/src/Linux/Documentation/sysctl/vm.txt 的说法:
  第一个参数100 %:控制缓冲区中最大的脏缓冲数据,增加这个值意味着 Linux 可以延迟磁盘写。
  第二个参数 1200 ndirty:给出 bdflush 一次能够写入磁盘的最大脏缓冲。
  第三个参数 128 nrefill:当调用 refill_freelist() 时,bdflush 添加到自由缓冲区中的最大缓冲数目。
  refill_freelist() 512:当这个数目超过 nref_dirt 脏缓冲时,将唤醒 bdflush。
  第五个 15 和最后两个参数 1884 和 2,系统未使用,我们不做修改。
  age_buffer 50*HZ, age_super 参数 5*HZ:控制 Linux 把脏缓冲写到磁盘的最多等待时间。数值用时钟滴答数(jiffies)表示,每秒为 100 个 jiffies 。
  OS5: bdflush settings TPC Results
  Load Time (Seconds) 4.43
  Transactions / Second 14.988
  经过以上一系列调整后,我们得到的最终加载时间减少了 1015.35%,TPS 增加了 45.61%。


<