版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OraclePerformanceDiagnostics&Tuning
RicardoPortilhoProni
OraclePerformanceDiagnosticsMitificaçãoMitificaçãoMétodosantigosExperiênciaIntuiçãoImprecisãoTempoSorteRecursosMétodosantigosExperiênciaTopTuningVerificarmaiorconsumidordeCPUVerificaroSQLagressorAlteraroSQLeesperarqueodesempenhomelhoreAdicionaríndiceseesperarqueodesempenhomelhoreSenãomelhorar,matarasessãoSeodesempenhonãomelhorar,voltaraoinícioTopTuningVerificarmaiorconsChecklistTuningVerificarSistemaOperacionalVerificarSGAePGAVerificarcoletadeestatísticasefragmentaçãoVerificarparâmetrosdoOracleVerificarLOCKsVerificarSQLsqueconsomemmaisrecursos…ConstruirumateoriabaseadanosdadosobservadosAlteraralgoeesperarqueodesempenhomelhoreSeoclientenãogostardateoria,apenasciteealterealgunsparâmetrosrelacionadosSeodesempenhonã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.SehouvesseumparâmetroquesempredeixasseoOraclemaisrá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çãoVerificarparâmetrosdoOracleVerificarLOCKsVerificarSQLsqueconsomemmaisrecursos…ConstruirumateoriabaseadanosdadosobservadosAlteraralgoeesperarqueodesempenhomelhoreSeoclientenãogostardateoria,apenasciteealterealgunsparâmetrosrelacionadosSeodesempenhonã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等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计划生育药具知识竞赛考试试题及答案
- 物业服务质量考核制度
- 2025年上海师范大学单招职业倾向性测试题库带答案解析
- 2025年广西安全工程职业技术学院单招综合素质考试题库带答案解析
- 2024年西安飞机工业公司职工工学院马克思主义基本原理概论期末考试题附答案解析(必刷)
- 2025年沾化县幼儿园教师招教考试备考题库附答案解析
- 2024年钟山职业技术学院马克思主义基本原理概论期末考试题及答案解析(夺冠)
- 2025年淮北职业技术学院马克思主义基本原理概论期末考试模拟题附答案解析(夺冠)
- 2024年重庆安防职业学院马克思主义基本原理概论期末考试题及答案解析(必刷)
- 2025年无为县招教考试备考题库附答案解析
- 2026年湖南现代物流职业技术学院单招职业技能考试题库含答案
- 小学阶段关联词重点归纳
- 华住协议书酒店
- 高标准农田建设工程质量专项整治技术手册
- 海关面试题目解析及答案
- 2025年江西省农村(社区)“多员合一岗”工作人员招聘考试历年参考题库含答案详解(5套)
- (高清版)DB44∕T 1075-2012 《蒸压陶粒混凝土墙板》
- 体育场馆方案汇报
- 2025中国西电集团校园招聘笔试历年参考题库附带答案详解
- 2025年苏州市中考物理试卷真题(含答案)
- 变电站综合自动化课件 二次回路识图
评论
0/150
提交评论