




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
OraclePerformanceDiagnostics&Tuning
RicardoPortilhoProni
OraclePerformanceDiagnosticsMitifica??oMitifica??oMétodosantigosExperiênciaIntui??oImprecis?oTempoSorteRecursosMétodosantigosExperiênciaTopTuningVerificarmaiorconsumidordeCPUVerificaroSQLagressorAlteraroSQLeesperarqueodesempenhomelhoreAdicionaríndiceseesperarqueodesempenhomelhoreSen?omelhorar,matarasess?oSeodesempenhon?omelhorar,voltaraoinícioTopTuningVerificarmaiorconsChecklistTuningVerificarSistemaOperacionalVerificarSGAePGAVerificarcoletadeestatísticasefragmenta??oVerificarparametrosdoOracleVerificarLOCKsVerificarSQLsqueconsomemmaisrecursos…ConstruirumateoriabaseadanosdadosobservadosAlteraralgoeesperarqueodesempenhomelhoreSeoclienten?ogostardateoria,apenasciteealterealgunsparametrosrelacionadosSeodesempenhon?omelhorar,voltaraoinícioChecklistTuningVerificarSistRatiosTuningVerificarBufferCacheHitRatioVerificarDataDictionaryHitRatioVerificarSQLCacheHitRatioVerificarLibraryCacheHitRatio…ConstruirumateoriabaseadanosdadosobservadosAlteraralgo(geralmenteaumentar)eesperarqueodesempenhomelhoreSeodesempenhon?omelhorar,voltaraoinícioRatiosTuningVerificarBufferKIWITuningKIWI=KillItWithIronAdicionarMemóriaRAMAdicionarCPUsMelhoraroI/OMigrarparaumServidormaiorMigrarparaRACAdicionarNósnoRAC…Pagaraconta,eesperarqueodesempenhomelhoreSeodesempenhon?omelhorar,voltaraoinícioKIWITuningKIWI=KillItWithManagerTuningMigrarBancoparaoutroservidorExecutarUpgradedeBancodeDadosExecutarUpgradedaAplica??oExecutarUpgradedoApplicationServerJuntarAplica??oeBancodeDadosSepararAplica??oeBancodeDadosMudaroApplicationServerVoltarBackups…Seodesempenhon?omelhorar,tentaroutracoisa,atémelhorarManagerTuningMigrarBancoparOqueestáerrado?Oqueestáerrado?ParadigmaParadigmaOcarroeoleiteSeufilholeva2horasparacomprarleitenapadaria,decarro.Comomelhorarestetempo?énecessárioumcarromaisrápido?S?onecessáriosdoiscarros?énecessáriotornaraestradamaislarga?émelhorsócomprar1litrodeleitedecadavez?Deve-seutilizarumapadariaquesótenha1tipodeleite?Aportadagaragemdeveestarsempreaberta?OcarroeoleiteSeufilholevOchefeeoatrasoOchefeeoatrasoResultadosResultadosOmétodocorretoOmétodocorretoOTempoOTempoR=S+WResponseTime=ServiceTime+WaitTimeR=S+WInstrumenta??oInstrumenta??oInstrumenta??oInstrumenta??oOracleWaitInterfaceOracleWaitInterfaceNascimentodaOWIBenchmark7.0.12:JuanLoaizaYAPPPaper:AnjoKolkNascimentodaOWIBenchmark7.0Evolu??odaOWIVers?o7.0.12:104WaitEventsVers?o8:140WaitEventsVers?o8i:220WaitEventsVers?o9i:400WaitsEventsVers?o10gR1:>800WaitEventsVers?o11gR2:>1100WaitEventsEvolu??odaOWIVers?o7.0.12:WaitEventsmaiscomunsbufferbusycontrolfileparallelwritedbfileparallelreaddbfileparallelwritedbfilescattereadreaddbfilesequentialreaddbfilesinglewritedirectpathreaddirectpathwriteenqueuefreebufferlatchfreelibrarycachepinlibrarycachelocklogbufferspacelogfilesequentialreadlogfileswitch(archivingneeded)logfileswitch(checkpointincomplete)logfileswitchcompletionlogfilesyncSQL*NetmesagefromclientSQL*NetmessagetoclientWaitEventsmaiscomunsbufferEnterpriseManagerEnterpriseManagerExemplodeWaitEventdbfilescatteredreadP1:FilenumberP2:StartingblockP3:NumberofblocksExplica??o:duranteFullTableScan,aleituradoDatafileesperapelomecanismodeI/O.Causas:DB_CACHE_SIZEinsuficiente,FullTableScanincorretooudesnecessário,I/Oineficiente(RAID5?).Corre??o:AumenteoDB_CACHE_SIZE;ElimineoFullTableScan;OtimizeoDB_FILE_MULTIBLOCK_READ_COUNTparaseuI/O;MelhoreomecanismodeI/O.ExemplodeWaitEventdbfilesExemplodeWaitEventlogfileswitchcompletionP1:NotusedP2:NotusedP3:NotusedExplica??o:todososgruposdeRedoLogsforamutilizadoseaindas?onecessáriosparaumeventualRecover,poisoDBWRaindan?ogravouosblocosalteradosnosDatafiles.Causas:
RedoLogssub-dimensionadosparaagrava??ocorrente,DB_CACHE_SIZEinsuficiente,I/Oineficiente.Corre??o:
AumentarosRedoLogsemquantidadee/outamanho;AumenteoDB_CACHE_SIZE;MelhoreomecanismodeI/O.ExemplodeWaitEventlogfileGranularidadesdeAnáliseSQLStatementSessionInstanceGranularidadesdeAnáliseSQLSFerramentasdeAnáliseDynamicPerformanceViewsExtendedSQLTrace(Event10046)Statspack/AWRFerramentasdeAnáliseDynamicOWIDynamicPerformanceViewsV$SYSTEM_EVENTV$SESSION_EVENTV$SESSION_WAITOWIDynamicPerformanceViewsVCenáriosdeAnáliseOBancodeDadosestálentoagoraOBancodeDadosestavalentoontemEsteSQLestálentoCenáriosdeAnáliseOBancodeOBancodeDadosestálentoEncontrarindíciosdogargalonaV$SYSTEM_EVENTVerificarosmaioresgargalosnaV$SESSION_EVENTVerificarosmaioresgargalosnaV$SESSION_WAIT,repetidamenteEncontraroSIDofensornaV$SESSION_WAITEncontraromaiorWaitEventdesteSIDnaV$SESSION_EVENTCorrigiromaiorWaitEventpossívelSeotempoestasatisfatório,finalizaraanáliseOBancodeDadosestálentoEncOBancodeDadosestálentoSQL>CREATETABLET2ASSELECT*FROMT;Tablecreated.SQL>SELECTEVENT,TIME_WAITEDFROMV$SESSION_EVENTWHERESID=184ORDERBYTIME_WAITEDDESC;EVENTTIME_WAITED-------------------------------------------------------------SQL*Netmessagefromclient96602directpathread8403logbufferspace7337directpathwrite2698logfileswitch(checkpointincomplete)1037logfileswitchcompletion396bufferbusywaits346logfileswitch(privatestrandflushincomplete)218Datafileinitwrite61…OBancodeDadosestálentoSQLOBancodeDadosestavalentoEncontrarindíciosdogargalonaV$SYSTEM_EVENTEncontraromaiorWaitEventviaStatspack/AWRCorrigiromaiorWaitEventpossívelSeotempoestasatisfatório,finalizaraanáliseOBancodeDadosestavalentoEEsteSQLestálentoExecutarocomandoSQLcomExtendedSQLTraceEncontraromaiorWaitEventviatkprofCorrigiromaiorWaitEventpossívelSeotempoestasatisfatório,finalizaraanáliseEsteSQLestálentoExecutaroEsteSQLestálento***2010-03-2211:43:12.276WAIT#9:nam='dbfilescatteredread'ela=183330file#=4block#=9124blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=2528file#=4block#=9150blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=170358file#=4block#=9176blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=96261file#=4block#=9202blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=1669file#=4block#=9228blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=26055file#=4block#=9254blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=4760file#=4block#=9280blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=108783file#=4block#=9306blocks=26obj#=74574tim=1269268992840594=====================EsteSQLestálento***2010-03Limita??esOWI:ViewsN?oéummonitoramentoEnd-to-EndSemdadosdeconsumodeCPUSemdadosdeconsumodeMemóriaSemhistóricoBugsImprecis?esLimita??esOWI:ViewsN?oéumLimita??esOWI:ExtendedTraceMuitosdadosAltíssimagranularidadeDesempenhoCorrela??odeinforma??esBugsImprecis?esSess?esPARALLELSess?esSHAREDSERVERWaitssódisponíveisem>=9iR1Suporteoficialsóem>10gR1Limita??esOWI:ExtendedTraceLimita??esOWI:Statspack/AWRBaixagranularidadeLimita??esOWI:Statspack/AWMinhaabordagememTuningPerformancedeSistemasComputacionaissópodesermedidaemTEMPO.PerformanceTuningdeveserreativa.PerformanceTuningdeveterROI.Apenasosmaioresgargalosdevemsersolucionados.OprocessodeveserDiagnostics,edepoisTuning.AltoconsumodeCPUn?oéumproblema.Ousuárion?oexecutaumSQLporprazer.Odesenvolvedorn?odeveriasabercomofazerumbomSQL(COBOL?).FerramentasGráficas/EnterpriseManager/Wizards/Automa??os?obonsauxiliares.MinhaabordagememTuningPerfoMinhaabordagememTuningBancoscombomdesempenhodevemserobservados.N?oacrediteemnada(separartabelaseíndices?).Teste.SehouvesseumparametroquesempredeixasseoOraclemaisrápido,semnenhumefeitocolateral,elejáviriahabilitado.Desenvolvaummétododeconvencimentogerencial.Poralgochamar-seStorage,n?oquerdizerqueelen?otenhaproblemas.KISS(KeepItSimple,Stupid):aprobabilidadedefalhacrescelinearmentecomoaumentodecomplexidade.Conhe?aoutrosRDBMSs:TIn?oélugarparapaix?es.MinhaabordagememTuningBancoPerguntas?Blog:.brEmail:ricardo@.brTwitter:/rportilhoproniPerguntas?OraclePerformanceDiagnostics&Tuning
RicardoPortilhoProni
OraclePerformanceDiagnosticsMitifica??oMitifica??oMétodosantigosExperiênciaIntui??oImprecis?oTempoSorteRecursosMétodosantigosExperiênciaTopTuningVerificarmaiorconsumidordeCPUVerificaroSQLagressorAlteraroSQLeesperarqueodesempenhomelhoreAdicionaríndiceseesperarqueodesempenhomelhoreSen?omelhorar,matarasess?oSeodesempenhon?omelhorar,voltaraoinícioTopTuningVerificarmaiorconsChecklistTuningVerificarSistemaOperacionalVerificarSGAePGAVerificarcoletadeestatísticasefragmenta??oVerificarparametrosdoOracleVerificarLOCKsVerificarSQLsqueconsomemmaisrecursos…ConstruirumateoriabaseadanosdadosobservadosAlteraralgoeesperarqueodesempenhomelhoreSeoclienten?ogostardateoria,apenasciteealterealgunsparametrosrelacionadosSeodesempenhon?omelhorar,voltaraoinícioChecklistTuningVerificarSistRatiosTuningVerificarBufferCacheHitRatioVerificarDataDictionaryHitRatioVerificarSQLCacheHitRatioVerificarLibraryCacheHitRatio…ConstruirumateoriabaseadanosdadosobservadosAlteraralgo(geralmenteaumentar)eesperarqueodesempenhomelhoreSeodesempenhon?omelhorar,voltaraoinícioRatiosTuningVerificarBufferKIWITuningKIWI=KillItWithIronAdicionarMemóriaRAMAdicionarCPUsMelhoraroI/OMigrarparaumServidormaiorMigrarparaRACAdicionarNósnoRAC…Pagaraconta,eesperarqueodesempenhomelhoreSeodesempenhon?omelhorar,voltaraoinícioKIWITuningKIWI=KillItWithManagerTuningMigrarBancoparaoutroservidorExecutarUpgradedeBancodeDadosExecutarUpgradedaAplica??oExecutarUpgradedoApplicationServerJuntarAplica??oeBancodeDadosSepararAplica??oeBancodeDadosMudaroApplicationServerVoltarBackups…Seodesempenhon?omelhorar,tentaroutracoisa,atémelhorarManagerTuningMigrarBancoparOqueestáerrado?Oqueestáerrado?ParadigmaParadigmaOcarroeoleiteSeufilholeva2horasparacomprarleitenapadaria,decarro.Comomelhorarestetempo?énecessárioumcarromaisrápido?S?onecessáriosdoiscarros?énecessáriotornaraestradamaislarga?émelhorsócomprar1litrodeleitedecadavez?Deve-seutilizarumapadariaquesótenha1tipodeleite?Aportadagaragemdeveestarsempreaberta?OcarroeoleiteSeufilholevOchefeeoatrasoOchefeeoatrasoResultadosResultadosOmétodocorretoOmétodocorretoOTempoOTempoR=S+WResponseTime=ServiceTime+WaitTimeR=S+WInstrumenta??oInstrumenta??oInstrumenta??oInstrumenta??oOracleWaitInterfaceOracleWaitInterfaceNascimentodaOWIBenchmark7.0.12:JuanLoaizaYAPPPaper:AnjoKolkNascimentodaOWIBenchmark7.0Evolu??odaOWIVers?o7.0.12:104WaitEventsVers?o8:140WaitEventsVers?o8i:220WaitEventsVers?o9i:400WaitsEventsVers?o10gR1:>800WaitEventsVers?o11gR2:>1100WaitEventsEvolu??odaOWIVers?o7.0.12:WaitEventsmaiscomunsbufferbusycontrolfileparallelwritedbfileparallelreaddbfileparallelwritedbfilescattereadreaddbfilesequentialreaddbfilesinglewritedirectpathreaddirectpathwriteenqueuefreebufferlatchfreelibrarycachepinlibrarycachelocklogbufferspacelogfilesequentialreadlogfileswitch(archivingneeded)logfileswitch(checkpointincomplete)logfileswitchcompletionlogfilesyncSQL*NetmesagefromclientSQL*NetmessagetoclientWaitEventsmaiscomunsbufferEnterpriseManagerEnterpriseManagerExemplodeWaitEventdbfilescatteredreadP1:FilenumberP2:StartingblockP3:NumberofblocksExplica??o:duranteFullTableScan,aleituradoDatafileesperapelomecanismodeI/O.Causas:DB_CACHE_SIZEinsuficiente,FullTableScanincorretooudesnecessário,I/Oineficiente(RAID5?).Corre??o:AumenteoDB_CACHE_SIZE;ElimineoFullTableScan;OtimizeoDB_FILE_MULTIBLOCK_READ_COUNTparaseuI/O;MelhoreomecanismodeI/O.ExemplodeWaitEventdbfilesExemplodeWaitEventlogfileswitchcompletionP1:NotusedP2:NotusedP3:NotusedExplica??o:todososgruposdeRedoLogsforamutilizadoseaindas?onecessáriosparaumeventualRecover,poisoDBWRaindan?ogravouosblocosalteradosnosDatafiles.Causas:
RedoLogssub-dimensionadosparaagrava??ocorrente,DB_CACHE_SIZEinsuficiente,I/Oineficiente.Corre??o:
AumentarosRedoLogsemquantidadee/outamanho;AumenteoDB_CACHE_SIZE;MelhoreomecanismodeI/O.ExemplodeWaitEventlogfileGranularidadesdeAnáliseSQLStatementSessionInstanceGranularidadesdeAnáliseSQLSFerramentasdeAnáliseDynamicPerformanceViewsExtendedSQLTrace(Event10046)Statspack/AWRFerramentasdeAnáliseDynamicOWIDynamicPerformanceViewsV$SYSTEM_EVENTV$SESSION_EVENTV$SESSION_WAITOWIDynamicPerformanceViewsVCenáriosdeAnáliseOBancodeDadosestálentoagoraOBancodeDadosestavalentoontemEsteSQLestálentoCenáriosdeAnáliseOBancodeOBancodeDadosestálentoEncontrarindíciosdogargalonaV$SYSTEM_EVENTVerificarosmaioresgargalosnaV$SESSION_EVENTVerificarosmaioresgargalosnaV$SESSION_WAIT,repetidamenteEncontraroSIDofensornaV$SESSION_WAITEncontraromaiorWaitEventdesteSIDnaV$SESSION_EVENTCorrigiromaiorWaitEventpossívelSeotempoestasatisfatório,finalizaraanáliseOBancodeDadosestálentoEncOBancodeDadosestálentoSQL>CREATETABLET2ASSELECT*FROMT;Tablecreated.SQL>SELECTEVENT,TIME_WAITEDFROMV$SESSION_EVENTWHERESID=184ORDERBYTIME_WAITEDDESC;EVENTTIME_WAITED-------------------------------------------------------------SQL*Netmessagefromclient96602directpathread8403logbufferspace7337directpathwrite2698logfileswitch(checkpointincomplete)1037logfileswitchcompletion396bufferbusywaits346logfileswitch(privatestrandflushincomplete)218Datafileinitwrite61…OBancodeDadosestálentoSQLOBancodeDadosestavalentoEncontrarindíciosdogargalonaV$SYSTEM_EVENTEncontraromaiorWaitEventviaStatspack/AWRCorrigiromaiorWaitEventpossívelSeotempoestasatisfatório,finalizaraanáliseOBancodeDadosestavalentoEEsteSQLestálentoExecutarocomandoSQLcomExtendedSQLTraceEncontraromaiorWaitEventviatkprofCorrigiromaiorWaitEventpossívelSeotempoestasatisfatório,finalizaraanáliseEsteSQLestálentoExecutaroEsteSQLestálento***2010-03-2211:43:12.276WAIT#9:nam='dbfilescatteredread'ela=183330file#=4block#=9124blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=2528file#=4block#=9150blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=170358file#=4block#=9176blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=96261file#=4block#=9202blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=1669file#=4block#=9228blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=26055file#=4block#=9254blocks=26obj#=74574WAIT#9:nam='dbfilescatteredread'ela=4760file#=4block
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)鎮(zhèn)學(xué)校封閉管理制度
- 伊利公司員工管理制度
- 鄉(xiāng)鎮(zhèn)生態(tài)文明管理制度
- 鄉(xiāng)鎮(zhèn)項(xiàng)目實(shí)施管理制度
- 企業(yè)失信人員管理制度
- 產(chǎn)品技術(shù)變更管理制度
- 業(yè)務(wù)能力培訓(xùn)管理制度
- 企業(yè)衛(wèi)生服務(wù)管理制度
- 鄉(xiāng)鎮(zhèn)建設(shè)用地管理制度
- 臨床醫(yī)生壓力管理制度
- 2023年南京市衛(wèi)健委所屬部分事業(yè)單位招聘考試試題及答案
- 安徽省合肥市2023-2024學(xué)年七年級(jí)下學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 《管理會(huì)計(jì)》說課及試講
- 二手農(nóng)機(jī)買賣合同協(xié)議書
- 2024年大學(xué)試題(宗教學(xué))-伊斯蘭教文化筆試考試歷年典型考題及考點(diǎn)含含答案
- 植筋、界面處理檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 機(jī)床安全 壓力機(jī) 第 2 部分:機(jī)械壓力機(jī)安全要求
- 住院醫(yī)師規(guī)范化培訓(xùn)臨床小講課的設(shè)計(jì)與實(shí)施培訓(xùn)課件
- 多圖中華民族共同體概論課件第十三講先鋒隊(duì)與中華民族獨(dú)立解放(1919-1949)根據(jù)高等教育出版社教材制作
- JJF 1101-2019 環(huán)境試驗(yàn)設(shè)備溫度、濕度參數(shù)校準(zhǔn)規(guī)范
- 2024年陜西省政工師理論知識(shí)考試參考題庫(含答案)
評(píng)論
0/150
提交評(píng)論