最新《BS系統(tǒng)疑難問(wèn)題分析與調(diào)優(yōu)常見方法介紹》_第1頁(yè)
最新《BS系統(tǒng)疑難問(wèn)題分析與調(diào)優(yōu)常見方法介紹》_第2頁(yè)
最新《BS系統(tǒng)疑難問(wèn)題分析與調(diào)優(yōu)常見方法介紹》_第3頁(yè)
最新《BS系統(tǒng)疑難問(wèn)題分析與調(diào)優(yōu)常見方法介紹》_第4頁(yè)
最新《BS系統(tǒng)疑難問(wèn)題分析與調(diào)優(yōu)常見方法介紹》_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、BS系統(tǒng)疑難問(wèn)題分析與調(diào)優(yōu) 常見方法介紹應(yīng)用系統(tǒng)部署實(shí)施之后可能會(huì)出現(xiàn)一些部分功能模塊不可用、系統(tǒng)運(yùn)行緩慢、系統(tǒng)崩潰等莫名奇妙的問(wèn)題,這些問(wèn)題現(xiàn)象多種多樣,導(dǎo)致問(wèn)題的原因也并不相同,解決起來(lái)更是千差萬(wàn)別。分析與調(diào)優(yōu)的方法并不能一概而論,但也并不是毫無(wú)規(guī)律可言,掌握一些要領(lǐng)、思路、常用的排查手段及常見的問(wèn)題解決辦法有助于縮短問(wèn)題解決的周期。本文將以專題介紹及案例分析的方式對(duì)這些思路和方法做一些總結(jié),希望能夠幫助各個(gè)項(xiàng)目有效的排查并解決這些問(wèn)題。疑難問(wèn)題分析與系統(tǒng)調(diào)優(yōu)是件十分復(fù)雜的事情,生產(chǎn)環(huán)境的復(fù)雜多樣決定了不可能有人能夠有百分之百的把握解決所有的問(wèn)題,無(wú)論是從經(jīng)驗(yàn)、技術(shù)還是邏輯的角度來(lái)說(shuō)都是這

2、樣。因此這項(xiàng)工作對(duì)人員的要求就較高,為了能夠幫助不太熟悉這項(xiàng)工作的人員盡快進(jìn)入角色,以往的經(jīng)驗(yàn)總結(jié)就顯得非常重要。因此本文永遠(yuǎn)都不會(huì)完結(jié),僅做一個(gè)拋磚引玉,希望在以后的工作中,能夠得到不斷的完善。1. 要領(lǐng)敏銳的頭腦,縝密的思維,細(xì)致的工作,廣泛的聯(lián)想能夠幫助更好的適應(yīng)這項(xiàng)工作。敏銳的頭腦:強(qiáng)調(diào)能夠快速的到記憶或文檔中找到匹配或近似匹配當(dāng)前問(wèn)題的問(wèn)題。這一點(diǎn)尤為重要,如果在記憶中或文檔中找不到痕跡,則此問(wèn)題就是 個(gè)全新的問(wèn)題,而一個(gè)全新的問(wèn)題對(duì)于任何人來(lái)說(shuō)都是一件棘手的事情。縝密的思維:在當(dāng)前人類認(rèn)知的世界中,任何事情都是有因才有果,也就是所謂的符合邏輯。任何奇怪的現(xiàn)象,包括違背常識(shí)的事情,都

3、有著其內(nèi)在的原因。因此即便是遇到嚴(yán)重違背常理的事情也不要慌亂,此時(shí)就需要用以往的一些經(jīng)驗(yàn)及其他渠道,如網(wǎng)絡(luò)、他人等查找可能的原因,然后逐一的按照邏輯進(jìn)行排查。細(xì)致的工作:這能幫助你搜集到用以定位問(wèn)題的關(guān)鍵點(diǎn),用以支持判斷邏輯的證據(jù),用以觸發(fā)聯(lián)想的觸點(diǎn),也能保證已有的環(huán)境不會(huì)被破壞或改變。廣泛的聯(lián)想:基于已有的事情廣泛的聯(lián)想、尋找相關(guān)的事情,常常非常有助于事情的解決,也有助于將單個(gè)的、破碎的事情片段聯(lián)系在一起形成一系列環(huán)環(huán)相扣的鏈條。2. 總體思路處理問(wèn)題的總體思路如下:根據(jù)問(wèn)題匯報(bào)、粗略的問(wèn)題描述或一些已有的手段清晰、明確的定義問(wèn)題;基于問(wèn)題定義進(jìn)行分析,尋找可能引發(fā)問(wèn)題的原因;在某種環(huán)境下模

4、擬、重現(xiàn)問(wèn)題進(jìn)一步確定問(wèn)題原因;對(duì)于分析出的問(wèn)題進(jìn)行修改;對(duì)問(wèn)題修改的結(jié)果進(jìn)行驗(yàn)證。問(wèn)題定義:這個(gè)步驟十分關(guān)鍵,因?yàn)閱?wèn)題的匯報(bào)和粗略的問(wèn)題描述往往并不準(zhǔn)確,有時(shí)甚至是錯(cuò)誤的。因此不能過(guò)分的相信這些匯報(bào)和描述,因?yàn)椴粶?zhǔn)確的問(wèn)題描述會(huì)將你引上歧路,大大延緩問(wèn)題的解決時(shí)間。所以除了了解已有的問(wèn)題描述外,還需要做一些相關(guān)的試驗(yàn)用以確定已有描述的準(zhǔn)確性。問(wèn)題分析:基于問(wèn)題定義進(jìn)行分析,尋找可能引發(fā)問(wèn)題的原因。這個(gè)步驟找到的有可能不是根本原因,而且由于事情的復(fù)雜性,有可能會(huì)造成誤判。這種情況不可能避免,因此下最終的結(jié)論時(shí)要慎重。在一些復(fù)雜的問(wèn)題中可能需要與其他幾個(gè)步驟一起進(jìn)行迭代,才能判定問(wèn)題的成因。問(wèn)題

