成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

對Oracle 性能調優的基本方案

數據庫 Oracle
下面的文章主要介紹的是Oracle 性能優化基本方案 ,以下的文章是對Oracle 性能優化基本方案的詳細介紹,望你會從中有所收獲。

以下的文章主要是對Oracle 性能優化基本方案的概述,Oracle 性能優化基本方案在實際中的應用比例還是占為多數的,如果你對這一技術,心存好奇的話,以下的文章將會揭開它的神秘面紗。

 

1)設立合理的Oracle 性能優化目標。

 

2)測量并記錄當前性能。

 

3)確定當前Oracle性能瓶頸(Oracle等待什么、哪些SQL語句是該等待事件的成分)。

 

4)把等待事件記入跟蹤文件。

 

5)確定當前的OS瓶頸。

 

6)優化所需的成分(應用程序、數據庫、I/O、爭用、OS等)。

 

7)跟蹤并實施更改控制過程。

 

8)測量并記錄當前性能

 

9)重復步驟3到7,直到滿足優化目標

 

1.設立合理的Oracle 性能優化目標

重點:關于設立目標的最重要的一點是它們必須是可量化和可達到的。

 

方法:目標必須是當前性能和所需性能的的陳述形式的語句。只需填寫下列語句中的空格即可。

 

花費了 (時/分/秒),但要求它在 (時/分/秒)內執行。

 

使用了 (資源量),但它不能使用超過 。

 

2. 測量并記錄當前性能

重點:

 

(1)需要在峰值活動時間獲得當前系統性能快照

 

(2)關鍵是要在出現性能問題的時間段內采集信息

 

(3)必須在合理的時間段上采集,一般在峰值期間照幾個為期15分鐘的快照

 

方法:執行STATSPACK

 

建立Oracle 性能快照表空間

 

 

  1. sqlplus sys as sysdba  
  2. create tablespace perfstat datafile '/u02/oradata/dbnms/perfstat.dbf' size 500M extent management local; 

 

安裝STATSPACK 

 

  1. @$ORACLE_HOME/rdbms/admin/spcreate.sql; 

 

獲取性能數據,可以生成多個快照

 

 

  1. sqlplus perfstat  
  2. execute statspack.snap; 

 

生成性能快照的報表

 

 

  1. sqlplus perfstat  
  2. select min(snap_id) snapid_min, max(snap_id) snapid_max from stats$snapshot;  
  3. @$ORACLE_HOME/rdbms/admin/spreport; 

 

該報告中有關于性能的重要信息,如前5位的等待事件、cache大小、各種內存結構的命中率、每秒及每事務邏輯、物理讀寫數據塊數、性能最差的sql語句等

 

3. 確定當前Oracle性能瓶頸

重點:從Oracle 等待接口v$system_event、v$session_event和v$session_wait中獲得等待事件,進而找出影響性能的對象和sql語句

 

方法:

 

首先,利用v$system_event視圖執行下面的查詢查看數據庫中某些常見的等待事件:

 

 

  1. select * from v$system_event  
  2. where event in ('buffer busy waits',  
  3. 'db file sequential read',  
  4. 'db file scattered read',  
  5. 'enqueue',  
  6. 'free buffer waits',  
  7. 'latch free',  
  8. 'log file parallel write',  
  9. 'log file sync'); 

 

接著,利用下面對v$session_event和v$session視圖進行的查詢,研究具有對上面顯示的內容有貢獻的等待事件的會話:

 

 

  1. select se.sid,s.username,se.event,se.total_waits,se.time_waited,se.average_wait  
  2. from v$session s,v$session_event se  
  3. where s.sid = se.sid  
  4. and se.event not like 'SQL*Net%'  
  5. and s.status = 'ACTIVE' 
  6. and s.username is not null; 

 

使用下面查詢找到與所連接的會話有關的當前等待事件。這些信息是動態的,為了查看一個會話的等待最多的事件是什么,需要多次執行此查詢。

 

 

  1. select sw.sid,s.username,sw.event,sw.wait_time,sw.state,sw.seconds_in_wait SEC_IN_WAIT  
  2. from v$session s,v$session_wait sw  
  3. where s.sid = sw.sid  
  4. and sw.event not like 'SQL*Net%'  
  5. and s.username is not null  
  6. order by sw.wait_time desc; 

 

查詢會話等待事件的詳細信息

 

  1. select sid,event,p1text,p1,p2text,p2,p3text,p3  
  2. from v$session_wait  
  3. where sid between &1 and &2  
  4. and event not like '%SQL%'  
  5. and event not like '%rdbms%'; 

 

利用P1、P2的信息,找出等待事件的相關的段

 

  1. select owner,segment_name,segment_type,tablespace_name  
  2. from dba_extents  
  3. where file_id = &fileid_in  
  4. and &blockid_in between block_id and block_id + blocks - 1; 

 

獲得操作該段的sql語句:

 

  1. select sid, getsqltxt(sql_hash_value,sql_address)  
  2. from v$session  
  3. where sid = &sid_in; 

 

getsqltxt函數

 

  1. create or replace  
  2. function GetSQLtxt (hashaddr_in in v$sqltext.hash_value%type,  
  3. addr_in in v$sqltext.address%type)  
  4. return varchar2  
  5. is  
  6. temp_sqltxt varchar2(32767);  
  7. cursor sqlpiece_cur  
  8. is  
  9. select piece,sql_text  
  10. from v$sqltext  
  11. where hash_value = hashaddr_in 
  12. and address = addr_in 
  13. order by piece;  
  14. begin  
  15. for sqlpiece_rec in sqlpiece_cur  
  16. loop  
  17. temp_sqltxt :temp_sqltxt || sqlpiece_rec.sql_text;  
  18. end loop;  
  19. return temp_sqltxt;  
  20. end GetSQLtxt; 

