偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解Oracle幾種性能調優(yōu)方法

運維 數據庫運維 Oracle
本文將介紹幾種Oracle調優(yōu)的方法,包括調整內存分配、調整Library Cache、調整數據字典高速緩存等多種方法。

Oracle是一個高性能數據庫軟件。用戶可以通過參數的調整,達到性能的優(yōu)化。性能優(yōu)化主要分為兩部分:

一是數據庫管理員通過對系統(tǒng)參數的調整達到優(yōu)化的目的;

二是開發(fā)人員通過對應用程序的優(yōu)化達到調整的目的。

在此,僅就系統(tǒng)參數的調整進行探討,而不涉及應用程序的優(yōu)化。對系統(tǒng)參數的調整,可以分為以下幾個部分:

調整內存分配

系統(tǒng)全局區(qū)(SGA)是一個分配給Oracle 包含Oracle 數據庫實例控制信息的內存段。SGA的大小對系統(tǒng)性能的影響極大,其缺省參數設置只適用于配置很低的計算機,不適應收入系統(tǒng)現有設備的需要。這些參數若不作調整,會對系統(tǒng)資源造成巨大浪費。就收入系統(tǒng)的Alpha 1200而言,SGA的大小以160兆左右為宜。

初始化參數文件中的一些參數對SGA的大小有決定性的影響。參數DB-BLOCK-BUFFERS(SGA中存儲區(qū)高速緩存的緩沖區(qū)數目),參數SHARED-POOL-SIZE(分配給共享SQL區(qū)的字節(jié)數),是SGA大小的主要影響者。

DB-BLOCK-BUFFERS參數是SGA大小和數據庫性能的最重要的決定因素。該值較高,可以提高系統(tǒng)的命中率,減少I/O。每個緩沖區(qū)的大小等于參數DB-BLOCK-SIZE的大小。Oracle數據庫塊以字節(jié)表示大小。

Oracle SGA區(qū)共享池部分由庫高速緩存、字典高速緩存及其他一些用戶和服務器會話信息組成,共享池是最大的消耗成分。調整SGA區(qū)各個結構的大小,可以極大地提高系統(tǒng)的性能。

調整Library Cache

庫高速緩存(Library Cache)中包含私用和共享SQL區(qū)和PL/SQL區(qū)。調整SGA的重要問題是確保庫高速緩存足夠大,以使Oracle能在共享池中保持分析和執(zhí)行語句,提高語查詢V$LIBRARYCACHE 數據字典視圖句分析和執(zhí)行效率,降低資源消耗。通過比較Library Cache的命中率來決定它的大小。(其中,pins表示高速緩存命中率,reloads表示高速緩存失敗)
        SQL〉SELECT SUM(pins),SUM(reloads) FROM v$librarycache;

如果sum(reload)/sum(pins)≈0,說明Library Cache的命中率比較合適,若大于1,則需要增加共享池(SHARED-POOL-SIZE)的大小(在初始化參數文件中)。

調整數據字典高速緩存(Dictionary Cache)

數據字典高速緩存包括了有關數據庫的結構、用戶、實體信息等。數據字典的命中率對系統(tǒng)有很大的影響。命中率的計算中,getmisses 表示失敗次數,gets表示成功次數。

查詢V$ROWCACHE表:

SQL>SELECT (1-(SUM(getmisses)/(SUM(gets)+SUM(getmisses))))*100
FROM v$rowcache;

如果該值>90%,說明命中率合適。否則,應增大共享池的大小。

調整數據庫緩沖區(qū)高速緩存

Oracle 在運行期間向數據庫高速緩存讀寫數據,高速緩存命中表示信息已在內存中,高速緩存失敗意味著Oracle必需進行磁盤I/O。保持高速緩存失敗率最小的關鍵是確保高速緩存的大小。初始化參數DB-BLOCK-BUFFERS控制數據庫緩沖區(qū)高速緩存的大小。可通過查詢V$SYSSTAT命中率,以確定是否應當增加DB-BLOCK-BUFFERS的值。

SQL>SELECT name,value FROM V$SYSSTAT
WHERE name IN (’dbblock gets’,’consistent gets’,’physical reads’);

通過查詢結果

命中率=1-physical reads/(dbblock gets+consistent gets)

如果命中率<0.6~0.7,則應增大DB-BLOCK-BUFFERS。

調整磁盤I/O

磁盤I/O是系統(tǒng)性能的瓶頸,解決好磁盤I/O,可明顯提高性能。通過查詢V$FILESTAT可以知道每個物理文件的使用頻率(phyrds表示每個數據文件讀的次數,phywrts表示每個數據文件寫的次數)