5、重現(xiàn):重現(xiàn)問(wèn)題有助于進(jìn)一步確定問(wèn)題的成因,也有助于將來(lái)問(wèn)題解決后的回歸測(cè)試。是在生產(chǎn)環(huán)境還是測(cè)試環(huán)境下重現(xiàn)問(wèn)題,有很多因素,但其中最重要的一個(gè)因素是這個(gè)過(guò)程是否會(huì)不可逆的改變現(xiàn)有的生產(chǎn)環(huán)境。問(wèn)題修改:對(duì)分析出的問(wèn)題進(jìn)行修改。問(wèn)題驗(yàn)證:基于修改的結(jié)果進(jìn)行回歸測(cè)試,驗(yàn)證問(wèn)題是否解決。一般來(lái)講在條件允許的情況下,盡可能的先在測(cè)試環(huán)境下進(jìn)行驗(yàn)證,確認(rèn)無(wú)誤后再在生產(chǎn)環(huán)境下進(jìn)行驗(yàn)證。切忌過(guò)分的相信自己的能力。3. 專題3.1. 客戶端技術(shù)在B/S系統(tǒng)中,傳統(tǒng)web客戶端組件及其各種變種,主要承擔(dān)了界面展現(xiàn)及請(qǐng)求發(fā)送與接收的工作。傳統(tǒng)的web客戶端組件包括:HTML各種Script , XML CSS。變種

6、主要指隨著 Web2.0而新興起的一些技術(shù):Flash ,基于腳本的RIA,各種 類型的自定義控件。這些組件或技術(shù)負(fù)責(zé)前臺(tái)頁(yè)面的展現(xiàn),而與后臺(tái)的通信一般通過(guò)HTTPW議來(lái)進(jìn)行。3.1.1. 常見問(wèn)題. 腳本性能問(wèn)題描述:腳本性能問(wèn)題主要在基于腳本的RIA 解決方案中體現(xiàn)比較明顯,這種解決方案為了達(dá)到良好的交互效果,大量的使用了腳本語(yǔ)言對(duì)頁(yè)面進(jìn)行渲染,由于腳本的復(fù)雜性,及瀏覽器的對(duì)腳本優(yōu)化還不到位,經(jīng)常會(huì)有一些性能問(wèn)題。解決方案:1. 在滿足兼容性的前提條件下,盡量升級(jí)客戶端到較新版本的瀏覽器。新版本的瀏覽器一般內(nèi)部會(huì)做優(yōu)化,加快HTMU口腳本的解析速度。2. 換用較新版本的RIA

7、解決方案或較快的其他RIA解決方案。新版本的同類型RIA解決方案一般在性能方面都會(huì)有所提升。如果最新版本的依然無(wú)法滿足渲染速度的要求,只能考慮更換其他RIA解決方案。3. 更換客戶機(jī)硬件配置。RIA 技術(shù)的理念是充分的利用客戶機(jī)的資源進(jìn)行渲染,在維持服務(wù)器壓力不變、甚至降低服務(wù)器壓力的情況下,給用戶帶來(lái)更好的交互體驗(yàn)。這里的一個(gè)前提是客戶機(jī)的硬件配置不錯(cuò),因此如果客戶機(jī)硬件配置較低,則需要考慮升級(jí)客戶機(jī)硬件或者放棄使用RIA技術(shù)。. 同步調(diào)用問(wèn)題描述:在瀏覽器進(jìn)行同步調(diào)用時(shí),直到所有的同步調(diào)用都完成,頁(yè)面才會(huì)展現(xiàn)出來(lái)。如果其中的某個(gè)請(qǐng)求的響應(yīng)速度較慢,則會(huì)拖累整個(gè)頁(yè)面進(jìn)入一種 空

8、白、假死的狀態(tài),用戶體驗(yàn)十分不好。解決方案:1. 請(qǐng)求的響應(yīng)較慢一般是由于中間件或數(shù)據(jù)庫(kù)處理的慢而造成的,所以根本的解決辦法是調(diào)整中間件、數(shù)據(jù)庫(kù)或者算法,后臺(tái)處理的速度上來(lái)了,前臺(tái)的頁(yè)面出來(lái)的也自然就快了。2. 在某些情況下,調(diào)整中間件、數(shù)據(jù)庫(kù)或者算法實(shí)施成本都太高,為了快速的改善用戶體驗(yàn),一個(gè)重要的方案就是異步請(qǐng)求,將較慢的請(qǐng)求改成異步形式的,就可以避免一條臭魚壞了一鍋湯的結(jié)果了。. 帶寬占用問(wèn)題描述:有些應(yīng)用,特別是采用了RIA 技術(shù)的應(yīng)用,經(jīng)常會(huì)向中間件請(qǐng)求大量的資源,嚴(yán)重的占用了網(wǎng)絡(luò)帶寬資源,無(wú)形中同時(shí)對(duì)網(wǎng)絡(luò)和中間件資源都造成了巨大的浪費(fèi),加重了他們的負(fù)擔(dān)。解決方案:1.

9、 在客戶端緩存基本不變的靜態(tài)文件,減少文件的下載次數(shù)。2. 對(duì)腳本文件進(jìn)行語(yǔ)法壓縮,減小腳本文件的大小。3. 對(duì)HTTR向應(yīng)開啟GZIP壓縮,對(duì)于文本型的資源能夠有效的縮減傳輸?shù)牧?量。3.1.2. 常用工具. HttpWatchPro此工具可以將客戶端發(fā)出的Http 請(qǐng)求細(xì)節(jié)捕獲出來(lái),并記錄每個(gè)請(qǐng)求的時(shí)間,使用這個(gè)工具可以清楚的定位究竟客戶機(jī)請(qǐng)求了些什么資源,以及哪些資源的請(qǐng)3.2. 中間件技術(shù)中間件即BS系統(tǒng)中的應(yīng)用服務(wù)器,我們生產(chǎn)環(huán)境下最常用的就是WebLogic系列。中間件是 Web應(yīng)用程序的容器,負(fù)責(zé)接收客戶端請(qǐng)求,進(jìn)行業(yè)務(wù)邏輯處理, 并最終與數(shù)據(jù)庫(kù)交互完成整個(gè)過(guò)程。因

10、此其地位十分重要,有很多種類型的問(wèn)題 發(fā)生在這個(gè)層面。3.2.1. 常見問(wèn)題. 內(nèi)存配置問(wèn)題描述:中問(wèn)件的控制臺(tái)經(jīng)常出現(xiàn)OutOfMemory錯(cuò)誤,則很有可能是因?yàn)椴渴饘?shí)施時(shí)沒有修改JVM的默認(rèn)內(nèi)存配置參數(shù),造成可用內(nèi)存過(guò)少所致。解決方案:1 .通過(guò)簡(jiǎn)單的修改JVM內(nèi)存參數(shù)即可,但要注意,修改完后要進(jìn)行驗(yàn)證,確認(rèn)參數(shù)是否起作用,不要想當(dāng)然. 內(nèi)存溢出問(wèn)題描述:如果內(nèi)存參數(shù)已經(jīng)修改成功,而中間件的控制臺(tái)還是經(jīng)常出現(xiàn)OutOfMemory昔誤,則很有可能是由于代碼編寫的不好,消耗內(nèi)存過(guò)大所致。解決方案:1 .通過(guò)使用合適的JVM內(nèi)存監(jiān)控、分析工具,捕獲到發(fā)生內(nèi)存溢出的程

