軟件項目保護方案(參考例如)_第1頁
軟件項目保護方案(參考例如)_第2頁
軟件項目保護方案(參考例如)_第3頁
軟件項目保護方案(參考例如)_第4頁
軟件項目保護方案(參考例如)_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件項目保護方案項目背景及目標項目背景在國家政策的指導(dǎo)和幫忙下,信息化也愈來愈發(fā)揮出十分重要的作用。XXXX不斷加大信息化治理工作力度,踴躍實施“上網(wǎng)工程”,大力推動全市局域網(wǎng)建設(shè),加速辦公自動化系統(tǒng)進程,信息技術(shù)在改革中發(fā)揮了重要的支撐作用,為充分發(fā)揮公共職能,增進依法理財、科學(xué)理財,提供了重要的信息技術(shù)保障。最近幾年來建設(shè)各系統(tǒng)隨著數(shù)據(jù)量的逐年增加,陸續(xù)顯現(xiàn)了性能問題,有必要進行數(shù)據(jù)庫系統(tǒng)的升級及性能優(yōu)化,以確保應(yīng)用系統(tǒng)的正常運行,為單位員工提供更好的信息效勞。項目目標對各系統(tǒng)數(shù)據(jù)庫進行補丁升級效勞,安裝補丁前制定詳細的升級打算和應(yīng)急回退打算。完成各系統(tǒng)數(shù)據(jù)庫的性能調(diào)優(yōu)工作。各業(yè)務(wù)持續(xù)性取得有效的保證。需求分析XXXXXXX項目,我公司有連年的行業(yè)體會。具有對運維效勞對象進行適時監(jiān)測、指標分析、和及時修復(fù)的能力。Oracle產(chǎn)品日常運行保護項目要緊從如下幾個方面進行:(1).天天對ORACLE數(shù)據(jù)庫的運行狀態(tài),日記文件,備份情形,數(shù)據(jù)庫的空間利用情形,系統(tǒng)資源的利用情形進行查看,發(fā)覺并解決問題。

(2).每周對數(shù)據(jù)庫對象的空間擴展情形,數(shù)據(jù)的增加情形進行監(jiān)控,對數(shù)據(jù)庫做健康查看,對數(shù)據(jù)庫對象的狀態(tài)做查看。

(3).查看表空間碎片,提出下一步空間治理打算。對ORACLE數(shù)據(jù)庫狀態(tài)進行一次全面查看。

(4)由于這些數(shù)據(jù)庫系統(tǒng)承載著XXXX超級重要的業(yè)務(wù)系統(tǒng)數(shù)據(jù),因此在日常保護中需要超級認真,每周、每一個月、每季都需要有相應(yīng)的巡檢記錄,需要詳細記載以下一些內(nèi)容:監(jiān)控數(shù)據(jù)庫對象的空間擴展情形監(jiān)控數(shù)據(jù)量的增加情形系統(tǒng)健康查看,查看以下內(nèi)容:數(shù)據(jù)庫對象有效性查看查看是不是有危害到平安策略的問題。查看alert、Sqlnet等日記并歸檔報錯日記分析表和索引查看對數(shù)據(jù)庫會產(chǎn)生危害的增加速度查看表空間碎片數(shù)據(jù)庫性能調(diào)整預(yù)測數(shù)據(jù)庫以后的性能調(diào)整和保護工作后續(xù)空間整體運行保護效勞方案Lifekeeper保護驗證LifeKeeper的安裝查看已經(jīng)安裝的LifeKeeper軟件包,能夠利用命令:rpm–qa|grepstee啟動LifeKeepera) 啟動LifeKeeper效勞器進程若是當前您的系統(tǒng)沒有運行LifeKeeper那么在所有效勞器上以root用戶身份輸入如下命令#/opt/LifeKeeper/bin/lkstartb) 啟動LifeKeeperGUI效勞器進程一樣以root用戶運行命令#/opt/LifeKeeper/bin/lkGUIserverstart注意:以上命令只需運行一次,以后每次系統(tǒng)從頭啟動時,LifeKeeper會自動運行上述進程有關(guān)的LifeKeeper軟件的其它治理任務(wù)a) 停止LifeKeeper效勞若是需要在效勞器上永久停止LifeKeeper效勞,能夠輸入以下命令$LKROOT/bin/lkstop該命令同時會使所有LifeKeeper愛惜的資源處于退出效勞狀態(tài),若是希望在停止LifeKeeper時維持資源/應(yīng)用的運行,能夠利用:$LKROOT/bin/lkstop-fb) 查看LifeKeeper進程鍵入以下命令能夠查看當前運行的所有LifeKeeper進程列表ps-ef|grepLifeKeeper啟動LifeKeeperGUI配置工具進入LifeKeeperGUI治理工具能夠通過運行命令:/opt/LifeKeeper/bin/lkGUIapp那么顯現(xiàn)LifeKeeper登錄界面:能夠利用root用戶登錄,也能夠利用新建的用戶進行登錄。檢測LifeKeeper集群運行狀態(tài)能夠利用lcdstatus命令對LifeKeeper集群的當前運行狀態(tài)進行查看,命令格式:lcdstatus[-q][-d<主機名>]該程序向stdout輸出在LifeKeeper資源層次配置狀態(tài)和通信途徑的狀態(tài).選項-q表示輸出采納簡略的形式(建議利用該選項)選項–d表示要查看的主機,缺X查看本機治理LifeKeeper中的資源注意:若是能運行LifeKeeperGUI,那么利用其提供菜單命令執(zhí)行相應(yīng)操作;在執(zhí)行命令行啟動/停止資源前,必然先利用lcdstatus命令確認資源的實際狀態(tài)。a) 啟用資源(In-Service)能夠利用命令:./perform_action-t<資源標記名>-arestore將資源標記名所對應(yīng)的資源在本機上投入效勞(啟動)。若是該資源在命令利用前已經(jīng)在另一臺機械上處于運行狀態(tài),那么本命令執(zhí)行的結(jié)果相當于執(zhí)行了一次手工切換?。?!若是該資源在命令利用前是處于停止狀態(tài)(即在備機上執(zhí)行本命令),那么本命令執(zhí)行的結(jié)果相當于執(zhí)行了一次手工切換b) 停止資源(out-of-service)能夠利用命令:./perform_action-t<資源標記名>-aremove將資源標記名所對應(yīng)的資源在本機上停止效勞。若是該資源在命令利用前已經(jīng)在另一臺機械上處于運行狀態(tài),那么本命令執(zhí)行不產(chǎn)生任何結(jié)果注意:在執(zhí)行命令行前后,必然先利用lcdstatus命令確認資源的當前狀態(tài)。命令停止/啟動本地的資源命令中的<資源標記名>是區(qū)分大小寫的必然要等待命令完成,注意命令的輸出。詳細用法見在線幫忙手冊。SQLSERVER保護運算機系統(tǒng)各類軟、硬件故障、用戶誤操作和歹意破壞是不可幸免的,這些阻礙到數(shù)據(jù)的正確性乃至造成數(shù)據(jù)損失、效勞器崩潰等致命后果。數(shù)據(jù)庫的備份對保證系統(tǒng)的靠得住性具有重要的作用。下面會依照執(zhí)行強度對保護任務(wù)及其相應(yīng)的程序進行分類描述,執(zhí)行強度用不同的時刻距離概念,包括天天、每周、每一個月和每季度,能夠成立起良好的保護實務(wù),確保SQLServer數(shù)據(jù)庫性能和平安。天天的例行保護任務(wù)需要數(shù)據(jù)庫治理員緊密關(guān)注的保護任務(wù),最好天天都查看一下,如此能夠確保系統(tǒng)的靠得住性、可用性、運行性能和平安。天天的例行保護任務(wù)包括:1、查看是不是所有被請求的SQLServer效勞都正常運行。2、查看日常備份日記中成功、警告或失敗記錄。3、查看Windows事件日記有無錯誤記錄。4、查看SQLServer日記有無平安警告記錄,例如非法登錄。5、執(zhí)行完全備份或不同備份。6、在設(shè)置了完全恢復(fù)模型或大容量日恢復(fù)模型的數(shù)據(jù)庫上執(zhí)行事務(wù)日記備份任務(wù)。7、核實SQLServer作業(yè)沒有失敗。8、查看所有的數(shù)據(jù)庫文件和事務(wù)日記具有適合的磁盤空間大小。9、至少要監(jiān)控處置器、內(nèi)存或磁盤計數(shù)器沒有顯現(xiàn)瓶頸。每周的例行保護任務(wù)關(guān)注程度稍遜于天天的例行保護任務(wù),最好每周進行一次例行查看。每周的例行保護任務(wù)包括:1、執(zhí)行完全備份或不同備份。2、查看以前執(zhí)行的保護打算報告。3、查看數(shù)據(jù)庫完整性。4、若是需要,執(zhí)行收縮數(shù)據(jù)庫任務(wù)。5、通過從頭組織索引任務(wù)緊縮聚集和非聚集表和視圖。6、通過從頭生成索引任務(wù)在數(shù)據(jù)頁和索引頁從頭組織數(shù)據(jù)。7、更新所有效戶表和系統(tǒng)表的統(tǒng)計信息8、清除備份、還原、SQLServer代理作業(yè)和保護打算等操作的歷史數(shù)據(jù)。9、若是需要,手動增加數(shù)據(jù)庫或事務(wù)日記文件10、清除執(zhí)行保護打算殘留下來的文件。每一個月或每季度的保護任務(wù)有一些保護打算不需要執(zhí)行得過于頻繁,能夠每一個月或每一個季度執(zhí)行一次??墒钦埐灰詾檫@些任務(wù)不需要天天執(zhí)行就無足輕重,這些任務(wù)能夠確保數(shù)據(jù)庫環(huán)境的健康,因此不要輕視以下這些保護任務(wù):1、在測試環(huán)境中執(zhí)行備份還原操作。2、將歷史數(shù)據(jù)歸檔。3、分析搜集的性能統(tǒng)計數(shù)據(jù),與基準值相較較。3、查看并更新保護文檔。4、查看并安裝最新的SQLServer補丁和補丁包。5、若是運行簇、數(shù)據(jù)庫鏡像或日記傳送,那么監(jiān)測故障轉(zhuǎn)移。6、驗證備份和還原進程是不是遵循已概念的效勞品級協(xié)議。7、更新SQLServer構(gòu)建指南。8、更新SQLServer災(zāi)難恢復(fù)文檔。9、更新保護打算列表10、修改治理員口令。11、修改SQLServer效勞帳戶口令。WebLogic保護性能調(diào)優(yōu)設(shè)定執(zhí)行隊列的溢出條件WeblogicServer提供給默許的執(zhí)行隊列或用戶自概念的執(zhí)行隊列自概念溢出條件的功能,當知足此溢出條件時,效勞器改變其狀態(tài)為“警告”狀態(tài),而且額外的再分派一些線程去向理在隊列中的請求,而達到降低隊列長度的目的。

