熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

動態性能視圖,Oracle數據庫維護的好幫手(二)

2013-11-13 16:00:22  來源: Oracle 

  二與SGA相關的動態性能視圖

  雖然從G以後的數據庫系統中已經實現了內存的自動分配功能Oracle數據庫系統從G以後引入了自動調整SGA(系統共享區)的功能這個功能的話數據庫管理員之需要指定一個系統共享區的總大小即可Oracle數據庫系統會負責其在整個系統共享區池中內部決定優化內存分配的重任有了這個功能之後數據庫系統分配給不同的SGA緩存的內存將會隨著時間以及系統的運行狀況動態的改變以適應數據庫系統工作量的變化大大提高了SGA的利用率

  所以通常情況下數據庫管理員不需要手工的去更改SGA的相關參數不過在數據庫管理員還是需要了解系統共享區的利用情況因為在必要的情況下數據庫管理員需要調整系統共享區總的大小以提高數據庫服務器的性能

  具體的來說數據庫管理員需要掌握兩張動態性能視圖分別為V$SGA 與V$SGAINFO這兩張動態性能視圖反映了系統共享區不同的信息前者主要是現實系統共享區的主要組成部分的大小如共享池數據高速緩存重做日志緩沖區等等所占系統共享區的大小等等而後者者反映了系統共享區分配的更加詳細的信息若數據庫管理員懷疑是因為系統共享區的問題導致了數據庫性能下降的結果則這兩張是主張其論點的最有力的證據一般情況下若企業在同一台服務器中部署了多個應用服務如Oracle數據庫服務器與郵件服務器則就需要關注一下這個SGA系統共享區的分配情況

  三顯示當前的會話信息

  無論是處於數據庫維護還是安全方面的需要數據庫管理員往往需要了解當前數據庫的會話信息如當數據庫有異常情況發生時數據庫管理員就需要判斷是否有特殊的用戶連接在數據庫上搞破壞;再如有時候前台應用程序也需要了解當前跟數據庫通話的用戶信息以方便其進行管理所以在這種情況下他們都需要用到數據庫中的一張V$SESSION動態性能視圖這張視圖中紀錄了會話的詳細信息如會話的ID號會話的序列號用於表示會話所對應的數據庫用戶等等

  不過數據庫管理員需要注意另外一個細節若這裡的用戶名為空的話則表示這個會話是後台進程會話

  四顯示日志的相關信息

  無論是對於軟件還是硬件的管理日志都是很重要的一種參考信息Oracle數據庫系統中日志更加顯得重要因為Oracle數據庫系統的日志種類豐富包含的內容詳細而且日志還紀錄著數據庫系統的所有操作包括數據的更新情況所以數據庫管理員除了要保障日志的完整性之外還需要關注日志的安全性

  在Oracle數據庫系統的動態性能視圖中有一張視圖專門用來顯示視圖的當前信息這張視圖就是V$LOG視圖這張視圖一般包括如下有用的信息如日志組組號日志所屬的重做線程編號用於標識日志組的當前日志序列號日志組的大小日志組的成員個數日志組的狀態等等如當數據庫管理員發現日志有異常的更改時就可以通過這張視圖來查看有哪些用戶是這個日志組的成員等等數據庫管理員也可以通過這張視圖了解當前日志的使用狀態

  五跟鎖相關的信息

  數據庫管理員在調整數據庫性能的時候很大一部分工作就是要通過調整索引調整SQL語句來減少鎖沖突的發生為此他們首先需要知道當前鎖的狀況只有知道病因之後數據庫管理員才能夠對症下藥提高數據庫性能

  為此數據庫動態性能視圖中提供了兩張有用的視圖分別為V$SESSION 與V$LOCKED_OBJECT前者主要統計占有鎖的會話信息其中還包括有哪些鎖正在等待會話若等待鎖的會話比較多的話就說明當前數據庫因為鎖導致的阻塞情況比較嚴重數據庫管理員應該想方設法來避免這種鎖沖突的產生主要可以通過調整SQL語句等手段來減少這種等待時間

  而後者數據時顯示被加鎖的數據庫對象通過查詢這張動態視圖數據庫管理員可以了解具具體的加鎖對象名以及執行加鎖操作的用戶這張表中的內容往往結合前者那個動態視圖中的信息一起為數據庫管理員調整數據庫性能時提供數據上的支持通過這兩張表數據庫管理員基本上可以判斷數據庫性能的不理想是否是由於鎖導致的以及是否有必要對SQL語句進行調整以避免鎖沖突的發生

  總之動態性能視圖提供了一些數據庫運行中很寶貴的信息數據庫管理員要學會利用這些信息讓他們成為我們管理數據庫的一個好幫手


From:http://tw.wingwit.com/Article/program/Oracle/201311/17661.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.