11、序,進(jìn)而修改代碼解決問(wèn)題。. 內(nèi)存泄露問(wèn)題描述:如果中間件重啟后的一段時(shí)間沒有問(wèn)題,但運(yùn)行幾天或更長(zhǎng)的時(shí)問(wèn)后卻出現(xiàn)OutOfMemory錯(cuò)誤,則很有可能是出現(xiàn)了內(nèi)存泄露。內(nèi)存泄露和內(nèi)存溢出是有很大區(qū)別的。內(nèi)存溢出通常是由于代碼寫的不好,程序運(yùn)行消耗大量的內(nèi)存,很有可能程序還沒有執(zhí)行完成就發(fā)生了錯(cuò)誤,即OutOfMemory錯(cuò)誤。而內(nèi)存泄露一般是程序執(zhí)行已經(jīng)完成,但是使用到的內(nèi)存資源卻無(wú)法釋放,隨著程序的不斷運(yùn)行,這部分不能釋放的內(nèi)存資源越來(lái)越多,直至最后發(fā)生內(nèi)存溢出錯(cuò)誤。解決方案:1. 內(nèi)存泄露程度和排查的難易的程度成反比,即內(nèi)存泄露越嚴(yán)重排查起來(lái)越簡(jiǎn)單,內(nèi)存泄露越輕微排查起來(lái)越

12、困難。通過(guò)使用合適的JVM內(nèi)存監(jiān)控、分析工具,可以逐漸找到發(fā)生內(nèi)存泄露的程序,進(jìn)而修改代碼解決問(wèn)題。. 線程配置問(wèn)題描述:中間件是以線程的方式處理客戶端請(qǐng)求的,因此線程是否夠用并能有效的工作就決定了客戶端的每個(gè)請(qǐng)求能否順利完成。如果線程數(shù)配置過(guò)少,客戶端的請(qǐng)求就不能得到及時(shí)的響應(yīng),如果配置過(guò)大,又造成資源的浪費(fèi)。解決方案:1 .通過(guò)修改中間件的線程相關(guān)配置可以逐漸找到適合生產(chǎn)系統(tǒng)的線程數(shù)量. 連接池配置問(wèn)題描述:在業(yè)務(wù)應(yīng)用程序中,不可避免的要進(jìn)行數(shù)據(jù)庫(kù)相關(guān)的操作,為了保證數(shù)據(jù)庫(kù)連接的高效和穩(wěn)定,在生產(chǎn)環(huán)境中一般都使用中間件自帶的連接池。數(shù)據(jù)庫(kù)連接消耗數(shù)據(jù)庫(kù)主機(jī)的資源

13、,所以連接池配置過(guò)大,造成資源的浪費(fèi),配解決方案:1 .通過(guò)修改中間件的連接池相關(guān)配置可以逐漸找到適合生產(chǎn)系統(tǒng)的連接池?cái)?shù)量。. 問(wèn)題程序問(wèn)題描述:這里所謂的問(wèn)題程序指在 JAVA程序代碼中使用循環(huán)次數(shù)很多,且循環(huán)體中又帶有大量操作的循環(huán)程序,這種程序是最常見的一種問(wèn)題程序。這種程序大量占用中間件的資源,可能也會(huì)大量的占用數(shù)據(jù)庫(kù)資源,而且通常來(lái)講執(zhí)解決方案:行速度較慢,一般都會(huì)造成比較壞的影響。一 一1 .通過(guò)監(jiān)控工具找到這些問(wèn)題程序,修改代碼解決問(wèn)題。3.2.2. 常用工具. WebLogic 控制臺(tái)性能監(jiān)控此工具可以方便的監(jiān)控 WebLogic內(nèi)存及線程資源的使用

14、情況。內(nèi)存監(jiān)控包括總量及當(dāng)前已用量?jī)蓚€(gè)值及當(dāng)前已用量變化的曲線。通過(guò)內(nèi)存總量可以驗(yàn)證內(nèi)存參數(shù)配置是否起作用。通過(guò)總量及當(dāng)前已用量可以得出剩余的內(nèi)存量,對(duì)這個(gè)參數(shù)進(jìn)行一段時(shí)間的采集即可判斷出是否存在內(nèi)存泄露。通過(guò)當(dāng)前已用量的變化曲線可以用以預(yù)估系統(tǒng)是否存在消耗內(nèi)存資源過(guò)大的程序,通常表現(xiàn)為一條很陡的曲線。通過(guò)這條曲線還可以發(fā)現(xiàn)所謂的問(wèn)題程序,問(wèn)題程序一般會(huì)表現(xiàn)為一條劇烈起伏的折線。線程監(jiān)控包括空閑線程數(shù)和隊(duì)列長(zhǎng)度值。如果空閑線程數(shù)經(jīng)常很小,且隊(duì)列長(zhǎng)度經(jīng)常有較大的值,可能的一個(gè)原因就是線程配置的不太合適了。日志記錄翁規(guī)性能I安全鞋監(jiān)視配置 協(xié)議控制JMS | JTA在此頁(yè)中,您可以監(jiān)視有關(guān)此服.務(wù)

15、器的性能信息口空閑轉(zhuǎn)程數(shù):15空閑的線程數(shù)量分配給此隊(duì)列的空閑繪程數(shù)。最早的特定請(qǐng)求TueAp1312 04 52CST201。等待時(shí)間最長(zhǎng)的請(qǐng)求放入隊(duì)列的日期和時(shí)間O吞吐量隊(duì)列已經(jīng)處理的請(qǐng)求教。沒管徜處理的需求隊(duì)列_3222 WebLogic執(zhí)行線程監(jiān)控此工具配合上面的工具一起使用,可以詳細(xì)的了解當(dāng)前中間件上運(yùn)行著哪些 線程。配合上面的工具可以對(duì)內(nèi)存溢出、問(wèn)題程序進(jìn)行排查。. WebLogic 連接池監(jiān)控此工具可以方便的監(jiān)控 WebLogic連接池的使用情況。通過(guò)對(duì)連接池運(yùn)行情況的監(jiān)控,可以檢查連接池的最大最小連接數(shù)量配置的 是否合適。由于中間件集群的存在,連接到數(shù)據(jù)庫(kù)的總連接

