溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解 SGA 與實例優(yōu)化(部分)

發(fā)布時間:2020-09-21 03:55:02 來源:網(wǎng)絡(luò) 閱讀:855 作者:心神cgr 欄目:關(guān)系型數(shù)據(jù)庫
	SGA的組成圖

-----------------------------------------------------------------------------------------------------------------------
|  									            SGA                                                                   |
|                                                                                                                     |    
|    |--------------------------|              |--------------------------|             |------------------------|    |                        
|    |                          |              |                          |             |                        |    |          
|    |      數(shù)據(jù)庫緩沖區(qū)        |              |     重做日志緩沖區(qū)       |             |        共享池          |    |                                                      
|    | database bufferr cache   |              |     redo log buffer      |             |     shared pool        |    |                                                             
|    |                          |              |                          |             |                        |    |                                            
|    |                          |              |                          |             |                        |    |         
|    |--------------------------|              |--------------------------|             |------------------------|    |                                                                                             
|                                                                                                                     | 
|                                                                                                                     |          
|    |--------------------------|              |--------------------------|             |------------------------|    |                                                                                                 
|    |                          |              |                          |             |                        |    |                
|    |        Java池            |              |          大池            |             |          流池          |    |                           
|    |     Java   pool          |              |      large   pool        |             |      stream pool       |    |                                        
|    |                          |              |                          |             |                        |    |              
|    |--------------------------|              |--------------------------|             |------------------------|    |
|                                                                                                                     | 
-----------------------------------------------------------------------------------------------------------------------  

數(shù)據(jù)庫緩沖區(qū) 	:該區(qū)域存放用戶從數(shù)據(jù)庫中讀取的數(shù)據(jù)
		  當(dāng)用戶查找數(shù)據(jù)庫時會首先在數(shù)據(jù)庫緩存中搜索,如果沒有才會讀取數(shù)據(jù)庫文件。
		  所以該區(qū)域不能設(shè)置的過小,不然頻繁的讀取數(shù)據(jù)文件會增大查詢時間,因為I/O是耗時的行為

重做日志緩沖區(qū)	:該緩沖區(qū)放置用戶改變的數(shù)據(jù),所有變化了的數(shù)據(jù)和回滾需要的數(shù)據(jù)都暫時保存

共享池		:包括數(shù)據(jù)字典高速緩存和庫高速緩存,庫高速緩存存放Oracle解析的SQL語句、PL/SQL過程、包以及各種控制結(jié)構(gòu),如鎖、庫緩沖句柄
		  數(shù)據(jù)字典高速緩存保存執(zhí)行SQL語句所需的各種數(shù)據(jù)字典定義如表和列的定義,用戶訪問表的權(quán)限等。

Java池		:執(zhí)行Java代碼的區(qū)域

大池		:該內(nèi)存區(qū)提供大型的內(nèi)存分配,在共享服務(wù)器連接模式下提供會話區(qū),在使用RMAN備份時也使用該內(nèi)存區(qū)作為磁盤I/O的數(shù)據(jù)緩沖區(qū)

流池		:該區(qū)域稱為流內(nèi)存,是為Oracle流專用的內(nèi)存池,流是Oracle數(shù)據(jù)庫中的一個數(shù)據(jù)共享,其大小可以通過參數(shù)streams_pool_size

SGA中的內(nèi)存參數(shù)可以動態(tài)修改,但是總的內(nèi)存大小受到參數(shù)SGA_MAX_SIZE的限制。