通過啟動治理操縱臺,在域(如:mydomain)>效勞器>server實例(如:myserver)>ExecuteQueue>>配置下面幾項:

隊列長度:此值表示執(zhí)行隊列中可容納的最大請求數(shù),默許值是65536,最后不要手動改變此值。

隊列長度閾值百分比:此值表示溢出條件,在此效勞器指出隊列溢出之前能夠達到的隊列長度大小的百分比。

線程數(shù)增加:當檢測到溢出條件時,將增加到執(zhí)行隊列中的線程數(shù)量。若是CPU和內(nèi)存不是足夠的高,盡可能不要改變默許值“0”。因為Weblogic一旦增加后可不能自動縮減,盡管最終可能確實起到了降低請求的作用,但在以后的運行中將影響程序的性能。

最大線程數(shù):為了避免創(chuàng)建過量的線程數(shù)量,能夠通過設(shè)定最大的線程數(shù)進行操縱。

在實際的應(yīng)用處景中,應(yīng)依照具體情形適當?shù)恼{(diào)整以上參數(shù)。

設(shè)定隊列監(jiān)測行為WeblogicServer能夠自動監(jiān)測到當一個執(zhí)行線程變成“阻塞”。變成“阻塞”狀態(tài)的執(zhí)行線程將無法完成當前的工作,也無法再執(zhí)行新請求。若是執(zhí)行隊列中的所有執(zhí)行線程都變成“阻塞”狀態(tài),Weblogicserver可能改變狀態(tài)為“警告”或“嚴峻”狀態(tài)。若是Weblogicserver變成“嚴峻”狀態(tài),能夠通過NodeManager來自動關(guān)閉此效勞器并從頭啟動它。具體請參考:NodeManagerCapabilities文檔。

通過啟動治理操縱臺,在域(如:mydomain)>效勞器>server實例(如:myserver)>配置>調(diào)整下可配置下面幾項:

阻塞線程最長時刻:在此效勞器將線程診斷為阻塞線程之前,線程必需持續(xù)工作的時刻長度(秒)。默許情形下,WebLogicServer以為線程在持續(xù)工作600秒后成為阻塞線程。

阻塞線程計時器距離:WebLogicServer按期掃描線程以查看它們是不是已經(jīng)持續(xù)工作了"阻塞線程最長時刻"字段中指定的時刻長度的距離時刻(秒)。默許情形下,WebLogicServer將現(xiàn)在刻距離設(shè)置為600秒。

盡可能利用本地IO庫WebLogicServer有兩套套接字復(fù)用器:Java版和本地庫。采納小型本地庫更有效,盡可能激活EnableNativeIO(默許),現(xiàn)在UNIX默許利用CPUs+1個線程,Window下為雙倍CPU。若是系統(tǒng)不能加載本地庫,將會拋出現(xiàn)在只能利用Java套接字復(fù)用器,能夠調(diào)整socketreaders百分比,默以為33%。該參數(shù)能夠在ConsoleServerTuningConfiguration配置欄里設(shè)置,配置完,從頭啟動WebLogicServer即可。調(diào)整默許執(zhí)行線程數(shù)名稱開發(fā)模式產(chǎn)品模式推薦個數(shù)ExecuteQueues默認的執(zhí)行線程為15默認的執(zhí)行線程為25200在治理操縱臺修改默許執(zhí)行隊列線程數(shù)的步驟如下:若是治理效勞器沒有運行,先啟動。訪問治理操縱臺。展開左側(cè)面板的Servers節(jié)點,顯示Server列表。右擊Server,在彈出菜單當選擇ViewExecuteQueues,就會在右邊面板顯示有執(zhí)行隊列的表用來修改。注意:你只能修改默許的執(zhí)行隊列或用戶概念的執(zhí)行隊列。在Name列,直接點擊默許執(zhí)行隊列名稱,顯示配置標簽用來修改執(zhí)行隊列數(shù)。填下適當?shù)木€程數(shù)。點擊Apply,保留適才的修改。重啟Server,使新的執(zhí)行隊列設(shè)置生效。JDBC調(diào)優(yōu)驅(qū)動程序類型選擇Oracle提供thin驅(qū)動和oci驅(qū)動,從性能上來講,oci驅(qū)動強于thin驅(qū)動,專門是大數(shù)據(jù)量的操作。但在簡單的數(shù)據(jù)庫操作中,性能相差不大,隨著thin驅(qū)動的不斷改良,這一弱勢將取得彌補。而thin驅(qū)動的移植性明顯強于oci驅(qū)動。因此在通常情形下建議利用thin驅(qū)動調(diào)劑連接池初始容量和最大容量JDBCConnectionPool的調(diào)優(yōu)受制于WebLogicServer線程數(shù)的設(shè)置和數(shù)據(jù)庫進程數(shù),游標的大小。通常咱們在一個線程中利用一個連接,因此連接數(shù)并非是越多越好,為幸免兩邊的資源消耗,建議設(shè)置連接池的最大值等于或略小于線程數(shù)。同時為了減少新建連接的開銷,將最小值和最大值設(shè)為一致;值等于WebLogicServer的執(zhí)行線程數(shù)。其他配置盡管JDBCConnectionPool提供了很多高級參數(shù),在開發(fā)模式下比較有效,但大部份在生產(chǎn)環(huán)境下不需調(diào)整。那個地址建議最好不要設(shè)置測試表,同時TestReservedConnections和TestReleasedConnections也無需勾上。固然若是你的數(shù)據(jù)庫不穩(wěn)固,時斷時續(xù),你就可能需要上述的參數(shù)打開WEB調(diào)優(yōu)調(diào)整WEB應(yīng)用描述符WEB應(yīng)用除代碼之外的調(diào)優(yōu)比較簡單,僅僅是對一些WEB應(yīng)用描述符的調(diào)整。第一關(guān)閉SessionMonitoringEnabled,僅僅在Cluster環(huán)境下設(shè)置Session復(fù)制(優(yōu)先利用內(nèi)存復(fù)制),在保證應(yīng)用正常運行的情形下,設(shè)置較短的Session超不時刻。同時生產(chǎn)環(huán)境下無需查看Jsp和servlet:JSPPageCheckSecs和ServletReloadCheckSecs均設(shè)為-1,關(guān)閉JSPKeepGenerated和JSPVerbose對性能也有幫忙。另外,還能夠?qū)sp進行預(yù)編譯,有兩種方式:激活precompile選項;利用事前編譯,建議采納后者。其他調(diào)優(yōu)設(shè)置WebLogic文件描述符大小調(diào)整第一設(shè)置WEB主機系統(tǒng)的ulimit參數(shù)為unlimited,然后設(shè)置WebLogic中文件描述符的大小。在{WL_HOME}/bea/weblogic/common/bin中打開文件,修改設(shè)置文件描述符大小的指令,將默許的:ulimit–n1024修改成:ulimit–n8192保護治理啟動weblogicserver啟動治理效勞器:執(zhí)行啟動被治理效勞器:執(zhí)行servernameadminurl停止weblogicserver停止被治理效勞器:執(zhí)行servername啟動被治理效勞器:執(zhí)行登錄和退出治理操縱臺治理效勞器啟動后能夠在閱讀器中登錄治理操縱臺輸入URL:,那么利用https訪問治理操縱臺在彈出的窗口“ConsoleLogin“中輸入用戶名和密碼登錄性能監(jiān)控查看性能參數(shù)登錄操縱臺后點擊Servers-servername-Monitoring-Performance參數(shù)分析 1)IdleThreads&&QueueLength&&Throughout正常情形下idlethreads>0,queueLength為0,Throughout呈不規(guī)那么轉(zhuǎn)變曲線,MemoryUsage呈適度頻度的鋸齒轉(zhuǎn)變曲線。一樣來講,關(guān)于正常配置的生產(chǎn)環(huán)境(線程數(shù)50~200),若是idlethreads<10,或呈現(xiàn)不斷降低的趨勢,就應(yīng)加以關(guān)注;空閑線程數(shù)與隊列長度通常有如下關(guān)系:A、若是空閑線程數(shù)>0,那么queuelength=0;B、反之,若是queuelength>0,那么空閑線程數(shù)=0; 2)MemoryUsageMemoryUsage=totalMemory()–freeMemory()內(nèi)存利用曲線反映了JVMHeap內(nèi)存利用的轉(zhuǎn)變情形,能夠結(jié)合其他三個值的轉(zhuǎn)變情形來判定server工作情形;比較理想的狀態(tài)是適當頻度的各類鋸齒轉(zhuǎn)變,由于JVMGC多采納“stoptheworld”機制,也確實是垃圾回收時其他處置將暫停,過度頻繁的GC將明顯降低server工作效率和性能表現(xiàn)。Oracle保護OracleDatabase,又名OracleRDBMS,或簡稱Oracle。是的一款。它是在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。能夠說Oracle數(shù)據(jù)庫系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫治理系統(tǒng),系統(tǒng)可移植性好、利用方便、功能強,適用于各類大、中、小、微機環(huán)境。它是一種高效率、靠得住性好的適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案。數(shù)據(jù)庫性能優(yōu)化Oracle性能治理既是一種藝術(shù),也是一種科學(xué)。從有效角度講,它能夠分為兩種類型,主動式和被動式性能治理。主動式性能治理涉及到特定系統(tǒng)實施初期的設(shè)計和開發(fā),包括硬件選擇、性能及容量計劃,海量存儲系統(tǒng)的選擇,I-O子系統(tǒng)配置及優(yōu)化,和如何對不同組件進行定制,以知足Oracle數(shù)據(jù)庫和應(yīng)用系統(tǒng)的復(fù)雜要求。被動式性能治理涉及到現(xiàn)有環(huán)境中不同組件的性能評估、故障排除和Oracle環(huán)境的優(yōu)化。本文旨在探討如何進行被動式性能調(diào)優(yōu),以便為Oracle性能調(diào)優(yōu)提供必要的指導(dǎo),從而幸免僅僅通過反復(fù)嘗試的方式進行性能調(diào)優(yōu),提高Oracle性能治理的效率。因此ORACLE數(shù)據(jù)庫性能惡化表現(xiàn)大體上都是用戶響應(yīng)時刻比較長,須要用戶長時刻的等待。取得中意的用戶響應(yīng)時刻有兩個途徑:一是減少系統(tǒng)效勞時刻,即提高數(shù)據(jù)庫的吞吐量;二是減少用戶等待時刻,即減少用戶訪問同一數(shù)據(jù)庫資源的沖突率。關(guān)于以上的兩個問題,通常咱們采納以下幾個方面來進行改善:調(diào)整效勞器內(nèi)存分派。例如,能夠依照數(shù)據(jù)庫運行狀況調(diào)整數(shù)據(jù)庫系統(tǒng)全局區(qū)(SGA區(qū))的數(shù)據(jù)緩沖區(qū)、日記緩沖區(qū)和共享池的大??;還能夠調(diào)整程序全局區(qū)(PGA區(qū))的大小。調(diào)整硬盤I/O問題,達到I/O負載均衡。調(diào)整運用程序結(jié)構(gòu)設(shè)計。優(yōu)化調(diào)整操作系統(tǒng)參數(shù)和利用資源治理器。SQL優(yōu)化、診斷l(xiāng)atch競爭、Rollback(undo)Segment優(yōu)化、提升block的效率等等。查看Oracle數(shù)據(jù)庫性能查看Oracle數(shù)據(jù)庫性能情形,包括:查看數(shù)據(jù)庫的等待事件,查看死鎖及處置,查看cpu、I/O、內(nèi)存性能,查看是不是有僵死進程,查看行鏈接/遷移,按期做統(tǒng)計分析,查看緩沖區(qū)命中率,查看共享池命中率,查看排序區(qū),查看日記ORACLE產(chǎn)品日常運行保護年度效勞項目緩沖區(qū),總共十個部份。查看數(shù)據(jù)庫的等待事件setpages80setlines120coleventfora40selectsid,event,p1,p2,p3,WAIT_TIME,SECONDS_IN_WAITfromv$session_waitwhereeventnotlike'SQL%'andeventnotlike'rdbms%';若是數(shù)據(jù)庫長時刻持續(xù)顯現(xiàn)大量像latchfree,enqueue,bufferbusywaits,dbfilesequentialread,dbfilescatteredread等等待事件時,需要對其進行分析,可能存在問題的語句。查看消耗CPU最高的進程SETLINE240SETVERIFYOFFCOLUMNSIDFORMAT999COLUMNPIDFORMAT999COLUMNS_#FORMAT999COLUMNUSERNAMEFORMATA9HEADING"ORAUSER"COLUMNPROGRAMFORMATA29COLUMNSQLFORMATA60COLUMNOSNAMEFORMATA9HEADING"OSUSER"SELECTPID,SID,SPID,USERNAME,OSNAME,#S_#,,PROGRAM,,,RTRIM(SUBSTR,1,80))SQLFROMV$PROCESSP,V$SESSIONS,V$SQLAREAAWHERE=AND=(+)ANDLIKE'%&1%';查看碎片程度高的表SQL>SELECTsegment_nametable_name,COUNT(*)extentsFROMdba_segmentsWHEREownerNOTIN('SYS','SYSTEM')GROUPBYsegment_nameHAVINGCOUNT(*)=(SELECTMAX(COUNT(*))FROMdba_segmentsGROUPBYsegment_name);查看表空間的I/O比例SQL>SELECTNAME,"FILE",PYR,,PYW,PBWFROMV$FILESTATF,DBA_DATA_FILESDF#=ORDERBY;查看文件系統(tǒng)的I/O比例SQL>SELECTSUBSTR#,1,2)"#",SUBSTR,1,30)"NAME",,,,FROMV$DATAFILEA,V$FILESTATBWHERE#=#;DiskRead最高的SQL語句的獲取SQL>SELECTSQL_TEXTFROM(SELECT*FROMV$SQLAREAORDERBYDISK_READS)WHEREROWNUM<=5desc;查找前十條性能差的sqlSELECT*FROM(SELECTPARSING_USER_IDEXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,SQL_TEXTFROMV$SQLAREAORDERBYDISK_READSDESC)WHEREROWNUM<10;等待時刻最多的5個系統(tǒng)等待事件的獲取SELECT*FROM(SELECT*FROMV$SYSTEM_EVENTWHEREEVENTNOTLIKE'SQL%'ORDERBYTOTAL_WAITSDESC)WHEREROWNUM<=5;查看運行好久的SQLCOLUMNUSERNAMEFORMATA12COLUMNOPNAMEFORMATA16COLUMNPROGRESSFORMATA8SELECTUSERNAME,SID,OPNAME,ROUND(SOFAR*100/TOTALWORK,0)||'%'ASPROGRESS,TIME_REMAINING,SQL_TEXTFROMV$SESSION_LONGOPS,V$SQLWHERETIME_REMAINING<>0ANDSQL_ADDRESS=ADDRESSANDSQL_HASH_VALUE=HASH_VALUE;查看死鎖及處置查詢目前鎖對象信息:colsidfor999999colusernamefora10colschemanamefora10colosuserfora16colmachinefora16colterminalfora20colownerfora10colobject_namefora30colobject_typefora10selectsid,serial#,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,object_name,object_type,fromdba_objectso,v$locked_objectl,v$sessionswhere=and=;oracle級kill掉該session:altersystemkillsession'&sid,&serial#';操作系統(tǒng)級kill掉session:#>kill-9pid查看數(shù)據(jù)庫cpu、I/O、內(nèi)存性能記錄數(shù)據(jù)庫的cpu利用、IO、內(nèi)存等利用情形,利用vmstat,iostat,sar,top等命令進行信息搜集并查看這些信息,判定資源利用情形。CPU利用情形:[root@sale8~]#toptop-10:29:35up73days,19:54,1user,loadaverage:,,:353total,2running,351sleeping,0stopped,0zombieCpu(s):%us,%sy,%ni,%id,%wa,%hi,%siMem:ktotal,kused,3517044kfree,60796kbuffersSwap:8385920ktotal,665576kused,7720344kfree,kcachedPIDUSER30495oracle32501oracle32503oracle注意上面的加粗字體部份,此部份內(nèi)容表示系統(tǒng)剩余的cpu,當其平均值下降至10%以下的時視為CPU利用率異樣,需記錄下該數(shù)值,并將狀態(tài)記為異樣內(nèi)存利用情形:#free-mTotalusedfreesharedbufferscachedMem:2026-/+buffers/cache:3261700Swap:5992925900如上所示,total表示系統(tǒng)總內(nèi)存,used表示系統(tǒng)利用的內(nèi)存,free表示系統(tǒng)剩余內(nèi)存,當剩余內(nèi)存低于總內(nèi)存的10%時視為異樣。系統(tǒng)負載情形:#uptime12:08:37up162days,23:33,15users,loadaverage:,,如上所示,loadaverage部份表示系統(tǒng)負載,后面的3個數(shù)值若是有高于的時候就說明系統(tǒng)在超負荷運轉(zhuǎn)了,并將此值記錄到巡檢表,視為異樣。查看是不是有僵死進程selectspidfromv$processwhereaddrnotin(selectpaddrfromv$session);有些僵尸進程有阻塞其他業(yè)務(wù)的正常運行,按期殺掉僵尸進程。查看行鏈接/遷移Sql>selecttable_name,num_rows,chain_cntFromdba_tablesWhereowner='CTAIS2'Andchain_cnt<>0;注:含有l(wèi)ongraw列的表有行鏈接是正常的,找到遷移行保留到chained_rows表中,如沒有該表執(zhí)行../rdbms/admin/Sql>analyzetabletablenamelistchainedrows;可通過表chained_rows中table_name,head_rowid看出哪些行是遷移行如:Sql>createtableaaasselecta.*fromsb_zsxxa,chained_rowsbwhere=='SB_ZSXX';sql>deletefromsb_zsxxwhererowidin(selecthead_rowidfromchained_rowswheretable_name='SB_ZSXX');sql>insertintosb_zsxxselect*fromchained_rowwheretable_name='SB_ZSXX';按期做統(tǒng)計分析關(guān)于采納OracleCost-Based-Optimizer的系統(tǒng),需要按期對數(shù)據(jù)對象的統(tǒng)計信息進行搜集更新,使優(yōu)化器能夠依照預(yù)備的信息作出正確的explainplan。在以下情形更需要進行統(tǒng)計信息的更新:應(yīng)用發(fā)生轉(zhuǎn)變;大規(guī)模數(shù)據(jù)遷移、歷史數(shù)據(jù)遷出、其他數(shù)據(jù)的導(dǎo)入等;數(shù)據(jù)量發(fā)生轉(zhuǎn)變。查看表或索引的統(tǒng)計信息是不是需更新,如:Sql>Selecttable_name,num_rows,last_analyzedFromuser_tableswheretable_name='DJ_NSRXX'sql>selectcount(*)fromDJ_NSRXX如num_rows和count(*)若是行數(shù)相差很多,那么該表需要更新統(tǒng)計信息,建議一周做一次統(tǒng)計信息搜集,如:Sql>exec'CTAIS2',cascade=>TRUE,degree=>4);查看日記緩沖區(qū)SQL>selectname,valuefromv$sysstatwherenamein('redoentries','redobufferallocationretries');若是redobufferallocationretries/redoentries超過1%,那么需要增大log_buffer。性能調(diào)優(yōu)及方式性能調(diào)優(yōu)要緊有主動調(diào)優(yōu)和被動調(diào)優(yōu),主動調(diào)優(yōu)在前面咱們已經(jīng)進行了論述,被動調(diào)優(yōu)要緊有以下方式進行。確信合理的性能優(yōu)化目標測試并記錄當前的性能指標確信當前存在的Oracle性能瓶頸(Oracle中何處存在等待,哪個SQL語句與此有關(guān))確信當前的操作系統(tǒng)瓶頸優(yōu)化相關(guān)的組件(應(yīng)用、數(shù)據(jù)庫、I/O、連接OS及其它)跟蹤并實施轉(zhuǎn)變治理制度測試并記錄目前的性能指標重復(fù)第3到第7步直至達到既定的優(yōu)化目標不要對并非性能瓶頸的部份進行優(yōu)化,不然可能引發(fā)額外的問題。正如任何伶俐的人會告知你的:“若是還未壞,萬萬不要修”。更重要的是,一旦既定的優(yōu)化目標已經(jīng)達到,就務(wù)必停止所有的優(yōu)化。獲取Oracle的性能指標(測試前及測試后)必需在峰值處置時測試并獲取系統(tǒng)在優(yōu)化前和優(yōu)化后的性能指標。數(shù)據(jù)搜集不該在數(shù)據(jù)庫instance方才起動后進行。同時,測試數(shù)據(jù)應(yīng)在峰值期間每過15分鐘進行一次。初始化參數(shù)TIMED_STATISTICS應(yīng)該被設(shè)為TRUE。通過運行以下腳本開始快照:$ORACLE_HOME/rdbms/admin/.通過運行以下腳本終止快照:$ORACLE_HOME/rdbms/admin/.完成操作后,會在當前目錄中生成名為“”的文件,包括系統(tǒng)的性能數(shù)據(jù)。該報告包括每15分鐘捕捉的所有與Oracle例程相關(guān)的參數(shù)。尋覓問題本源如上所述,通過查看v$system_event事件開始系統(tǒng)事件的問題診斷。下一步是查看v$session_event,找出引發(fā)或經(jīng)歷等待事件的進程。最后一步是通過v$session_wait取得事件的細節(jié)。同時,應(yīng)該進一步通過OS進行深切分析,了解核心的CPU、內(nèi)存和IO狀態(tài)參數(shù)。最后,結(jié)合兩種不同的診斷的結(jié)論,找出系統(tǒng)瓶頸所在。應(yīng)用優(yōu)化從統(tǒng)計(和現(xiàn)實)的角度看,80%的Oracle系統(tǒng)性能問題能夠通過SQL代碼優(yōu)化來解決。任何應(yīng)用優(yōu)化的進程,不外乎是索引優(yōu)化、全表掃描、并行機制改良和選擇正確數(shù)據(jù)組合方式的進程。這正是要達到最正確應(yīng)用性能所必需考慮的因素。沒有SQL的優(yōu)化,就無法實現(xiàn)高性能的應(yīng)用。良好的SQL語句能夠減少CPU資源的消耗,提高響應(yīng)速度。同時,優(yōu)化后的SQL語句還能夠提高應(yīng)用的可擴展性,這是除增加大量內(nèi)存外,任何其它硬件手腕也無法實現(xiàn)的。I-O優(yōu)化I-O優(yōu)化是系統(tǒng)優(yōu)化中的一個關(guān)鍵步驟,還涉及到其它任務(wù),將文件在不同驅(qū)動器/卷中進行散布,采納優(yōu)化分區(qū)技術(shù)、確信I-O子系統(tǒng)瓶頸、確信操縱器瓶頸并依照應(yīng)用的類型選擇最正確的RAID級。I-O優(yōu)化應(yīng)該在全面了解Oracle及OracleRDBMS結(jié)構(gòu)以后進行。應(yīng)該在進行I-O優(yōu)化前后實施I-O數(shù)據(jù)監(jiān)控,如平均效勞時刻,IOPS,平均磁盤隊列長度等。O-S監(jiān)控數(shù)據(jù)庫忙時,應(yīng)該對操作系統(tǒng)進行監(jiān)控,因為操作系統(tǒng)的性能指標會揭露數(shù)據(jù)庫活動的性質(zhì)及其對系統(tǒng)的阻礙。例如,為了了解CPU的利用率,能夠通過systemactivityreporter(sar–uintervalfrequency)、mpstat(SunSolaris),top(多數(shù)UNIX)、osview(SGIIrix)及vmstat等命令。Sar和vmstat也可被用于確信包括內(nèi)存利用率、I-O參數(shù)、隊列等待、讀取/互換區(qū)活動等信息。在Solaris上,mpstatutility也可用于獲取前面提到的CPU利用率數(shù)據(jù)。Solaris上的Adrian性能治理工具也很有效。能夠利用其中的一到多個工具來確信系統(tǒng)的性能狀況,找出可能存在的瓶頸。Oracle數(shù)據(jù)庫性能的治理需要遵循系統(tǒng)的方式論,以確保所有核心問題得以解決。多數(shù)問題能夠事前得以治理。了解與O-S相關(guān)的問題是成功的關(guān)鍵。勿需置疑,系統(tǒng)硬件配置上的良好平穩(wěn)也是相當重要的。必需承認,80%的系統(tǒng)性能問題能夠通過書寫更好的SQL語句來解決。來文試圖探討其余20%中可能覆蓋的內(nèi)容。同時,必需遵守嚴格的規(guī)定,在調(diào)優(yōu)目標達到后終止所有盡力。了解自己想到何處是重要的,更重要的是,要明白自己何時抵達了目的地。例程調(diào)優(yōu)需要配置的要緊初始化參數(shù)以下是一些已知與例程優(yōu)化關(guān)系最緊密的一些核心Oracle初始化參數(shù)。它們都會阻礙Oracle及SGA區(qū)的活動。任何對這些參數(shù)的改動,在實施到生產(chǎn)環(huán)境之前,都必需進行測試。一旦改變了生產(chǎn)環(huán)境的參數(shù),就必需對相關(guān)的Oracle動態(tài)性能指標和操作系統(tǒng)的性能進行監(jiān)測,尋覓可能由此產(chǎn)生的異樣現(xiàn)象。1)DB_BLOCK_SIZE該參數(shù)在數(shù)據(jù)庫成立前設(shè)定,決定了數(shù)據(jù)庫中每一個數(shù)據(jù)塊的大小。只有從頭成立數(shù)據(jù)庫,才有可能改變該參數(shù)。db_block_size的配置應(yīng)遵循以下公式:DB_BLOCK_SIZE=FILESYSTEMBLOCKSIZE>=O-SPAGESIZE這能夠確保Oracle取得最正確I/O性能,同時可不能由于冗余或沒必要要的I/O,給I/O子系統(tǒng)帶來壓力。2)DB_BLOCK_BUFFERS該參數(shù)決定了SGA區(qū)數(shù)據(jù)庫緩沖區(qū)中的塊數(shù)量。由于這是Oracle讀取和寫入的區(qū)域,它的不正確配置會引發(fā)嚴峻的I/O性能問題。盡管緩沖區(qū)的大小與應(yīng)用性質(zhì)、數(shù)據(jù)庫大小、同步用戶數(shù)等無關(guān),它的確是SGA區(qū)中最大的組件。常常能夠看到緩沖區(qū)占用75-80%SGA區(qū)內(nèi)存的情形。另外,這一參數(shù)設(shè)置過大,也會引發(fā)整個系統(tǒng)的內(nèi)存不足,引發(fā)操作系統(tǒng)過量的讀寫操作。該參數(shù)及SHARED_POOL_SIZE一般是兩個最重要的SGA優(yōu)化目標。只有當數(shù)據(jù)庫緩沖率長時刻低于70%時,才需要增加其大小說。即便在這種情形下,也需要進一步審查應(yīng)用的性能和整個系統(tǒng)的吞吐性。假設(shè)存在延遲性的應(yīng)用設(shè)計問題,那么不管數(shù)據(jù)庫緩沖區(qū)的大小如何,緩沖和讀寫率都可不能有太大改變成。在實調(diào)優(yōu)中,也曾發(fā)覺由于SQL語句的問題,顯現(xiàn)緩沖率很高,但仍存在全系統(tǒng)性能問題的情形。3)SHARED_POOL_SIZE該參數(shù)按字節(jié)數(shù)設(shè)定,概念了SGA中共享區(qū)的大小。該組件的大小嚴峻依托于應(yīng)用的類型(即該應(yīng)用是重用SQL,仍是生成動態(tài)SQL,等等)。同時它也取決于同步用戶的數(shù)量,和實例是不是被配置成支持多線程效勞器(MTS)。若是該應(yīng)用采納了MTS配置,那么共享區(qū)應(yīng)該明顯增加,因為光標狀態(tài)和用戶進程數(shù)據(jù)等程序全局區(qū)域(PGA)都被置入了共享區(qū)。有關(guān)多數(shù)應(yīng)用的SHARED_POOL_SIZE大小設(shè)置,能夠從每10個同步用戶16MB共享區(qū)開始。這不是一成不變的,因為應(yīng)用的性質(zhì)最終會決定該組件的大小。只有當庫緩沖和字典緩沖利用率一直低于90%時,才需要關(guān)注這一參數(shù)。但如果是應(yīng)用并未采納變量歸并和/共離圖標時,內(nèi)存的數(shù)量并非會使緩沖利用率高于90%。共享區(qū)過大會致使處置時刻增加,乃至SQL語句的掛起。若是應(yīng)用不能有效地重用SQL,那么不管配置多大的庫緩沖或字典緩沖都無濟于事,不能改善緩沖利用率。另一個值得考慮的因素是需要隨時利用的存儲PL/SQL代碼數(shù)量。應(yīng)用的核心包能夠通過查看DBA_SOURCE、USER_SOURCE得以確認,其大小通過查詢DBA_OBJECT_SIZE了解。另外,為了確信存儲PL/SQL是不是被置于內(nèi)存,能夠查詢動態(tài)性能視圖V$DB_OBJECT_SIZE。內(nèi)時,包DBMS_SHARED_POOL中的程序大小可被用于確信應(yīng)用中大包的規(guī)模。4)LOG_BUFFER依照字節(jié)設(shè)定,該參數(shù)概念了SGA緩沖區(qū)中redolog的大小。缺X值一般是數(shù)據(jù)庫塊大小的四倍,這關(guān)于多數(shù)環(huán)境并非是最正確的。關(guān)于中型的Oracle環(huán)境,其結(jié)構(gòu)應(yīng)該為512Kb左右。對該存儲結(jié)構(gòu)而言,更大并非意味著更好。超過1MB就可能有問題。需要監(jiān)控V$SESSION_WAIT中l(wèi)ogbufferspace的等待事件,優(yōu)化該內(nèi)存結(jié)構(gòu)。需要提示的是,在線redolog文件的大小設(shè)置不妥,會引發(fā)redo請求的等待。5)DB_WRITERS該參數(shù)能夠針對所有文件系統(tǒng)支持,且不可利用DirectI-O的Oracle實施設(shè)定。這并非需要與rawpartitions一路利用,因為異步I-O加倍。建議將該參數(shù)設(shè)定為(2*獨立磁盤驅(qū)動器數(shù)量/卷)。該參數(shù)只有在中的“averagewritequeuelength”持續(xù)高于1時,才需要設(shè)定。在Oracle和更高版本中,該參數(shù)已再也不被支持,而為其它兩個名為DB_WRITER_PROCESSES和DBWR_IO_SLAVES的參數(shù)取代。假設(shè)需要設(shè)置DB_WRITER_PROCESSES值高于8,那么DB_WRITER_PROCESSES可被設(shè)為1,且DBWR_IO_SLAVES可被設(shè)為“n”,其中n的值必需設(shè)置為(2*獨立磁盤驅(qū)動器數(shù)量/卷)競爭優(yōu)化多數(shù)與Oracle有關(guān)的競爭問題能夠通過主動配置治理相關(guān)的初始化參數(shù)進行。不恰本地配置中的鎖參數(shù)可能引發(fā)競爭。為了不打破其中的平穩(wěn),所需的參數(shù)可進行配置并主動得以處置。包括表在內(nèi)的數(shù)據(jù)庫對象可能存在兩個競爭點。第一個是所配置的“freelists”的數(shù)量(缺X值為1)。freelist結(jié)構(gòu)保護著表中可用于插入的塊。關(guān)于存在大量同步插入的表,有必要配置該結(jié)構(gòu)。為了以主動方式處置freelist競爭,必需在成立表時配置FREELISTS??煽紤]的最正確值為(2*CPU數(shù)量)。V$WAITSTAT不可能指示存在freelist競爭,除非存在freelist組,而這種設(shè)置只存在于OracleParallelServer中。即便如此,也無法了解哪個表存在競爭中。主動式的freelist競爭調(diào)優(yōu)能夠事前預(yù)防問題顯現(xiàn)。資源競爭的第二個來源與索引有關(guān),即對象塊頭中配置的事務(wù)槽數(shù)量。事務(wù)槽是塊頭中的區(qū)域,是事務(wù)處置進程采納自身識別號進行注冊,以便任何被修改的更能夠通過特定事務(wù)槽數(shù)量在低層得以識別的地址。若是所有現(xiàn)存的事務(wù)槽已經(jīng)被其它事務(wù)占用,效勞器器進程會從塊的PCTFREE中請求23個字節(jié),成立一個新的槽。這種情形適用于存在大量同步事務(wù)的對象。關(guān)于事務(wù)槽的競爭,需要設(shè)置INITRANS參數(shù)。關(guān)于塊大小為8K的數(shù)據(jù)庫,多數(shù)情形下,4為最正確設(shè)置,占用的空間僅為92字節(jié),卻能夠大大減少運行時故障和性能問題。數(shù)據(jù)庫備份恢復(fù)為了保證客戶數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)平安性,降低各類故障、災(zāi)難給客戶帶來的數(shù)據(jù)丟失,依照客戶系統(tǒng)實際情形,協(xié)助客戶計劃實施符合客戶工作要求的完善的備份恢復(fù)方案,以確??蛻魯?shù)據(jù)庫系統(tǒng)的平安靠得住運行。數(shù)據(jù)庫的恢復(fù)與備份要緊有以下幾點:恢復(fù)治理器(RMAN),能使備份恢復(fù)操作自動化Oracle數(shù)據(jù)泵,用以數(shù)據(jù)庫的邏輯備份用戶治理許諾用戶通過操作系統(tǒng)命令手動備份數(shù)據(jù)庫。各類各樣的其他的數(shù)據(jù)庫備份和恢復(fù)軟件,增強了Oracle的備份有效程序Oracle備份時應(yīng)注意事項:當數(shù)據(jù)庫處于運行狀態(tài)時的熱備份時,不備份活動事務(wù);利用比如Oracle工具(OracleRAMN)或其他的第三方軟件(IBM/Tivoli的數(shù)據(jù)存儲治理器)緊縮Oracle備份數(shù)據(jù);若是維持數(shù)據(jù)存儲空間比備份和恢復(fù)數(shù)據(jù)庫時刻更重要的話,能夠考慮利用二進制緊縮。查看Oracle數(shù)據(jù)庫備份結(jié)果查看Oracle數(shù)據(jù)庫備份結(jié)果,是日常運維中必不可少的一個環(huán)節(jié)。包括:查看數(shù)據(jù)庫備份日記信息,查看backup卷中文件產(chǎn)生的時刻,查看oracle用戶的email,總共三個部份。查看數(shù)據(jù)庫備份日記信息假設(shè):備份的臨時目錄為/backup/hotbakup,咱們需要查看2021年7月22日的備份結(jié)果,那么用下面的命令來查看:#cat/backup/hotbackup/|grep–ierror備份腳本的日記文件為hotbackup-月份-日期-年份.log,在備份的臨時目錄下面。若是文件中存在“ERROR:”,那么說明備份沒有成功,存在問題需要查看。查看backup卷中文件產(chǎn)生的時刻#ls–lt/backup/hotbackupbackup卷是備份的臨時目錄,查看輸出結(jié)果中文件的日期,都應(yīng)當是在當天凌晨由熱備份腳本產(chǎn)生的。若是時刻不對那么說明熱備份腳本沒執(zhí)行成功。查看oracle用戶的email#tail–n300/var/mail/oracle熱備份腳本是通過Oracle用戶的cron去執(zhí)行的。cron執(zhí)行完后操作系統(tǒng)就會發(fā)一條Email通知Oracle用戶任務(wù)已經(jīng)完成。查看Oracleemail中今天凌晨部份有無ORA-,Error,F(xiàn)ailed等犯錯信息,若是有那么說明備份不正常。數(shù)據(jù)庫遷移數(shù)據(jù)遷移是日常運維進程中存在的一個必不可少的應(yīng)急方案。日常保護進程中,由于硬件的緣故或其它一些外在因素需要對數(shù)據(jù)進行遷移,遷移到加倍高級的主機上、遷移到遠程的機房上、遷移到不同的平臺劣等等一些情形。關(guān)于數(shù)據(jù)遷移我公司有超級成熟的方案,從以下幾種方式咱們能夠充分了解其優(yōu)缺點:exp/imp:這也算是最經(jīng)常使用最簡單的方式了,一樣是基于應(yīng)用的owner級做導(dǎo)出導(dǎo)入;優(yōu)勢是能夠跨平臺利用;缺點是停機時刻長,停機時刻為從exp到網(wǎng)絡(luò)傳輸?shù)叫聨欤偌由蟟mp的時刻;存儲遷移:這種情形下,數(shù)據(jù)文件、操縱文件、日記文件、spfile都在存儲上(一樣情形下是裸設(shè)備),咱們能夠直接把存儲掛到新機械上,然后在新機械上啟動數(shù)據(jù)庫;優(yōu)勢是該遷移方式超級簡單,要緊的工作是主機工程師的工作,dba只需配合即可,停機時刻為當庫、切存儲、起庫的時刻。缺點是要求新老庫都是同一平臺,是相同的數(shù)據(jù)庫版本。利用dataguard遷移;優(yōu)勢是停機時刻短,停機時刻為switchover的時刻。缺點:主機必需雙份、存儲必需雙份。用rman做遷移,這種方式比較適合于跨文件系統(tǒng)的遷移,猶如平臺下的不同文件系統(tǒng)。數(shù)據(jù)庫運維數(shù)據(jù)庫的運維要緊結(jié)合各系統(tǒng)的實際情形,提供切實可行的運維建設(shè)機制,內(nèi)容覆蓋ORACLE數(shù)據(jù)庫的日常保護、緊急故障處置,軟件升級等,客戶可依據(jù)效勞內(nèi)容進行相應(yīng)的定制。咱們將會提供全面的、針對性的效勞解決方案,以保證客戶系統(tǒng)穩(wěn)固、高效、靠得住的運行,以達到對業(yè)務(wù)系統(tǒng)的有效支持。查看數(shù)據(jù)庫大體狀況對數(shù)據(jù)庫的大體狀況進行查看,其中包括:查看Oracle實例狀態(tài),查看Oracle效勞進程,查看Oracle監(jiān)聽進程,共三個部份。查看Oracle實例狀態(tài)SQL>selectinstance_name,host_name,startup_time,status,database_statusfromv$instance;其中“STATUS”表示Oracle當前的實例狀態(tài),必需為“OPEN”;“DATABASE_STATUS”表示Oracle當前數(shù)據(jù)庫的狀態(tài),必需為“ACTIVE”。SQL>selectname,log_mode,open_modefromv$database;其中“LOG_MODE”表示Oracle當前的歸檔方式?!癆RCHIVELOG”表示數(shù)據(jù)庫運行在歸檔模式下,“NOARCHIVELOG”表示數(shù)據(jù)庫運行在非歸檔模式下。在咱們的系統(tǒng)中數(shù)據(jù)庫必需運行在歸檔方式下。查看Oracle效勞進程$ps-ef|grepora_|grep-vgrep&&ps-ef|grepora_|grep-vgrep|wc–l在查看Oracle的進程命令輸出后,輸出顯示至少應(yīng)包括以下一些進程:Oracle寫數(shù)據(jù)文件的進程,輸出顯示為:“ora_dbw0_CKDB”O(jiān)racle寫日記文件的進程,輸出顯示為:“ora_lgwr_CKDB”O(jiān)racle監(jiān)聽實例狀態(tài)的進程,輸出顯示為:“ora_smon_CKDB”O(jiān)racle監(jiān)聽客戶端連接進程狀態(tài)的進程,輸出顯示為:“ora_pmon_CKDB”O(jiān)racle進行歸檔的進程,輸出顯示為:“ora_arc0_CKDB”O(jiān)racle進行查看點的進程,輸出顯示為:“ora_ckpt_CKDB”O(jiān)racle進行恢復(fù)的進程,輸出顯示為:“ora_reco_CKDB”查看Oracle監(jiān)聽狀態(tài)/home/oracle>lsnrctlstatus“ServicesSummary”項表示Oracle的監(jiān)聽進程正在監(jiān)聽哪些數(shù)據(jù)庫實例,輸出顯示中至少應(yīng)該有“CKDB”這一項。查看監(jiān)聽進程是不是存在:[oracle@AS14~]$ps-ef|greplsn|grep-vgrep查看系統(tǒng)和oracle日記文件查看相關(guān)的日記文件,包括:查看操作系統(tǒng)的日記文件,查看Oracle日記文件,查看Oracle核心轉(zhuǎn)儲目錄,查看Root用戶和Oracle用戶的email,總共四個部份。查看操作系統(tǒng)日記文件#cat/var/log/messages|grepfailed查看是不是有與Oracle用戶相關(guān)的犯錯信息。查看oracle日記文件[oracle@AS14~]$cat/data/oracle/admin/CKDB/bdump/|grepora-[oracle@AS14~]$cat/data/oracle/admin/CKDB/bdump/|greperr[oracle@AS14~]$cat/data/oracle/admin/CKDB/bdump/|grepfailOracle在運行進程中,會在警告日記文件中記錄數(shù)據(jù)庫的一些運行情形:數(shù)據(jù)庫的啟動、關(guān)閉,啟動時的非缺X參數(shù);數(shù)據(jù)庫的重做日記切換情形,記錄每次切換的時刻,及若是因為查看點(checkpoint)操作沒有執(zhí)行完成造成不能切換,會記錄不能切換的緣故;對數(shù)據(jù)庫進行的某些操作,如創(chuàng)建或刪除表空間、增加數(shù)據(jù)文件;數(shù)據(jù)庫發(fā)生的錯誤,如表空間不夠、顯現(xiàn)壞塊、數(shù)據(jù)庫內(nèi)部錯誤(ORA-600)等。按期查看日記文件,依照日記中發(fā)覺的問題及時進行處置:問題處理啟動參數(shù)不對查看初始化參數(shù)文件因為查看點操作或歸檔操作沒有完成造成重做日志不能切換如果經(jīng)常發(fā)生這樣的情況,可以考慮增加重做日志文件組;想辦法提高查看點或歸檔操作的效率;有人未經(jīng)授權(quán)刪除了表空間查看數(shù)據(jù)庫的安全問題,是否密碼太簡單;如有必要,撤消某些用戶的系統(tǒng)權(quán)限出現(xiàn)壞塊查看是否是硬件問題(如磁盤本生有壞塊),如果不是,查看是那個數(shù)據(jù)庫對象出現(xiàn)了壞塊,對這個對象進行重建表空間不夠增加數(shù)據(jù)文件到相應(yīng)的表空間出現(xiàn)ORA-600根據(jù)日志文件的內(nèi)容查看相應(yīng)的TRC文件,如果是Oracle的bug,要及時打上相應(yīng)的補丁Listener日記:$ORACLE_HOME/network/log查看Oracle核心轉(zhuǎn)儲目錄$ls$ORACLE_BASE/admin/CKDB/cdump/*.trc|wc-l$ls$ORACLE_BASE/admin/CKDB/udump/*.trc|wc–l若是上面命令的結(jié)果天天都在增加,那么說明Oracle進程常常發(fā)生核心轉(zhuǎn)儲。這說明某些用戶進程或數(shù)據(jù)庫后臺進程由于無法處置的緣故此異樣退出。頻繁的核心轉(zhuǎn)儲專門是數(shù)據(jù)庫后臺進程的核心轉(zhuǎn)儲會致使數(shù)據(jù)庫異樣終止。查看Root用戶和Oracle用戶的email#tail–n200/var/mail/root#tail–n200/var/mail/oracle查看有無與Oracle用戶相關(guān)的犯錯信息。查看Oracle對象狀態(tài)查看相關(guān)Oracle對象的狀態(tài),包括:查看Oracle操縱文件狀態(tài),查看Oracle在線日記狀態(tài),查看Oracle表空間的狀態(tài),查看Oracle所有數(shù)據(jù)文件狀態(tài),查看Oracle所有表、索引、存儲進程、觸發(fā)器、包等對象的狀態(tài),查看Oracle所有回滾段的狀態(tài),總共六個部份。查看Oracle操縱文件狀態(tài)SQL>selectstatus,namefromv$controlfile;輸出結(jié)果應(yīng)該有3條以上(包括3條)的記錄,“STATUS”應(yīng)該為空。狀態(tài)為空表示操縱文件狀態(tài)正常。查看Oracle在線日記狀態(tài)SQL>selectgroup#,status,type,memberfromv$logfile;輸出結(jié)果應(yīng)該有3條以上(包括3條)記錄,“STATUS”應(yīng)該為非“INVALID”,非“DELETED”。注:“STATUS”顯示為空表示正常。查看Oracle表空間的狀態(tài)SQL>selecttablespace_name,statusfromdba_tablespaces;輸出結(jié)果中STATUS應(yīng)該都為ONLINE。查看Oracle所有數(shù)據(jù)文件狀態(tài)SQL>selectname,statusfromv$datafile;輸出結(jié)果中“STATUS”應(yīng)該都為“ONLINE”?;颍篠QL>selectfile_name,statusfromdba_data_files;輸出結(jié)果中“STATUS”應(yīng)該都為“AVAILABLE”。查看所有回滾段狀態(tài)SQL>selectsegment_name,statusfromdba_rollback_segs;輸出結(jié)果中所有回滾段的“STATUS”應(yīng)該為“ONLINE”。查看Oracle相關(guān)資源的利用情形查看Oracle相關(guān)資源的利用情形,包括:查看Oracle初始化文件中相關(guān)的參數(shù)值,查看數(shù)據(jù)庫連接情形,查看系統(tǒng)磁盤空間,查看Oracle各個表空間利用情形,查看一些擴展異樣的對象,查看system表空間內(nèi)的內(nèi)容,查看對象的下一擴展與表空間的最大擴展值,總共七個部份。查看Oracle初始化文件中相關(guān)參數(shù)值SQL>selectresource_name,max_utilization,initial_allocation,limit_valuefromv$resource_limit;若LIMIT_VALU-MAX_UTILIZATION<=5,那么說明與RESOURCE_NAME相關(guān)的Oracle初始化參數(shù)需要調(diào)整。能夠通過修改Oracle初始化參數(shù)文件$ORACLE_BASE/admin/CKDB/pfile/來修改。查看數(shù)據(jù)庫連接情形查看當前會話連接數(shù),是不是屬于正常范圍。selectsid,serial#,username,program,machine,statusfromv$session;其中:SID會話(session)的ID號;SERIAL#會話的序列號,和SID一路用來唯一標識一個會話;USERNAME成立該會話的用戶名;PROGRAM那個會話是用什么工具連接到數(shù)據(jù)庫的;STATUS當前那個會話的狀態(tài),ACTIVE表示會話正在執(zhí)行某些任務(wù),INACTIVE表示當前會話沒有執(zhí)行任何操作;若是成立了過量的連接,會消耗數(shù)據(jù)庫的資源,同時,對一些“掛死”的連接可能需要手工進行清理。若是DBA要手工斷開某個會話,那么執(zhí)行:(一樣不建議利用這種方式去殺掉數(shù)據(jù)庫的連接,如此有時候session可不能斷開。容易引發(fā)死連接。建議通過sid查到操作系統(tǒng)的spid,利用ps–ef|grepspidno的方式確認spid不是ORACLE的后臺進程。利用操作系統(tǒng)的kill-9命令殺掉連接)altersystemkillsession'SID,SERIAL#';注意:上例中SID為1到10(USERNAME列為空)的會話,是Oracle的后臺進程,不要對這些會話進行任何操作。查看系統(tǒng)磁盤空間若是文件系統(tǒng)的剩余空間過小或增加較快,需對其進行確認并刪除不用的文件以釋放空間。[oracle@AS14~]$df–h查看表空間利用情形SQL>select,,,round(*100)"%Free"from(selecttablespace_name,sum(bytes/(1024*1024))totalfromdba_data_filesgroupbytablespace_name)a,(selecttablespace_name,round(sum(bytes/(1024*1024)))freefromdba_free_spacegroupbytablespace_name)fWHERE=(+)orderby"%Free";若是空閑率%Free小于10%以上(包括10%),那么注意要增加數(shù)據(jù)文件來擴展表空間而不若是用數(shù)據(jù)文件的自動擴展功能。請不要對表空間增加過量的數(shù)據(jù)文件,增加數(shù)據(jù)文件的原那么是每一個數(shù)據(jù)文件大小為2G或4G,自動擴展的最大限制在8G。查看一些擴展異樣的對象sql>selectSegment_Name,Segment_Type,TableSpace_Name,(Extents/Max_extents)*100PercentFromWhereMax_Extents!=0and(Extents/Max_extents)*100>=95orderByPercent;若是有記錄返回,那么這些對象的擴展已經(jīng)快達到它概念時的最大擴展值。關(guān)于這些對象要修改它的存儲結(jié)構(gòu)參數(shù)。查看對象的下一擴展與表空間的最大擴展值sql>select,,fromall_tablesa,(selecttablespace_name,max(bytes)asbig_chunkfromdba_free_spacegroupbytablespace_name)fwhere=and>unionselect,,fromall_indexesa,(selecttablespace_name,max(bytes)asbig_chunkfromdba_free_spacegroupbytablespace_name)fwhere=and>;若是有記錄返回,那么說明這些對象的下一個擴展大于該對象所屬表空間的最大擴展值,需調(diào)整相應(yīng)表空間的存儲參數(shù)。查看數(shù)據(jù)庫平安性查看Oracle數(shù)據(jù)庫的平安性,包括:查看系統(tǒng)平安信息,按期修改密碼,總共兩個部份。查看系統(tǒng)平安日記信息系統(tǒng)平安日記文件的目錄在/var/log下,要緊查看登錄成功或失敗的用戶日記信息。查看登錄成功的日記:[root@rac2~]#grep-iaccepted/var/log/secure查看登錄失敗的日記:[root@rac2~]#grep-iinval/var/log/secure&&grep-ifailed/var/log/secure在顯現(xiàn)的日記信息中沒有錯誤(Invalid、refused)提示,若是沒有(Invalid、refused)視為系統(tǒng)正常,顯現(xiàn)錯誤提示,應(yīng)作出系統(tǒng)告警通知。查看用戶修改密碼在數(shù)據(jù)庫系統(tǒng)上往往存在很多的用戶,如:第三方數(shù)據(jù)庫監(jiān)控系統(tǒng),初始安裝數(shù)據(jù)庫時的演示用戶,治理員用戶等等,這些用戶的密碼往往是寫定的,被很多人明白,會被別有效心的人利用來解決系統(tǒng)乃至進行修改數(shù)據(jù)。需要修改密碼的用戶包括:數(shù)據(jù)庫治理員用戶SYS,SYSTEM;其他用戶。登岸系統(tǒng)后,提示符下輸入cat/etc/passwd,在列出來的用戶中查看是不是存在已經(jīng)再也不利用的或是陌生的帳號。假設(shè)存在,那么記錄為異樣。修改密碼方式:Sql>alteruserUSER_NAMEidentifiedbyPASSWORD;其他查看查看當前crontab任務(wù)是不是正常,查看OracleJob是不是有失敗等共六個部份。OracleJob是不是有失敗Sql>selectjob,what,last_date,next_date,failures,brokenfromdba_jobsWhereschema_user='CAIKE';如有問題建議重建job,如:execcommit;'REFRESH_ALL_SNAPSHOT;',SYSDATE+1/1440,'SYSDATE+4/1440');commit;監(jiān)控數(shù)據(jù)量的增加情形SQL>select2,(1-/*100used_percent3from(selecttablespace_name,sum(bytes)total4fromdba_free_spacegroupbytablespace_name)A,5(selecttablespace_name,sum(bytes)total6fromdba_data_filesgroupbytablespace_name)B7where=;依照本周天天的查看情形找到空間擴展專門快的數(shù)據(jù)庫對象,并采取相應(yīng)的方法:刪除歷史數(shù)據(jù)移動規(guī)定數(shù)據(jù)庫中至少保留6個月的歷史數(shù)據(jù),因此以前的歷史數(shù)據(jù)能夠考慮備份然后進行清除以便釋放其所占的資源空間。擴表空間altertablespace<tablespace_name>adddatafile‘<file>’size<size>autoextendoff;注意:在數(shù)據(jù)庫結(jié)構(gòu)發(fā)生轉(zhuǎn)變時,如增加了表空間,增加了數(shù)據(jù)文件或重做日記文件這些操作,都會造成Oracle數(shù)據(jù)庫操縱文件的轉(zhuǎn)變,DBA應(yīng)及進行操縱文件的備份,備份方式是:執(zhí)行SQL語句:alterdatabasebackupcontrolfileto'/home/backup/';或:alterdatabasebackupcontrolfiletotrace;如此,會在USER_DUMP_DEST(初始化參數(shù)文件中指定)目錄下生成創(chuàng)建操縱文件的SQL命令。查看無效的triggerSELECTowner,trigger_name,table_name,statusFROMdba_triggersWHEREstatus='DISABLED';如有失效觸發(fā)器那么啟用,如:Sql>alterTriggerTRIGGER_NAMEEnable;系統(tǒng)技術(shù)支持及預(yù)防性保護方案一個系統(tǒng)開發(fā)與實施的成功與否,專門大程度上取決于利用單位對該系統(tǒng)的利用情形,一個再好的系統(tǒng)若是沒有人利用,那么也不能說該系統(tǒng)是成功的,只能說它是失敗的。因此我公司尤其重視對利用單位的人員針對系統(tǒng)的利用培訓(xùn),并依照不同的利用權(quán)限及功能進行有針對性的培訓(xùn)效勞。售后效勞我公司設(shè)有專門的技術(shù)支持中心,為客戶提供快捷周到的效勞。技術(shù)支持中心有完善的售后效勞體系,包括支持、電子郵件、遠程網(wǎng)絡(luò)支持、現(xiàn)場響應(yīng)、緊急恢復(fù)等。可快速響應(yīng)各用戶的效勞請求,隨時為客戶提供優(yōu)質(zhì)的技術(shù)效勞。支持當系統(tǒng)發(fā)生問題時,用戶能夠從客服專線取得及時有效的24小時支持??蛻粜谌藛T做好客戶效勞需求的記錄,并向用戶明確效勞需求的解決方式、進程和最終的解決方法。我公司將提供終身7×24小時熱線支持。提供遠程效勞器接入、郵件和效勞支持?,F(xiàn)場效勞若是用戶的問題不能通過解決,客戶效勞部會立刻派體會豐碩的工程師到現(xiàn)場為用戶解決問題,客戶效勞人員對解決的進程進行記錄,并向用戶提供解決問題的報告.包括問題緣故、解決方式、解決問題的方式和進程,和建議用戶對系統(tǒng)進行正常利用的指導(dǎo)和培訓(xùn).問題解決后需要用戶進行確認。按期巡檢效勞依照招標文件的技術(shù)要求,我公司按期對系統(tǒng)進行運維巡檢效勞,并出具巡檢報告,發(fā)覺并預(yù)防可能產(chǎn)生的問題;巡檢完成后,于次月的5日前提交上月度的巡檢報告。巡檢內(nèi)容包括:系統(tǒng)日記、網(wǎng)絡(luò)狀況、系統(tǒng)空間狀況、存儲設(shè)備狀態(tài)、系統(tǒng)性能、產(chǎn)品參數(shù)與配置、數(shù)據(jù)庫各類文件的狀態(tài)與配置、數(shù)據(jù)庫平安審計、數(shù)據(jù)對象配置的合理性、實例的運行效率、SQL代碼性能調(diào)優(yōu)等。項目治理體系概述項目治理要緊包括治理組織、打算治理、質(zhì)量操縱、文檔治理、風(fēng)險治理及范圍操縱等部份內(nèi)容。治理組織系統(tǒng)的實施開發(fā)涉及大量的業(yè)務(wù)處置流程與用戶核心的治理理念與組織架構(gòu),必需取得各部門的通力合作,尤其是業(yè)務(wù)部門骨干的參與。因此建議進行二級項目治理。即:A:項目指導(dǎo)委員會 負責(zé)項目的組織、和諧和推行工作。 將委派相應(yīng)人員擔(dān)任方項目總和諧人。 建議客戶選派專人擔(dān)任用戶方項目總監(jiān),負責(zé)整個項目的實施。B:項目治理小組、項目領(lǐng)導(dǎo)項目領(lǐng)導(dǎo)全權(quán)負責(zé)項目治理,負責(zé)業(yè)務(wù)和技術(shù)方面的和諧。職責(zé)如下: 作出項目實施打算 安排資源,和諧項目組成員的工作 保證項目按規(guī)定的標準和質(zhì)量進行 按期提交項目進展情形報告、及時提出需要解決的問題 治理項目風(fēng)險 操縱項目預(yù)算 工作進度治理打算治理依照項目進度的要求,制定切實可行的工作打算,規(guī)定每一個成員的任務(wù),查看任務(wù)完成的情形和質(zhì)量,是保證項目順利實施的重要保證。工作打算治理應(yīng)包括以下幾點: 按周做出工作打算,并經(jīng)兩邊批準。 每周進行工作量統(tǒng)計,質(zhì)量查看,并由客戶簽字。 每周做出工作小結(jié),說明未完成緣故及改良建議。 工作分解到人。 項目領(lǐng)導(dǎo)應(yīng)隨時和諧每人的工作,幸免重復(fù)或脫節(jié)。質(zhì)量治理建議由兩邊項目領(lǐng)導(dǎo)對項目實施質(zhì)量進行操縱。包括: 工作質(zhì)量的審查與評定 工作質(zhì)量的測試 工作進程的操縱和資料的完整性 負責(zé)歸集客戶簽署的時期功效確認書質(zhì)量審查審查是以打算的內(nèi)容為基礎(chǔ),以目標和方式為依據(jù),對所用的各類技術(shù)工作進行描述,同時提交執(zhí)行文檔和軟件,所有提交審查的記錄將會作為項目審計線索被保留。測試治理一樣包括以下幾部份: 模塊測試:保證/驗證一個獨立模塊的功能。 系統(tǒng)測試:保證/驗證在此項目內(nèi)功能區(qū)之間的功能。 集成測試:保證/驗證在項目整個應(yīng)用區(qū)域內(nèi)的整體功能。 測試結(jié)果確認。在進行上述各類測試前,兩邊項目領(lǐng)導(dǎo)必需先擬定測試打算,確信測試數(shù)據(jù)和可同意的測試結(jié)果。文檔治理在項目實施進程中,由于項目實施的復(fù)雜性,多方人員參加和時刻跨度長等因素,因此任何需求、建議、解決方案和結(jié)論都必需文檔化、標準化,以便查閱和引用。實施文檔應(yīng)作為項目功效的一個組成部份。以下項目資料將在實施期間搜集:1. 各類設(shè)計,測試文檔。包括: 項目治理文檔 客戶化文檔和模塊開發(fā)文檔 客戶提交的需求文檔 客戶需求改變報告和批準書 測試方案和測試結(jié)果報告 客戶簽署的時期功效確認書 項目總結(jié)報告2. 成立需求變更表和日記3. 成立問題與風(fēng)險報表和日記4. 成立周時期工作總結(jié)報告5. 成立會議備忘錄和日記風(fēng)險治理1).用戶不能準確表達需求/用戶技術(shù)的限制在大型系統(tǒng)實施時,第一要對用戶現(xiàn)場的現(xiàn)狀及用戶需求做詳盡的描述。通常由于用戶人員對自己的業(yè)務(wù)明白得還在不斷的深化,因此往往在實施應(yīng)用系統(tǒng)時用戶對需求的描述會隨實在施的不斷深切而有所改變,造成系統(tǒng)需求的不穩(wěn)固。為幸免此風(fēng)險,可按以下方式實施:1. 第一時期:在其它項目上的體會的再利用2. 所擁有的資深專家在項目實施進程中,將技術(shù)教授給項目小組。3. 客戶項目小組的通力合作和大力支持。2).實施范圍的不斷擴大及項目延期通常在實施進程中,用戶會對項目開始時所提出的目標和要求有所轉(zhuǎn)變,造成實施范圍的不斷擴大和項目實施的延期,最終使項目擱淺。為幸免這種情形的發(fā)生,咱們應(yīng)該:1. 成立項目實施治理小組,明確項目的目標和各自的權(quán)限;處置項目實施的本錢,明確預(yù)算操縱。2. 配備體會豐碩的項目領(lǐng)導(dǎo)。3. 按期向項目的高層治理部門和用戶報告項目實施的進展及存在的問題。4. 操縱實施范圍的轉(zhuǎn)變──形成書面文檔、陳述更改緣故,待高層治理部門批準后方可實施更改。5. 成立當項目實施顯現(xiàn)問題時進行匯報和解決的標準工作流程。3).缺乏多廠商之間的彼此和諧和各廠商所負的責(zé)任不清1. 項目實施所涉及的廠商很多,包括硬件、數(shù)據(jù)庫、應(yīng)用軟件、第三方軟件、網(wǎng)絡(luò)或集成商等,在項目實施進程中需要多方和諧、通力合作,只有如此才能保證項目保質(zhì)保

溫馨提示

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

最新文檔

評論

0/150

提交評論