16、數(shù)等于每個(gè)集群節(jié)點(diǎn) 的連接總數(shù)*集群節(jié)點(diǎn)的數(shù)量。而且由于生產(chǎn)環(huán)境下數(shù)據(jù)庫(kù)服務(wù)器的性能有高有 低,各個(gè)業(yè)務(wù)系統(tǒng)也不完全相同。因此不可能將所有連接池的最小連接數(shù)都配置 為一個(gè)非常大的值。一般的做法是將最小連接數(shù)配置為一個(gè)相對(duì)保守的值,而最 大連接數(shù)配置為一個(gè)能接受的較大的值。然后通過(guò)連接池監(jiān)控中的總連接數(shù)來(lái)判 斷最小值配置的是否合適??傔B接數(shù)是說(shuō)從某個(gè)連接池建立起來(lái)總共建立的連接 數(shù)量,如果這個(gè)值很大,說(shuō)明此連接池經(jīng)常的擴(kuò)大、收縮,一般來(lái)講這就是最小 連接配置的較小所導(dǎo)致的。這時(shí)可以增大最小值的設(shè)置,重新監(jiān)控使用情況. Jprofiler此工具實(shí)時(shí)的跟蹤中間件的運(yùn)行情況,將內(nèi)存使用情

17、況,CPUS用情況等詳細(xì)信息顯示出來(lái),可以用于排查內(nèi)存溢出、內(nèi)存泄露、問(wèn)題程序等問(wèn)題。但需要注 意的是這個(gè)工具對(duì)中間件的性能有一定的影響,所以如果在生產(chǎn)環(huán)境下使用,會(huì) 拖慢中間件運(yùn)行的速度,有一定風(fēng)險(xiǎn)。一般推薦用在測(cè)試環(huán)境、或壓力較小的生 產(chǎn)環(huán)境下。f i i A 口 1aL Ihi4iihQ. MemoryAnalyzer專門用來(lái)分析JVM內(nèi)存轉(zhuǎn)儲(chǔ)文件的分析工具。內(nèi)存轉(zhuǎn)儲(chǔ)的意思是將JVM內(nèi)存中 的東西存儲(chǔ)成為一個(gè)專門的文件,然后通過(guò)特定的工具就可以對(duì)這個(gè)文件進(jìn)行分 析。所以首先要將JVM的內(nèi)存轉(zhuǎn)儲(chǔ)出來(lái)才行,這需要用到JVM本身的一個(gè)功能,這 個(gè)功能受JVM版本的影響,只有較高的

18、版本的 JVM才能提供這個(gè)功能。具體要求 的最低版本號(hào)可以查閱MemoryAnalyzer工具的幫助文檔。在滿足要求的JVM版本配置上啟動(dòng)參數(shù):-XX:+HeapDumpOnOutOfMemoryErrqr 即激活了內(nèi)存轉(zhuǎn)儲(chǔ)功能。這個(gè)參數(shù)的含義是當(dāng)JVM發(fā)生內(nèi)存溢出即OutOfMemory時(shí),JVM會(huì)把內(nèi)存中的東西存成一個(gè)文件,名為 java_pid 1464.hprof ,其中紅色 的部分為Java進(jìn)程的進(jìn)程標(biāo)識(shí)符PID。文件存放的位置一般是中間件啟動(dòng)命令所在的目錄。進(jìn)行內(nèi)存轉(zhuǎn)儲(chǔ)時(shí)后臺(tái)會(huì)有所提示。這個(gè)工具對(duì)生產(chǎn)環(huán)境基本沒有什么 影響,推薦生產(chǎn)環(huán)境下調(diào)試問(wèn)題采用rm b.tart incyL

19、DKH NOTICE 1 ' No man i£ e s-1 info because DKM is not run as a jar -DRM NOTICE J : canfZOP. prapeipt les uas Foundl in file :ZD «ZbeaZusep_pi*c JectzsZdtiinainQZinidan .K>rosleptles when Find. In OP_SVSJfilHIIS_DEBUG-falseL DRM NOT1 CE 1 " conf/support DBles wma found in File

20、2 ZD Zbea/ueerjivo jecteZdoinaincanfZsuppcii*trDE_ppopei*tles when Find In OP£¥£_PfllIH*CDRM DRM IDNM DRM DRH DRMIDNM DimCHECKING CHECKING CH1CKIHG CHECKING CHECKING CHECK1MG CHECKING CHECKINGNOTICE 1 HOT ICE J NOT I CE NOTICE 1 NOT ICE NOT ICE J NOTICE J NOTICE 1MM MiMKXMWXKIHXJitM M

21、X X !M X XDrmPoo1 : £JDA docsDmPoo L : TDLY doesDrnPoo1 : GVBft docsSJBH CUDOLINKl mot confIgi 旗ny TDL¥ UDOLINKJ nplt config! any GYBA CUDOLINKl not configi 視ny DLSVS UDOLtNKJDPoolf* 耗,同,* *,*,* *耗,同,*DnPo o1*DrnPo O IfDBM NOTICE ) : DRM: DpmPao1 : DLSYS does not config 已ny DrmPaol* Start

22、OK ?DniEftP License expired Date. 2010-6-10 23 :59 :592010-4-13 14:31:Ufe UniEflP V?orEf Low initialising. . ,Buent send In lit 一2810X0413-14e31 :09 >> DEBUG >> inoin >> CConso Le >> con.neusof t - businiesscDnso le rf irnincwor: 例模塊資源解析出屬性正片白心die母上的值為s tcstrcsourcc . pvopert

23、 "總的to®七key Jtestualiic C/UEB EjnuMCie1 = pi*opept iesl testkey J jJte-Efci/alue2010ZH413-14:31>> DEBUGsoujf-c&ConF igHandler r jav<a"59 ><2610-4-12下午02時(shí)3士分"秒elopnent Node>t >> il>>CST>nln >> Coiiisq Le* 1 >> canineusoif t .bus: Ir

24、iiefisrcorjiso le rf aineu4i*在邏輯子應(yīng)用busInc.ssconiso 1c 1中加聿臭塊資源口七EjccniplttHR甘0<Notice>UcbLof icS c rv ei*<BEft-800331><Startcid WchLogilc<2610-4-13java - lang. Ou 10£ Me no r y Ei*i*o r -CST>CST>Java.<Nfatice><Hotice><yebL&g icS e fm er><WcbLogii

25、cScrver ><REA-»RH3a><BEA 000355>q3您me# started L <Threftd '"LisstcnTh:heap spaceF和文件夾任招創(chuàng)建一個(gè)新文件夾將這個(gè)文件夾發(fā)布到 冒eb共享此文件夾appli cations_j rnystrysr_)rmfiltii«rt國(guó) boot, propwti «=Con£i g. xml文件夾文件夾文件夾TEOFERTIES 文件JIML交檔泄置公domains我的交檔 共享文檔 我的電腦 網(wǎng)上鄰居回園酉國(guó)國(guó)m囹一config

