您好,登錄后才能下訂單哦!
Spotlight是Quest公司出品的用于第三方性能監(jiān)控的圖形化工具,Spotlight相關(guān)的產(chǎn)品眾多,如Spotight on Linux/Unix、Spotight on Windows、Spotlight on SQL Server、 Spotlight on DB2、Spotight on Oracle等,本文介紹的Spotlight就是用于oracle領(lǐng)域的圖形化、實(shí)時性能監(jiān)控診斷工具-Spotight on Oracle,它提供了直觀、可視化的數(shù)據(jù)庫活動展現(xiàn)能力,一旦某個指標(biāo)出現(xiàn)性能瓶頸,就能可視化展現(xiàn)出來。因此,DBA或性能測試人員可以據(jù)此簡單、快速地追查性能瓶頸的底層原因。另外,Spotlight不需要在服務(wù)器端安裝代理,只需要創(chuàng)建一些管理對象,方便部署和應(yīng)用。
2 部署Spotlight
Spotlight的使用依賴oracle客戶端,部署安裝前需要準(zhǔn)備如下安裝文件:
1) Oracle客戶端instant client
官網(wǎng)下載地址:
https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
2) Spotlight
官網(wǎng)下載地址:
https://support.quest.com/zh-cn/spotlight-on-oracle/10.3.3/download-new-releases
以上兩個工具按照提示步驟一步步安裝即可,詳細(xì)安裝步驟不再贅述。其中,oracle client需要配置系統(tǒng)環(huán)境變量PATH、TNS_ADMIN,其值為tnsnames.ora文件所在目錄,如
PATH:D:\oracle\instantclient_11_2;
TNS_ADMIN:D:\oracle\instantclient_11_2;
使用Spotlight進(jìn)行性能監(jiān)控前,需要做一些簡單配置,具體使用方法如下:
在oracle 客戶端工具的安裝目錄下找到tnsnames.ora文件,在文件里配置需要監(jiān)控?cái)?shù)據(jù)庫實(shí)例的連接信息,形式如下:
在實(shí)際監(jiān)控中,建議創(chuàng)建一個專用的監(jiān)控用戶來獲取監(jiān)控信息,點(diǎn)擊菜單項(xiàng)file-Oracle User Wizard,打開用戶創(chuàng)建向?qū)В鐖D所示,然后根據(jù)提示輸入DBA連接認(rèn)證、創(chuàng)建一個新用戶、輸入用戶名和密碼(如,用戶名:spotlight,密碼:test123)、選擇表空間,一步步完成即可。
1. 點(diǎn)擊工具欄Connect快捷鍵,打開連接管理器向?qū)Вp擊New connection圖標(biāo),輸入連接名字后,即可打開連接屬性配置窗口,如下圖所示:
2. 打開連接屬性配置窗口后,可以看到窗口主要有三部分:ORACLE連接配置、ASM連接配置、服務(wù)器連接配置,其中后面兩項(xiàng)是可選項(xiàng),如果不需要,不要勾選即可。連接信息配置完成后,點(diǎn)擊ok,即可看到監(jiān)控主界面。
3. 監(jiān)控界面介紹
當(dāng)上述配置完成后,執(zhí)行連接,就能看到Spotlight的監(jiān)控界面,如圖所示。從界面可以實(shí)時觀察數(shù)據(jù)流向,同時可以直觀看出系統(tǒng)的整體運(yùn)行情況,如果系統(tǒng)哪方面出現(xiàn)性能瓶頸或問題,會報(bào)相應(yīng)的警告,紅色警告的級別為最嚴(yán)重。
注:綠色區(qū)域代表相關(guān)區(qū)域正常,×××區(qū)域代表該區(qū)域超出標(biāo)準(zhǔn)值出現(xiàn)警告,紅色區(qū)域代表該區(qū)域出現(xiàn)異常。
點(diǎn)擊工具欄圖標(biāo),可以打開Top Sessions面板,如圖所示,通過該面板可以查看當(dāng)前session的情況,如哪個session占用了較多資源,以此定位數(shù)據(jù)庫問題。通過點(diǎn)擊列名可以進(jìn)行排序,如點(diǎn)擊CPU(ms/s),會根據(jù)CPU進(jìn)行升序或降序排列;選擇某個session,進(jìn)行雙擊可以查看該session的詳細(xì)信息,如Session Details、Session Waits、Session SQL、Session Locks等;或者在某個session上右鍵,可以執(zhí)行kill session、trace session等操作。
在Session Infomation窗口,需要重點(diǎn)關(guān)注的是Session Waits、Session SQL、Session Locks,如圖所示,其作用分別為:
Session Waits:找出與該session相關(guān)的等待事件;
Session SQL:找出該session相關(guān)的最近執(zhí)行的sql語句;
Session Locks:與該session相關(guān)的鎖信息,查看是否阻塞;
點(diǎn)擊工具欄圖標(biāo),可以打開Top SQL面板,如圖所示,通過該面板可以查看系統(tǒng)中占用資源較大的sql語句,選擇對應(yīng)的行,可以查看SQL information詳細(xì)信息。
該面板主要用于查找存在瓶頸的SQL語句,如哪些SQL耗時較長,哪些SQL磁盤讀寫多、緩存命中率低等,然后針對有問題的SQL進(jìn)行優(yōu)化,通過可以先從語法上優(yōu)化,再從業(yè)務(wù)邏輯上優(yōu)化。
點(diǎn)擊工具欄圖標(biāo),可以打開Activity面板,如圖所示,該面板以直方圖的形式展示了IO、活動session、等待事件等信息,通過其他tab頁面可以查看具體的waits事件、Locks等信息,該界面數(shù)據(jù)一般用于輔助分析。
點(diǎn)擊工具欄圖標(biāo),可以分別打開I/O和配置內(nèi)存面板,如圖所示,通過這兩個面板可以查看session、數(shù)據(jù)文件的IO情況、數(shù)據(jù)庫內(nèi)存配置及使用情況等,一般用于輔助分析。
在I/O界面,通過關(guān)心的是哪個表空間或數(shù)據(jù)文件的物理讀寫較高,哪個session執(zhí)行的SQL導(dǎo)致這些IO異常。從該界面可以定位到那個session的IO異常,然后結(jié)合Top Session界面的SQL進(jìn)行分析、定位。當(dāng)然,也可能是表結(jié)構(gòu)設(shè)計(jì)導(dǎo)致的IO問題,此時結(jié)合Segment的IO的使用情況進(jìn)行分析。
在配置內(nèi)存界面,需要關(guān)注SGA利用率、shared pool、buffer cache的利用率和命中率,其中在shared pool中主要查看library 命中的情況,在buffer cache主要關(guān)注命中率,如果命中利率太低,可能存在問題。
關(guān)于python學(xué)習(xí)、分享、交流,筆者開通了微信公眾號【小蟒社區(qū)】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)python。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。