SQL>SELECT name,phyrds,phywrts FROM v$datafile df,v$filestat fs
WHERE df.file# =fs.file#;

對于使用頻率較高的物理文件,可以采用以下策略:

將I/O盡可能平均分配在盡可能多的磁盤上。

為表和索引建立不同的表空間。

將數據文件與重做日志文件分離在不同的磁盤上。

減少不經Oracle SERVER的磁盤I/O。

調整競爭

當多個進程對相同的資源發(fā)出申請時,產生競爭。

修改Process參數

該參數定義可以同時連接到Oracle數據庫的最大進程數,缺省值為50。注意,Oracle的后臺進程也包括在此數目中,建議將該值改為200。

減少調度進程的競爭

減少調度進程的競爭,通過查詢v$dispatcher表來判定調度進程的競爭

SQL>SELECT network ,sum(busy)/sum(busy)+sum(idle) FROM v$dispatcher
GROUP BY network;

如果某種協議忙的比率超過50%,應增加MTS-DISPATCHERS的值。

減少多線程服務進程競爭

首先查詢V$SYSSTAT表判定是否發(fā)生多線程服務進程競爭:

SQL>SELECT DECODE(totalq,0,’No request’,wait/totalq||’hunderths of seconds’) FROM v$sysstat
WHERE type=’common’;

如果共享服務進程數量已達到初始化參數文件中MTS-MAX-SERVERS指定的最大值,但應用運行時,平均請求等待時間仍持續(xù)增長,那么,應加大MTS-MAX-SERVERS的值。

減少重做日志緩沖區(qū)競爭

通過查詢V$SYSSTAT表判定redo log 文件緩沖區(qū)是否足夠。

SQL>SELECT name,value FROM v$sysstat
 WHERE name=’redo log space request’;

此處value的值應接近于0,否則,應增大初始化參數文件的LOG-BUFFEQS的值。

減少回退段競爭

回退段對性能也有影響,根據事物大小情況來分配合適的回退段。

首先判定回退段的數量能否滿足系統(tǒng)運行的需要:

查詢V$WAITSTAT表與V$SYSSTAT表

SQL>SELECT class,count FROM v$waitstat
WHERE class IN (’system undo header’,system undo block’,
’undo header’,’undo block’);
SQL>SELECT sum(value)
FROM v$sysstat WHERE name IN (’db block gets’,’consistent gets’);

如果任何一個class/sum(value)>10%,那么考慮增加回退段?;赝硕蔚臄盗恳话惆慈缦乱?guī)律設定:
用戶數  回退段個數
n<164
1632<=n n/4 但不超過50

減少Free List競爭

當多個進程同時向一個表中插入數據時,產生Free List競爭。

SQL>SELECT class,count FROM v$waitstat
WHERE class=’free list’;
SQL>SELECT sum(value)
FROM v$sysstat
WHERE name IN (’db block gets’,’consistent gets’);

如果class/sum(value)>1%,則應增加該表的Free List 的值。

【編輯推薦】

  1. Oracle存儲過程開發(fā)實例
  2. Oracle數據塊原理深入剖析
  3. Oracle數據庫管理腳本淺析
責任編輯:彭凡 來源: ITPUB個人空間
相關推薦

2011-05-20 15:02:01

Oracle性能調優(yōu)

2011-05-20 14:23:01

Oracle調優(yōu)

2009-12-16 15:14:43

Ruby on Rai

2019-11-01 08:49:07

JVM監(jiān)控性能

2017-07-21 08:55:13

TomcatJVM容器

2010-03-10 11:29:47

MySQL數據庫性能調

2010-05-05 14:04:31

Oracle 性能

2012-01-10 14:35:08

JavaJVM

2012-06-20 11:05:47

性能調優(yōu)攻略

2021-03-04 08:39:21

SparkRDD調優(yōu)

2018-11-12 14:53:09

Redis性能調優(yōu)數據庫

2010-09-27 09:23:42

JVM調優(yōu)

2011-05-18 10:16:24

Oracle調優(yōu)

2010-05-04 17:08:24

Oracle數據庫

2011-05-24 09:45:41

Oracle數據庫系統(tǒng)調優(yōu)

2011-03-10 14:40:54

LAMPMysql

2011-11-14 10:28:23

2020-11-30 11:40:35

NginxLinux性能調優(yōu)

2010-04-07 13:32:39

Oracle調優(yōu)

2011-03-18 11:21:48

點贊
收藏

51CTO技術棧公眾號