26、. scsil. booted config Tcul. original6 KB BOOTED 文件C KB UEIG工NAL 文件D«f&ultAuthenticfctorlnit. IdiftD«ifauItAuth&ri ztrlrti t. Idi ftfileRealni. pr operti es installServi ce« sd j ava Di dl464, hprof1KB加文檔3KBLDIFT文件4KBLDIFT文件2KBID1FT文件IKBFtiOFEirriES 文件6KBWind班5 NT 命令.64M 581KB

27、WRDF即富hotfDLinpincy heap to Jaiija_piidl464ahpvofHeap dun)> file created 65SRW2H6R htes ln> 13-R36 secsl一)D: L « ut «r _pr 4 j « c 11X dem a i eis n7d4m «i n名稱,I大小類型jiimi "minim imiviimm m imu-im iiF-iimim t這樣通過(guò)中間件運(yùn)行時(shí)自動(dòng)的內(nèi)存溢出,當(dāng)然也可以手工制造一個(gè)內(nèi)存溢出,就可以獲得內(nèi)存的轉(zhuǎn)儲(chǔ)文件。然后就可以通過(guò)MemoryAn

28、alyzer工具對(duì)其進(jìn)行分析, 找到內(nèi)存溢出或泄漏的原因了«3Ml M . Problem Suspect 13.2.3. 常用配置. WebLogic 啟動(dòng)內(nèi)存分配Windows修改 startWebLogic.cmd 添加如下文字:set MEM_ARGS=-Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M其他操作系統(tǒng)修改 startWebLogic.sh 添加如下文字:MEM_ARGS="-Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSi

29、ze=256M "其中:-Xms為堆內(nèi)存最小大小-Xmx為堆內(nèi)存最大大小-XX:PermSize 為永久保存區(qū)最小大小-XX:MaxPermSize為永久保存區(qū)最大大小. WebLogic 參數(shù)配置1 . 域JTA超時(shí)秒數(shù):600(默認(rèn)值30,為可選調(diào)節(jié)項(xiàng),在使用 WebLogic連接池時(shí),如果應(yīng)用中存在執(zhí)行過(guò)于緩慢的事務(wù)操作,可以更改這個(gè)值,以便功能可以完成。但并沒有根本的解決問(wèn)題,修改程序,加快業(yè)務(wù)操作的執(zhí)行速度才是根本 )2 . 域日志最小文件大小:1024限制保留的日志文件數(shù):勾選要保留的日志文件:303 .服務(wù)器日志Stdout嚴(yán)重程度閾值:Error最小文件

30、大?。?024限制保留的日志文件數(shù):勾選要保留的日志文件:30關(guān)閉Http日志4 .線程池配置線程計(jì)數(shù):100 (為CPl量*25, 一般不用超過(guò)100). WebLogic 連接池配置1 .拷貝工程lib下面的包ojdbc14.jar 或者合適的ojdbc14.jar至U WebLogic 的 Serve門ib 下面,類似于 D:beaweblogic81serverlib 下,覆蓋同 名文件(原始文件記得備份)。2 .啟動(dòng)WebLogic進(jìn)入控制臺(tái),點(diǎn)擊【連接緩沖池】,點(diǎn)擊【配置新的JDBC連 接緩沖池】。選擇驅(qū)動(dòng)程序,一般為 Oracle Thin XA 或Oracle T

31、hin 。他 們的區(qū)別是Thin XA驅(qū)動(dòng)支持分布式事務(wù),而 Thin驅(qū)動(dòng)不支持。具體選 擇什么根據(jù)需求確定。+0racle,s Driver (Thin XA) Versions; E. L 9. 0. L 9. 2. Oj 10*0racleT s Driver (Thin) Versions: 0» lj 9. 2,Q3 10配置JDBC連接緩沖池選擇數(shù)據(jù)庫(kù)下別步箱將有助干創(chuàng)建和部茶連樓綾沖池。如果埋意,可以稍后更改配置信息和部翦選項(xiàng)。為新的連接綠沖池選擇效據(jù)庫(kù)突型和斐動(dòng)程序。數(shù)據(jù)庫(kù)類型 Oraclev數(shù)據(jù)厚嬖動(dòng)程序*BEA's Oracle Driver (Type

32、4 XA) Versions:8.1. 7,9.0.1,9.2.0BEA* s Oracle Driver (Type 4) Versions: 8. 1. 7, 9.1. 1, 9. 2 0rOracle. s Driver (Thin XA) Versions:8. 1. 7, 9, 0. 1,9. 2. 0,10IOracle's Driver (Thin) Versions:8. 1.7Oracle's Driver (Thin) Versions:9. 0.1, 9.2. 0,10WebLogic, s Oracle Driver (Type 2 XA) Versio

33、ns: f. 1. 7, 9. 0. 1, 9. 2. 0注意并非要安裝列表中所有的驅(qū)動(dòng)程序。使用之前,忽可能需要安裝選定的驅(qū)動(dòng)程序。如果未列出您的驅(qū)動(dòng)程序,請(qǐng)選擇其他'。Weblogic Server JDDC 己認(rèn)證定義在接屬性玷 口;1521救據(jù)中服務(wù)器上用于連接到效據(jù)后的端口O數(shù)據(jù)庫(kù)JI1戶名 elarp物理敕據(jù)庫(kù)選接中使用的數(shù)據(jù)庫(kù)帳戶用戶名。密碼:確認(rèn)定科:|物理效據(jù)庫(kù)連接中使用的皴據(jù)庫(kù)帳戶后碼?!?#187;ec<iuer.tr<ur»MA1K4£I«I«mydomain> JDBC 連接緩沖池ELARP連接到:my

34、domain ) 登錄名:weblogic | 退出常規(guī)配置在此頁(yè)中,您可以定義此JD日C連接緩沖池的連接配置。初始容量二1創(chuàng)建此JDBC連接輾沖池時(shí)要?jiǎng)?chuàng)建的物理數(shù)據(jù)庫(kù)連接俞至咻嚶喊).根據(jù)需要配置 這三個(gè)參數(shù)最大容量:叵2:此DBC連接繞沖池可以包含晌最大物理數(shù)據(jù)庫(kù)連接數(shù)前予控正感;容量增長(zhǎng):1此JDBC連接緩沖池容量擴(kuò)展的增量0 - 32位正整數(shù):。A Swtement 塞存類型:LRU v用千堆護(hù)存儲(chǔ)在翅存中的prepared statement的筑法總使用新statement時(shí).LRU將替換最近另Stsitement舞存大小10存儲(chǔ)在緩存中的prepared statem&nt