優(yōu)化重做日志緩沖區(qū)
	重做日志緩沖區(qū)是使一段臨時存儲重做數(shù)據(jù)的內(nèi)存區(qū),所有變化的數(shù)據(jù)前項和修改后的數(shù)據(jù)都保存在重做日志緩沖區(qū)中,由LGWR進程負責(zé)寫入重做日志文件。
	在優(yōu)化時,需要考慮該內(nèi)存區(qū)的大小,以及LGWR的寫速度和重做日志文件所在磁盤的爭用
	
	LGWR把重做日志緩沖區(qū)寫入重做日志文件的條件
		1.每隔3秒鐘
		2.事務(wù)被提交時
		3.當(dāng)重做日志緩沖區(qū)的記錄的變化的數(shù)據(jù)量超過1MB字節(jié)
		4.當(dāng)重做數(shù)據(jù)的大小為中做日志緩沖區(qū)大小的1/3時,
			當(dāng)重做數(shù)據(jù)量達到其容量的1/3這個閥值時,LGWR進程會寫出重做日志緩沖區(qū)的數(shù)據(jù),而剩下的2/3的數(shù)據(jù)可以提供其它服務(wù)器進程使用。
		5.檢查點發(fā)生時
		6.當(dāng)DBWR進程將數(shù)據(jù)庫高速緩沖區(qū)的數(shù)據(jù)寫到數(shù)據(jù)文件前

		查看重做日志緩沖區(qū)的尺寸
		   show parameter log_buffer;

	重做日志緩沖區(qū)相關(guān)的等待事件
		如果需呀優(yōu)化重做日志緩沖區(qū),必須首先確認發(fā)生了與重做日志緩沖區(qū)相關(guān)的等待時間,否則不應(yīng)該隨便調(diào)整重做日志緩沖區(qū)的尺寸
			通過WAIT視圖和EXENT視圖,確認等待時間以及該事件涉及的文件和會話
				通過數(shù)據(jù)字典視圖查看會話等待事件
					col event for a35
					col username for a10
					select sw.sid,s.username,sw.event,sw.wait_time
					from v$session s,v$session_wait sw
					where sw.event not like 'rdbms%'
					and sw.sid=s.sid
					order by sw.wait_time,sw.event

		1.Log buffer space :該事件說明缺少重做日志的緩沖區(qū)空間,
				    造成該等待事件的原因一般是服務(wù)器進程寫入重做日志緩沖區(qū)的速度高于LGWR重做日志緩沖區(qū)寫出的速度,
				    也有可能是重做日志文件所在磁盤設(shè)備速度慢或者存在設(shè)備爭用,造成LGWR進程無法即使將重做日志緩沖區(qū)的重做數(shù)據(jù)寫入到重做日志文件
		優(yōu)化方法:調(diào)整重做日志緩沖區(qū),
			  或者將重做日志數(shù)據(jù)文件遷移到高速磁盤
			  或者為了解決爭用,將重做日志文件和數(shù)據(jù)庫文件以及歸檔文件放在不同的磁盤上

		2.log file parallel write :該事件的含義是日志文件并行寫等待,是在將重做日志緩沖區(qū)的重做數(shù)據(jù)寫入磁盤引起的等待事件。
					  造成該事件的原因一般是連接重做日志文件所在的設(shè)備速度慢或者存在磁盤爭用
		優(yōu)化方法:將重做日志文件和數(shù)據(jù)庫數(shù)據(jù)文件以及歸檔文件放在不同的磁盤上。以及將重做日志文件放置在告訴盤上。

		3.log file single write :該等待事件僅與寫日志文件頭塊有關(guān),表示檢測點中的等待
	            log file switch(archiving needed)該等待事件的含義是日志文件切換等待。
			                           對于處于歸檔模式的數(shù)據(jù)庫而言,當(dāng)日志組寫滿后,在日志切換時需要覆蓋先前的日志,
			   	                   而該日志需要歸檔進程寫入歸檔文件,由于寫入歸檔文件需要時間,而LGWR進程需要將重做日志緩沖區(qū)的數(shù)據(jù)寫入重做日志文件,而歸檔未完成需要等待,在此期間
			                           就產(chǎn)生了log file switch事件,該等待事件的原因一般是I/O問題、ARCH歸檔進程跟不上LGWR日志寫進程的速度或這日志組太少引起的
		優(yōu)化方法:啟用多個歸檔ARCH進程或I/O從進程(slave processe ),
			   將歸檔的文件和數(shù)據(jù)文件或重做日志文件防止在不同的位置,減少磁盤爭用以減少ARCH歸檔進程的歸檔事件,
			   或者增加重做日志組

		4.log file switch(checkpoint incomplete):該事件是由日志切換太頻繁引起的,由于頻繁地切換重做日志文件,造成檢查點的排隊。
							發(fā)生該等待事件的原因一般是重做日志緩沖區(qū)空間太小或者重做日志組太少。
		優(yōu)化方法:增加重做日志組或者增加重做日志緩沖區(qū)尺寸。

		5.log file sync:當(dāng)用戶提交時,重做日志緩沖區(qū)中的數(shù)據(jù)會一次全部寫到重做日志文件中,此時發(fā)生的LGWR的寫出等待就是log file sync等待。
				造成該等待的原因一般是放置聯(lián)機重做日志文件的磁盤組存在爭用或者磁盤速度慢。
		優(yōu)化方法:將重做日志文件和數(shù)據(jù)文件或歸檔重做日志文件放置在不同磁盤上,以減少數(shù)據(jù)庫中的各種文件之間的I/O爭用,
			    同時可以把重做日志文件放在高速磁盤上,以減少重做數(shù)據(jù)寫入重做日志文件的時間。

		6.Latch free:該等待事件的含義是當(dāng)前的服務(wù)器進程需要某個閂鎖,比如等待共享池的庫高速緩存閂鎖。
				如果發(fā)生該等待事件也可以通過數(shù)據(jù)字典V$Latch查看相關(guān)的閂鎖命中率。
				
  	        查詢與閂鎖LATCH相關(guān)的信息
  			 select latch#,name,gets,misses,1-(misses/(gets+misses))  "get rate"
  			 from v$latch
  			 where misses>1;


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI