自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

九大Oracle性能優(yōu)化基本方法詳解

數(shù)據(jù)庫 Oracle
本文詳細(xì)敘述了Oracle性能優(yōu)化的前4個(gè)步驟:設(shè)立合理的Oracle性能優(yōu)化目標(biāo),測量并記錄當(dāng)前的Oracle性能等,略寫了確定當(dāng)前OS瓶頸,Oracle性能優(yōu)化所需的成分等幾個(gè)方面。

51CTO數(shù)據(jù)庫頻道向您推薦《Oracle數(shù)據(jù)庫調(diào)試與性能優(yōu)化》專題,以便于您更好的理解本文。

Oracle性能優(yōu)化基本方法包括一下幾個(gè)步驟,包括:

1)設(shè)立合理的Oracle性能優(yōu)化目標(biāo)。

 

2)測量并記錄當(dāng)前的Oracle性能。

 

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

 

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

 

5)確定當(dāng)前的OS瓶頸。

 

6)優(yōu)化所需的成分(應(yīng)用程序、數(shù)據(jù)庫、I/O、爭用、OS等)。

 

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

 

8)測量并記錄當(dāng)前性能

 

9)重復(fù)步驟3到7,直到滿足優(yōu)化目標(biāo)

 

下面來一一詳述。

 

1.設(shè)立合理的Oracle性能優(yōu)化目標(biāo)

重點(diǎn):關(guān)于設(shè)立目標(biāo)的最重要的一點(diǎn)是它們必須是可量化和可達(dá)到的。

 

方法:目標(biāo)必須是當(dāng)前性能和所需性能的的陳述形式的語句。

 

2.測量并記錄當(dāng)前Oracle性能重點(diǎn):

1)需要在峰值活動(dòng)時(shí)間獲得當(dāng)前系統(tǒng)性能快照

 

2)關(guān)鍵是要在出現(xiàn)性能問題的時(shí)間段內(nèi)采集信息

 

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

 

3.確定當(dāng)前Oracle性能瓶頸重點(diǎn):從Oracle 等待接口v$system_event、v$session_event和v$session_wait中獲得等待事件,進(jìn)而找出影響性能的對(duì)象和sql語句。方法如下:

 

1)首先,利用v$system_event視圖執(zhí)行下面的查詢查看數(shù)據(jù)庫中某些常見的等待事件:

  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'); 

2)接著,利用下面對(duì)v$session_event和v$session視圖進(jìn)行的查詢,研究具有對(duì)上面顯示的內(nèi)容有貢獻(xiàn)的等待事件的會(huì)話:

  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

3)使用下面查詢找到與所連接的會(huì)話有關(guān)的當(dāng)前等待事件。這些信息是動(dòng)態(tài)的,為了查看一個(gè)會(huì)話的等待最多的事件是什么,需要多次執(zhí)行此查詢。

  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

4)查詢會(huì)話等待事件的詳細(xì)信息

  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%'

5)利用P1、P2的信息,找出等待事件的相關(guān)的段

  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; 

6)獲得操作該段的sql語句:

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

7)getsqltxt函數(shù)

8)至此已經(jīng)找到影響性能的對(duì)象和sql語句,可以有針對(duì)性地優(yōu)化

#p#

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

重點(diǎn):如果在跟蹤系統(tǒng)上的等待事件時(shí),由于某種原因遇到了麻煩,則可以將這些等待事件記入一個(gè)跟蹤文件。方法如下:

 

1)對(duì)于當(dāng)前會(huì)話:

 

  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';  

 

2)執(zhí)行應(yīng)用程序,然后在USER_DUMP_DEST指出的目錄中找到跟蹤文件。

 

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

 

4)對(duì)于其它的會(huì)話

 

5)確定會(huì)話的進(jìn)程ID(SPID)。下面的查詢識(shí)別出名稱以A開始的所有用戶的會(huì)話進(jìn)程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%';  

 

 

6)以sysdba進(jìn)入sqlplus執(zhí)行

 

 

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

 

 

7)跟蹤某個(gè)時(shí)間間隔得會(huì)話應(yīng)用程序。

 

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

 

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

 

5.確定當(dāng)前OS瓶頸1)Windows NT上的監(jiān)控

 

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

 

2)UNIX上的監(jiān)控

 

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

 

6.Oracle性能優(yōu)化所需的成分(應(yīng)用程序、數(shù)據(jù)庫、I/O、爭用、OS等)。

7.跟蹤并實(shí)施更改控制過程。

8.測量并記錄當(dāng)前Oracle性能

9.重復(fù)步驟3到7,直到滿足優(yōu)化目標(biāo)

【編輯推薦】

  1. 簡單概述Oracle性能測試
  2. Oracle性能在調(diào)整中的要點(diǎn)介紹
  3. 使用資源管理器優(yōu)化Oracle性能
  4. Oracle性能優(yōu)化借助分區(qū)技術(shù)實(shí)現(xiàn)
  5. 淺談Oracle性能優(yōu)化可能出現(xiàn)的問題

 

 

 

 

責(zé)任編輯:王婧瑤 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2024-08-19 02:10:00

服務(wù)性能優(yōu)化服務(wù)架構(gòu)

2011-07-03 19:58:34

SEO

2009-04-01 11:17:52

內(nèi)存分配調(diào)優(yōu)Oracle

2010-04-23 15:18:51

Oracle性能優(yōu)化

2010-03-02 09:53:14

MySQL性能優(yōu)化

2024-03-07 11:03:21

ElasticseaES索引

2009-06-30 11:23:02

性能優(yōu)化

2010-04-14 12:51:10

Oracle性能

2010-07-29 13:41:57

Flex性能優(yōu)化

2018-01-09 16:56:32

數(shù)據(jù)庫OracleSQL優(yōu)化

2010-08-10 09:53:45

Flex性能優(yōu)化

2010-04-20 15:30:58

Oracle sql

2009-09-22 17:25:41

優(yōu)化Hibernate

2011-06-20 14:27:57

Qt Embedded

2013-09-16 15:16:20

Android性能優(yōu)化

2017-08-25 15:28:20

Oracle性能優(yōu)化虛擬索引

2010-04-23 14:48:26

Oracle性能優(yōu)化

2009-11-26 17:37:37

Linux編輯器

2024-06-05 11:29:54

微服務(wù)監(jiān)控工具

2017-02-05 17:33:59

前端優(yōu)化Web性能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)