35、和callable弓emenl數(shù)目這可能會(huì)提高服努器性能* :0詞試保明的連長(zhǎng)指定'.'eULogic號(hào)前用卜是否在將連接提供給客戶端之前測(cè)試該連侯電池顏在下面指定測(cè)試表看稱。:',在高軌選項(xiàng)中,根據(jù)需要勾選這三項(xiàng)*選中后會(huì)對(duì)數(shù)據(jù)庫(kù)性能造成一定的影咱,主要用 回泅次創(chuàng)建峋隹接,在數(shù)據(jù)庫(kù)和中間件之間網(wǎng)絡(luò)連接不穩(wěn)定的環(huán)境中匕不選則可靠性就降低了.指定置SLogic Stiver餐否在創(chuàng)建連播后且耨該連接潴加到箜沖池中用用連接列表之前時(shí)詩(shī)連接進(jìn)行測(cè)試“(必須指定測(cè)試表名稱。:0湖試澤放的旌桂指定同曲Logic Seci是否在將隹接返回到讀JDBC隹樓緩沖?蚊前測(cè)試停建接。遨須

36、指定測(cè)祓表名稱。面;支持本地事務(wù)若使用Oracle Thin XA驅(qū)動(dòng)需要勾選這項(xiàng),使用 Oracle Thin驅(qū)動(dòng)無(wú)此選項(xiàng).指定如果沒有全局事務(wù),用于創(chuàng)建物理數(shù)據(jù)庫(kù)連接的XA驅(qū)動(dòng)程序是否支持SQL口3 .點(diǎn)擊【數(shù)據(jù)源】,點(diǎn)擊【配置新的JDBC數(shù)據(jù)源】定義新的JDBC數(shù)據(jù)源??梢噪S意起,但最好有意義名稱ELARP此JDBC數(shù)據(jù)源的名稱。需要對(duì)應(yīng)dr m_sys_dat as our c e表中記 錄的dbux 1字段JNDI 名稱 ELARP將此JDBC數(shù)據(jù)源綁定到的JHDI路徑。E允許全局事務(wù)指定此數(shù)據(jù)源是否將參與狽有全局(XA;4纖。一般在創(chuàng)建數(shù)據(jù)源時(shí)應(yīng)選中1 為非XA變動(dòng)程序仿真的階段提

37、交指定JDBC次源是否將仿真全局事務(wù)中的參與。當(dāng)關(guān)聯(lián)的連接緩沖池使用關(guān)聯(lián)新建JDBC數(shù)據(jù)源和連接緩沖池。緩沖池名稱ELARP m關(guān)聯(lián)緩沖池與此數(shù)據(jù)源相關(guān)聯(lián)的JDBC連接緩沖池。選定的連接緩沖池用于向客戶端應(yīng)用程序提移選擇要部署此JDBC數(shù)據(jù)源的服務(wù)器和群集。大多數(shù)情況下,應(yīng)該將數(shù)據(jù)力 接緩沖池的部署目標(biāo)。獨(dú)立服務(wù)器H mvserver部署數(shù)據(jù)源4 .確認(rèn)UNIEAP用戶中drm_sys_datasource表中是否有 WebLogic數(shù)據(jù)源配置及配置是否正確DSIDPOOLFROV1DER -1 DS NAMEIDSDtSCRiBEDRIVERNAMEDBT'TlPEDBJRLNEUD

38、OCUDOLINKNEUDOC皿址_奴勢(shì)口津匚匚orade ibc diiw OnxIeDiim Orach-jdbc giacte ijhin 132.166132.216:1521:博日的DL5WLIDOUNKDLSVS-PL5YS-aade jdbc: dii*%f QrcleDiiv«f Oracle-由亡 aiadte.lhH 132.1 GB 132.21 G1521 :出泊的SYS_WFUDOUNKuriH口時(shí)unihw datasource fade jdbc diiver OracleCiii*/er Oraclejdb<raiade:lhn:19G.1 BE

39、Ll 3221 E:1521 :惚g pfrtyELARPUDOUNKELARP淖 daflasDurceoracle jdbc.diiver OracleCiliver - »OracleMbc:oiacla:thn:132.1 EBJ 32.21 G1521:tslapptSJBlAUDOUNK占%3,懺字犯金汨Eu口hr-由新理若& "f-OracleCr Oracle:癡心:0 碼也如n:l 92.1 GBJi32.216:1521:3i君 prty >>TOLVUDOUNKTD這1r受要燈t/gbL昨工二中藪據(jù)說(shuō)明 工口由1coig . .Or

40、acle jdbc oiadte:lhn 192.1681322161521 EgprtPREPORTUDOUNK.RE J服工&冏ver OrSWOluf Orachidbc oiactetfin 192.166132.2161521:闌廿的GYBADDaLIHKGYuh-u olie ii- uiif 口wcIeD曲亡口舊山小n 132.1 GB 132.21 G 1521 :惚舊印卯UNIEAPUDOUNKUNIEAPplaFarni dasource orade jdbc.diiver OracleCHi'/er Dracie-'心里口后心小打:廁92.1眼13

41、2216:1521:惆啟*ySY5JMUDOUNKSY5=FMarndatasauicBoracle jcbcdiver OraclBCiii1 Oracle品?Mm迪鄴爾132.16艮 132.21 G:1521:tslappt占尼WFWEBLOGIC| GYS_V/F nun/low dasourm cciKle pbc.diivw Or&clBOiivw Oracle營(yíng)0鄧"SYSJMWEBLOGIC|SYS_FMafoim datftsauice Bofade idbc diiver 0 11adeOiimr SOracleofSYS_FMs_ UNIEAPWEBIL

42、QGI 匚uniNpapl&lQirn dM或bhf IHorade:jdbudii憶口rodeOiimr ,| OraclesUNIEAPaREFORrWEBLQGIC_ |fsIporFBreport_dalatsoJce B aaele jdbc diiyer OracItCHiv«r nOracle-sREPORTD_ NEUDOCWEBLaGlE:NEUDOC B«ud(M_dat3saulGe IBprade jdbc.diiveT OracleCi liver SOraclesME UDE-_ elSrpWEBLOGIC|ELtftPIBB* deAa

43、swrceSoracJe jctic dii'/er OraclECiii1 SlracieEUdRP二5 .修改OP.properties文件如下配置XTM_PROVIDER=UDOLINK XTM_PROVIDEWEBLOGICMANAGED_ENVIRONMENT=falSe MANAGED_ENVIRONMENT=true6 .重啟WebLogic,并在連接池監(jiān)控界面中確認(rèn),是否連接池已經(jīng)成功啟用. Web應(yīng)用配置會(huì)話超時(shí)秒):3600會(huì)話在失效之前保持非活勖狀態(tài)的時(shí)間量秒年Servlet重新闌我檢查1秒):-1根據(jù)實(shí)際需要調(diào)整,但不要太 長(zhǎng),且此參數(shù)的優(yōu)先皴低于

44、 veb. xml中的配置:sees ion-config)<sessiorL-timeout>30</ses si on-timeout ></session-config> 上述配置的單位為分WebLcgic&等待檢查SeMet是否已被修改并需要重新加載的時(shí)間單線程Servlet簸沖池大?。?0用于單線程模式Servlet的緩沖池大小。已啟用索弓I目錄指定當(dāng)未找到合適的索引文件時(shí)目標(biāo)是否應(yīng)自動(dòng)生成HTML目錄列表“已自用會(huì)話監(jiān)視指定是否為會(huì)話監(jiān)視創(chuàng)建運(yùn)行時(shí)M日日日小生產(chǎn)環(huán)境下一般這兩個(gè)參數(shù) 都是-1,即不檢查。如果確 實(shí)需要不重啟服務(wù)的情況下 替

45、換可以修改第二個(gè)參數(shù),比如300J5P編譯命令:用于編譯生成的JSP Ser.他t的J3.a編譯器的完整路徑JSP頁(yè)檢查(秒):WebLogic導(dǎo)日向檢查JSP文件是否已更改并需要重新編譯的時(shí)間間隔i秒"3.3. 數(shù)據(jù)庫(kù)技術(shù)數(shù)據(jù)庫(kù)是業(yè)務(wù)數(shù)據(jù)最終存儲(chǔ)的位置,最為重要,也最為復(fù)雜。我們目前主要使用的是Oracle10g, 因此下面的所有講解都遵循這個(gè)前提進(jìn)行。數(shù)據(jù)庫(kù)的相關(guān)問(wèn)題不是簡(jiǎn)單的一些文字能夠描述清楚的,這里只簡(jiǎn)要的介紹一下最常遇到的一些問(wèn)題。重點(diǎn)強(qiáng)調(diào)的是,由于數(shù)據(jù)庫(kù)中存儲(chǔ)著業(yè)務(wù)數(shù)據(jù),因此對(duì)它的操作要格外的小心,不熟悉的操作不要隨便執(zhí)行,一些重要的調(diào)整盡量申請(qǐng)專業(yè)的系統(tǒng)工程師或DBA

46、fe執(zhí)行,注意多備份。3.3.3. 常見問(wèn)題. 內(nèi)存配置問(wèn)題描述:此問(wèn)題常見于一些初期業(yè)務(wù)壓力不大的系統(tǒng)中,這些系統(tǒng)由于初期業(yè)務(wù)壓力不大或缺少規(guī)劃,通常在 32位windows上運(yùn)行著32位的oracle ,而且數(shù)據(jù)文件多直接放在本機(jī)硬盤上,好一點(diǎn)的有可能本機(jī)做個(gè)了RAID5。 這種數(shù)據(jù)庫(kù)通常不是專業(yè)的系統(tǒng)工程師或 DB砥裝的,因此很可能什么參數(shù)都沒有調(diào)整過(guò),且硬件配置往往也較差,隨著數(shù)據(jù)量的增加,不可避免的越來(lái)越慢。解決方案:1. 重新規(guī)劃數(shù)據(jù)庫(kù)部署方案,并全面進(jìn)行調(diào)整。2. 調(diào)整數(shù)據(jù)庫(kù)內(nèi)存參數(shù),看是否有所改觀。. 連接數(shù)配置問(wèn)題描述:此問(wèn)題常見于一些初期業(yè)務(wù)壓力

47、不大的系統(tǒng)中,這些系統(tǒng)由于初期業(yè)務(wù)壓力不大或缺少規(guī)劃,通常在 32位windows上運(yùn)行著32位的oracle ,而且數(shù)據(jù)文件多直接放在本機(jī)硬盤上,好一點(diǎn)的有可能本機(jī)做個(gè)了RAID5。 這種數(shù)據(jù)庫(kù)通常不是專業(yè)的系統(tǒng)工程師或 DB砥裝的,因此很可能什么參數(shù)都沒有調(diào)整過(guò), 由于默認(rèn)的連接數(shù)較少,因此可能會(huì)有不夠用的情況。解決方案:1. 重新規(guī)劃數(shù)據(jù)庫(kù)部署方案,并全面進(jìn)行調(diào)整。2. 調(diào)整連接數(shù)配置。. SQL語(yǔ)句問(wèn)題問(wèn)題描述:數(shù)據(jù)庫(kù)操作執(zhí)行的緩慢,除了和系統(tǒng)軟硬件配置有關(guān)外,還和SQL語(yǔ)句本身有著重大的關(guān)系,且絕大多數(shù)的情況都是后一種。解決方案:SQL語(yǔ)句的優(yōu)化本身也是一門學(xué)問(wèn),涉及方

48、方面面,這里不可能進(jìn)行全面的講解,只進(jìn)行基本的介紹,起到入門的作用即可。一般的,SQL語(yǔ)句的執(zhí)行過(guò)程可以分為分析階段和執(zhí)行階段,在分析階段數(shù)據(jù)庫(kù)對(duì)SQL語(yǔ)句進(jìn)行語(yǔ)法分析、語(yǔ)義分析等操作并最終獲取SQL語(yǔ)句的執(zhí)行計(jì)劃,在執(zhí)行階段數(shù)據(jù)庫(kù)按照選定的執(zhí)行計(jì)劃執(zhí)行SQL語(yǔ)句并最終獲得數(shù)據(jù)。在這個(gè)過(guò)程中對(duì)性能影響較大的有兩塊:SQL語(yǔ)句的分析過(guò)程及根據(jù)分析獲得的執(zhí)行計(jì)劃。1. SQL語(yǔ)句的分析過(guò)程Oracle對(duì)SQL語(yǔ)句進(jìn)行分析的過(guò)程中區(qū)分大小寫,即不同的SQL語(yǔ)句,即使僅僅是大小寫不同,Oracle都會(huì)認(rèn)為這是完全不同的SQL語(yǔ)句。對(duì)于新的SQL 語(yǔ)句, Oracle 會(huì)進(jìn)行一系列的復(fù)雜分析,這個(gè)分析過(guò)

49、程比較消耗資源,而分 析完成后,Oracle 會(huì)對(duì)這條語(yǔ)句進(jìn)行散列,然后將語(yǔ)句放置到高速緩存中。如果之后申請(qǐng)執(zhí)行的 SQL語(yǔ)句能夠在高速緩存中查找到,則上述的分析過(guò)程不被執(zhí)行,Oracle 直接選用已經(jīng)分析過(guò)的版本直接執(zhí)行操作,反之, 則 Oracle需要重新執(zhí)行上述過(guò)程。這里面最常遇到的問(wèn)題就是變量的綁定,Oracle 會(huì)認(rèn)為下面的語(yǔ)句是完全不同的SQL語(yǔ)句。Select * from table1 where name = aaaSelect * from table1 where name = bbb這是十分糟糕的情況,正確的做法是使用變量綁定,由 Oracle在SQL®句的

50、執(zhí)行階段進(jìn)行變量的綁定來(lái)完成。Select * from table1 where name = ?2執(zhí)行計(jì)劃Oracle最終執(zhí)行SQL語(yǔ)句是按照?qǐng)?zhí)行計(jì)劃來(lái)進(jìn)行的,因此執(zhí)行計(jì)劃的好壞就 十分關(guān)鍵。那么優(yōu)化 SQL語(yǔ)句的根本其實(shí)就是改變語(yǔ)句的執(zhí)行計(jì)劃。執(zhí)行計(jì) 劃受很多方面影響,下面列舉一些,并找?guī)讉€(gè)最常見的進(jìn)行說(shuō)明。數(shù)據(jù)庫(kù)的版本越高的數(shù)據(jù)庫(kù)版本在相同的情況下做出的執(zhí)行計(jì)劃就越好,所以在可能的 條件下,升級(jí)數(shù)據(jù)庫(kù)的版本是個(gè)好的主意。初始化參數(shù)如最重要的優(yōu)化器模式參數(shù),optimizer_mode ,此參數(shù)決定了Oracle 將使用何種優(yōu)化器進(jìn)行執(zhí)行計(jì)劃編排。Oracle的優(yōu)化器分為兩種:基于規(guī)則的