至此已經找到影響Oracle 性能的對象和sql語句,可以有針對性地優化

4. 把等待事件記入跟蹤文件

重點:如果在跟蹤系統上的等待事件時,由于某種原因遇到了麻煩,則可以將這些等待事件記入一個跟蹤文件。

 

方法:

 

對于當前會話:

 

  1. alter session set timed_statistics=true;  
  2. alter session set max_dump_file_size=unlimited;  
  3. alter session set events '10046 trace name context forever, level 12'; 

 

執行應用程序,然后在USER_DUMP_DEST指出的目錄中找到跟蹤文件。

 

查看文件中以詞WAIT開始的所有行。

 

對于其它的會話

確定會話的進程ID(SPID)。下面的查詢識別出名稱以A開始的所有用戶的會話進程ID:

  1. select S.Username, P.Spid from V$SESSION S, V$PROCESS P  
  2. where S.PADDR = P.ADDR and S.Username like 'A%'; 

 

以 sysdba 進入sqlplus執行

 

 

  1. alter session set timed_statistics=true;  
  2. alter session set max_dump_file_size=unlimited;  
  3. oradebug setospid <SPID> 
  4. oradebug unlimit  
  5. oradebug event 10046 trace name context forever, level X /* Where X = (1,4,8,12) */ 

 

跟蹤某個時間間隔得會話應用程序。

 

在USER_DUMP_DEST 的值指出的目錄中利用SPID查看跟蹤文件

 

查看文件中以詞WAIT開始的所有行。

 

5. 確定當前OS瓶頸

(1)Windows NT上的監控

 

使用控制面板-〉管理工具-〉Oracle 性能即可

 

(2)UNIX上的監控

使用通用性的工具,包括sar、iostat、cpustat、mpstat、netstat、top、osview等。

 

1) CPU使用情況

 

sar -u 5 1000

 

%sys和%wio的數值應該小于百分之10到15

 

2) 設備使用情況

 

sar -d 5 1000

 

在%busy超過60%時,***設備利用率開始降低;在具有足夠磁盤高速緩存的系統上,認為avserv為100毫秒的值非常高。

 

3) 虛擬內存使用情況

 

vmstat -S 5 1000

 

執行隊列(r)應該明確的平均小于(2*CPU數目)

 

6.優化所需的成分(應用程序、數據庫、I/O、爭用、OS等)。

7.跟蹤并實施更改控制過程。

8.測量并記錄當前Oracle 性能

9.重復步驟3到7,直到滿足優化目標

 【編輯推薦】

  1. Oracle空間管理的3技巧
  2. Oracle數據庫的統計數據與其生成的具體方式
  3. Oracle加速計劃與推出的新門戶網站簡介
  4. Oracle數據庫提升效率,用3PAR
  5. 支付寶如何用Oracle 11g創建新一代數據的分析
責任編輯:佚名 來源: 互聯網
相關推薦

2011-05-20 15:02:01

Oracle性能調優

2011-11-14 10:28:23

2014-02-21 10:40:39

GlusterFS性能調優

2011-05-20 14:23:01

Oracle調優

2009-04-01 11:17:52

內存分配調優Oracle

2011-03-10 14:40:54

LAMPMysql

2010-05-04 17:08:24

Oracle數據庫

2017-07-21 08:55:13

TomcatJVM容器

2013-09-24 13:06:56

AngularJS性能優化

2012-06-20 11:05:47

性能調優攻略

2021-03-04 08:39:21

SparkRDD調優

2010-04-07 13:32:39

Oracle調優

2020-01-14 09:13:48

Tomcat調優配置

2011-05-18 10:16:24

Oracle調優

2020-10-20 11:13:19

性能調優標準

2020-11-30 11:40:35

NginxLinux性能調優

2010-03-31 08:51:35

Oracle 10g

2010-05-13 09:49:08

MySQL調優

2011-03-18 11:21:48

2014-12-01 11:30:06

PostgreSQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美专区在线 | 日韩av高清 | 国产精品日韩一区二区 | 成人在线免费视频 | 国产精品久久久久久久久久久久 | 日韩精品一区二区三区视频播放 | 欧美久操网 | 日韩视频一级 | 午夜精品一区二区三区免费视频 | 免费观看www | 国产 日韩 欧美 在线 | 中文字幕视频在线观看 | 色偷偷噜噜噜亚洲男人 | 日本高清视频在线播放 | 欧美成人精品一区 | 国产精品永久免费 | 欧美一区二区视频 | 天天干天天操天天看 | 精品免费国产视频 | 国产精品一区二区不卡 | 精品国产高清一区二区三区 | 亚洲免费一区二区 | 男女爱爱福利视频 | 黑人巨大精品欧美一区二区免费 | 久久精品色欧美aⅴ一区二区 | 99精品久久99久久久久 | 日韩一区二区三区在线 | 国产一级片免费视频 | 免费激情| 精品一区二区三区四区 | 黄网站在线播放 | 福利视频三区 | 日韩网站在线观看 | 久久草视频 | 日日夜夜免费精品 | 日韩视频在线播放 | 天天射美女 | 特级毛片| 国产精品色哟哟网站 | 欧美日韩免费一区二区三区 | 亚洲欧美视频一区 |