数据库

 首页 > 数据库 > Oracle > oracle数据库性能优化-降低IO

oracle数据库性能优化-降低IO

分享到:
【字体:
导读:
         摘要:oracle数据库性能优化-降低IO影响到oracle性能的因素主要可以从硬件和软件两个方面划分,本文通过对oracle数据库架构的分析,提出从硬件方面OLTP系统优化oracle数据库性能的方法,不足之处欢迎拍砖。oracle数据... SyntaxHighlighter.all...

oracle数据库性能优化-降低IO
oracle数据库性能优化-降低IO
 
影响到oracle性能的因素主要可以从硬件和软件两个方面划分,本文通过对oracle数据库架构的分析,
提出从硬件方面OLTP系统优化oracle数据库性能的方法,不足之处欢迎拍砖。
  oracle数据库物理存储架构:


 
  oracle数据库物理文件增长情况:


 
   Oracle archived REDO log files增长快,说明redo log写入很频繁。
从实际大数据量和高性能OLTP应用系统性能测试发现,磁阵IO是限制系统性能的瓶颈,
因此降低IO是oracle数据库优化的关键,  www.2cto.com  
结合oracle数据库物理存储架构图、数据库物理文件增长情况和实际测试发现,
给磁阵IO带来很大负荷的是redo log文件、数据文件、索引文件的读写三个方面,
并且当数据量、性能和持续压力时间都达到一定的量时,这三者产生的IO负荷相当,
因此降低磁盘IO的最终目标也就是降低这三类文件的IO,
通过将oracle的redo log文件、数据文件、索引文件都建立到内存盘上的实际测试结果表明,
采用这种几乎零IO的模式很大程度的提高了oracle的性能,
 
基于以上分析,可以对oracle数据库的IO做以下优化:
1 固态硬盘存储redo log,提高redo log的写入速度,
  从实际运用的角度看,由于内存盘的易失性,把redo log文件建立在内存盘上是不安全的,
再考察redo log文件具有大小稳定,一般在2到3个G之间的特性,因此把redo log文件建立
在固态硬盘上是个不错的选择  www.2cto.com  
2 由于内存足够大,因此将临时表空间建立在内存盘上,对于统计、大数据量查询、大数据量
sql运算(比如:group by、sum等)的操作,
  需要大量临时表空间存储临时数据,这些临时数据就直接存储到内存上了,消除了oracle
的大读取和大运算产生的临时IO
3 由于索引具有可以根据数据文件重建,不怕丢失的特性,
  把索引文件建在临时文件系统上,oracle每次启动时重建索引,这样平时的读写操作就不会
产生索引IO,索引的更新和读取都在内存上进行,
  系统由于各种原因出现重启时,仅在重启时重建一次索引
本文观点基于目前系统内存都非常大(一般都是几十G甚至以上)的情况下所做的优化,
基于以上优化,把影响oracle IO的三大因素去掉了两大因素,因此性能上有望达到倍增的效果。
 
 
 
作者 心有
oracle数据库性能优化-降低IO
分享到:
Oracle统计邮件域的语句
Oracle统计邮件域的语句 Oracle统计邮件域的语句   select substr(lower(t1.email),instr(t1.email,'@',-1))    DOMAIN,COUNT(distinct t1.email) from FEG_ISU.LOYALTY_MEMBER T1     where  T1.EMAIL IS NOT NULL  www.2cto.com    AND T1.EMAIL LIKE '%@%'    AND LENGTH(t1.EMAIL)=LE...
对oracle ITL(事务槽)的理解
对oracle ITL(事务槽)的理解 对oracle ITL(事务槽)的理解   一、ITL描述:   ITL(Interested Transaction List)是Oracle数据块内部的一个组成部分, 位于数据块头(block header),itl由xid,uba,flag,lck和scn/fsc组成, 用来记录该块所有发生的事务,一个itl可以看作是一条事务记录。 当然,如果这个事务已经提交,...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……