51、優(yōu)化器(RBO和基于成本的優(yōu)化器(CBO) ?;谝?guī)則的優(yōu)化器嚴(yán)格按照優(yōu)先級(jí)的次序制定執(zhí)行計(jì)劃,而基于成本的優(yōu)化器則根據(jù)收集到的相關(guān)統(tǒng)計(jì)信息制定執(zhí)行計(jì)劃。Oracle10g中默認(rèn)的optimizer_mode值為ALL_ROWS®用基于成本的優(yōu)化器。需要注意的是優(yōu)化器評(píng)估出的成本cost 是一個(gè)相對(duì)的值,即只有在環(huán)境完全相同的情況下,這個(gè)值才能夠相互比較,一般情況下,此值越小,代表SQL語(yǔ)句執(zhí)行的越快。在不同的環(huán)境下這個(gè)值完全不能互相比較。在有些極特殊的情況下,在相同的環(huán)境中有可能cost 小的執(zhí)行計(jì)劃反而比cost 大的執(zhí)行計(jì)劃更慢。因此改變SQL語(yǔ)句的執(zhí)行計(jì)劃后一定要進(jìn)行實(shí)際的執(zhí)

52、行測(cè)試,不要想當(dāng)然。數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息是使用基于成本的優(yōu)化器的基礎(chǔ),統(tǒng)計(jì)信息不準(zhǔn)確,則優(yōu)化器得出的執(zhí)行計(jì)劃就會(huì)不準(zhǔn)。增加或減少索引這個(gè)應(yīng)該很好理解,不做過(guò)多說(shuō)明。改變索引的類型和順序這個(gè)應(yīng)該很好理解,不做過(guò)多說(shuō)明。改寫 SQL這個(gè)應(yīng)該很好理解,不做過(guò)多說(shuō)明。使用 HintsHints 就是提示,作用是告訴Oracle 使用什么樣的方式制定執(zhí)行計(jì)劃,Hints 有很多總類,這里不做過(guò)多說(shuō)明,僅舉個(gè)例子說(shuō)明作用。使用規(guī)則優(yōu)化器制定執(zhí)行計(jì)劃Select /*+ rule */ * from table1 where name = aaa使用成本優(yōu)化器制定執(zhí)行計(jì)劃Select /*+ a

53、ll_rows */ * from table1 where name = aaa3.3.4. 常用工具. Oracle Enterprise ManagerOracle 的企業(yè)管理器,自然是最權(quán)威,最全面的工具了。與性能有關(guān)的工具主要在其性能選項(xiàng)卡中。這其中包括了很多具體的工具,常用的如:ADDMASH艮告,頂級(jí)活動(dòng),頂級(jí)使用者,快照(AWR SQL優(yōu)化指導(dǎo)。. Oracle Enterprise Manager Consol eOracle的企業(yè)管理器客戶端,可以脫離 Web形式的企業(yè)管理器單獨(dú)使用,這個(gè)工具需要單獨(dú)的安裝。常用的是會(huì)話查看功能,可以看到當(dāng)前有多

54、少會(huì)話,會(huì)話的狀態(tài),會(huì)話的操作系統(tǒng)進(jìn)程標(biāo)識(shí)符,會(huì)話正在執(zhí)行的SQL及其執(zhí)行計(jì)劃等等的功能. PLSQL Developer 的 Sessions 功能此工具能方便的找到當(dāng)前連接的會(huì)話,并查看會(huì)話執(zhí)行的SQL語(yǔ)句iQl T Mrd i 1'UMnlM v p mJHMn 1£T» kvhcBn *r. 動(dòng)態(tài)性能試圖 v$process , v$sessionv$process視圖反映了當(dāng)前系統(tǒng) Oracle的進(jìn)程信息,v$session視圖反映了數(shù)據(jù)庫(kù)的會(huì)話信息,二者常被用來(lái)聯(lián)合起來(lái)做一些信息的查詢。連接方法為:select * from v$process p,v$session s where p.ADDR=s.PADDR;. 動(dòng)態(tài)性能試圖v$sqlarea此視圖持續(xù)跟蹤所有shared pool中的SQL語(yǔ)句的信息,通過(guò)這些信息可以 幫助我們尋找問(wèn)題SQL如:下面的語(yǔ)句是尋找基于成本優(yōu)化方式中成本最高的 SQL語(yǔ)句及執(zhí)行次數(shù)等相關(guān)信息,其中 OPTIMIZER_COST即為優(yōu)化

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論