Oracle性能究极优化 下_oracle

正在看的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%。

<

时间: 2024-09-21 17:03:22

Oracle性能究极优化 下_oracle的相关文章

Oracle性能究极优化 上第1/2页_oracle

正在看的ORACLE教程是:Oracle性能究极优化 上. Linux Journal 发表了一篇优化 Oracle 数据库的文章,感觉十分的有用.简要介绍其摘要和大家共同分享 Linux 在企业级数据库上应用. 目前,HP,Compaq,Dell,IBM 以及 Oracle 都在加快速度拥抱 Linux ,这个开放源码的操作系统.根据 eWeek 的统计,去年 Linux 服务器的销售量大约占据了 Compaq 的 30%,Dell 的 13.7%,IBM 的 13.5%.而且 IBM 200

Oracle性能究极优化_oracle

正在看的ORACLE教程是:Oracle性能究极优化. 增大 SGA 已经缓冲看来对于性能的提升并不显著,加载时间只提升了 1.73%.下面我们增加 SGA 重做日志的大小: DB3: Log Buffer Database Block Size 2K SGA Buffer Cache 128M SGA Shared Pool 128M SGA Redo Cache 16M Redo Log Files 16M Tablespaces Dictionary TPC Results Load Ti

Oracle性能究极优化

  正在看的ORACLE教程是:Oracle性能究极优化.增大 SGA 已经缓冲看来对于性能的提升并不显著,加载时间只提升了 1.73%.下面我们增加 SGA 重做日志的大小: DB3: Log Buffer Database Block Size 2K SGA Buffer Cache 128M SGA Shared Pool 128M SGA Redo Cache 16M Redo Log Files 16M Tablespaces Dictionary TPC Results Load T

Oracle性能调整与优化(一)

Oracle性能调整是一个范围比较广且有点复杂的主题,普通DBA面对的最大的问题是从哪里开始以及该 做些什么.你知道的所有信息可能是有人(一个用户)报告了一个关于应用程序或查询性能下降的问题, 当你面对这样的问题时该从何下手呢? Oracle的调整方法 对那些已经取得了Oracle 8i性能调整认证考试的人而言,有一个试验区域实验Oracle的调整方法,当 Oracle 9i发布时Oracle强调了这个方法有所改动,这个方法从8i到9i/10g发生一些变化,两个方法都不 完全一样,它们都有各自的

Oracle性能调整与优化(三)

正如在第1和第2部分中提到那样,有几个相对容易的改善性能的步骤你可以采取,这些步骤其中一个 涉及到使用自动化工具"指导"你编写SQL语句,有许多生产性能分析或性能调整工具的厂家 ,在接下来的文章中,我们将对它们中的一个进行考察. Quest Software 许多DBA和开发者使 用一个名叫Toad的工具,它出自Quest Software公司,按照Quest Software网站上说法,Toad用户社区大 约有500,000数量的用户,Toad的一个特色就是它有能力优化SQL查询,换

oracle性能34条优化技巧

  (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有 3 个以上的表连接查询, 那就需要选择交叉表 (intersection table)作为基础表,交叉表是指那个被其他表所引用的表. (2) WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WH

oracle数据库sql的优化总结_oracle

一:使用where少使用having; 二:查两张以上表时,把记录少的放在右边: 三:减少对表的访问次数: 四:有where子查询时,子查询放在最前: 五:select语句中尽量避免使用*(执行时会把*依次转换为列名): 六:尽量多的使用commit: 七:Decode可以避免重复扫描相同的记录或重复连接相同的表: 八:通过内部函数也可提高sql效率: 九:连接多个表时,使用别名并把别名前缀于每个字段上: 十:用exists代替in 十一:not exists代替 not in(not in 字

Oracle性能调整与优化(二)

为了能取得圆满成功,我将涉及到一些预备步骤,它们将在查看发生了什么时需要,这些步骤包括运 行plustrce SQL脚本.创建一个"EXPLAIN_PLAN"表.授予角色.配置sql*plus环境查看执行计划.所有 这些步骤都包括在"Oracle 9i R2数据库性能调整指南和参考"中"在sql*plus中使用自动跟踪",对于 Oracle 10g,这些步骤包括在"sql*plus用户指南和参考10.2版"中"调整s

谁能帮忙把这个oracle上的存储过程优化下

问题描述 create or replace procedure delMoreByQyzch islostCount int:=0; begin for v in (select * from compare_guoshui ) loop select count(*)into lostCount from compare_guoshui where qyzch=v.qyzch;if lostCount !=1 then delete from compare_guoshui c where