tag:blogger.com,1999:blog-4063906708258638821.post3711349319499610505..comments2022-12-27T09:54:27.671-03:00Comments on El Blog de Leonardo Horikian: Explain Plan vs. Autotrace Explain PlanLeonardo Horikianhttp://www.blogger.com/profile/15192319884550377591noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-4063906708258638821.post-53046106897106507532012-02-13T22:34:50.389-03:002012-02-13T22:34:50.389-03:00Hola Carlos,
Podes utilizar "PL/SQL Profiler...Hola Carlos,<br /><br />Podes utilizar "PL/SQL Profiler". En versiones anteriores a 11g se ejecuta con el paquete DBMS_PROFILER y en 11g con el paquete DBMS_HPROF.<br /><br />Ejemplo en 10g:<br /><br />1) exec dbms_profiler.start_profiler('Ejemplo1');<br />2) Ejecutás un código PL/SQL (puede ser un paquete, procedimiento, función, etc).<br />3) exec dbms_profiler.stop_profiler;<br />4) exec dbms_profiler.flush_data;<br /><br />Para ver el RUNID de la ejecución actual, ejecutás la siguiente consulta:<br /><br />SELECT runid, run_date, run_comment, run_total_time<br />FROM plsql_profiler_runs<br />ORDER BY runid;<br /><br />Para ver el resultado de la ejecución del código PLSQL, ejecutás la siguiente consulta:<br /><br />SELECT u.runid, u.unit_number, u.unit_type, u.unit_owner, u.unit_name, d.line#, d.total_occur, d.total_time, d.min_time, d.max_time<br />FROM plsql_profiler_units u, plsql_profiler_data d <br />WHERE u.runid = &1<br /> AND u.runid = d.runid AND u.unit_number = d.unit_number<br />ORDER BY u.unit_number, d.line#;<br /><br /><br />SaludosLeonardo Horikianhttps://www.blogger.com/profile/15192319884550377591noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-6925767814093384482012-02-02T12:34:36.097-03:002012-02-02T12:34:36.097-03:00Hola,
Te pregunto existe alguna herramienta o mé...Hola, <br /><br />Te pregunto existe alguna herramienta o método para evaluar los costos de un programa pl/sql, así como lo es el explain plan en sql, si tienes algún ejemplo para mostrarlo te agradezco.<br /><br />Muchas graciasCarloshttps://www.blogger.com/profile/08452331366216272850noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-62051349814374332672010-08-25T20:09:39.042-03:002010-08-25T20:09:39.042-03:00Hola 1,
Coloqué accidentalmente una N de más en e...Hola 1,<br /><br />Coloqué accidentalmente una N de más en el procedimiento SET_ENV. La manera correcta es SET_EV.<br /><br />Prueba ejecutarlo de esta manera:<br /><br />EXEC SYS.DBMS_SYSTEM.SET_EV( 96 , 10299 , 10046 , 4 , NULL );<br /><br /><br />SaludosLeonardo Horikianhttps://www.blogger.com/profile/15192319884550377591noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-57548967876738577922010-08-25T20:05:08.446-03:002010-08-25T20:05:08.446-03:00Hola 1,
Para obtener las variables (bind variable...Hola 1,<br /><br />Para obtener las variables (bind variables) con la que ejecutaste las consultas, debes activar el trace en nivel 4 o 12.<br /><br /><br />-- Para activar el trace de una sesión logrando que capture las bind variables de las consultas ejecutadas:<br /><br />- Para sesiones remotas ...<br />EXEC SYS.DBMS_SYSTEM.SET_EV( SID , SERIAL# , 10046 , 4 , NULL );<br /><br />- Para la sesión actual ...<br />ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER,LEVEL 4';<br /><br /><br /><br />-- Para activar el trace de una sesión logrando que capture las bind variables y eventos de esperas de las consultas ejecutadas:<br /><br />- Para sesiones remotas ...<br />EXEC SYS.DBMS_SYSTEM.SET_EV( SID , SERIAL# , 10046 , 12 , NULL );<br /><br />- Para la sesión actual ...<br />ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER,LEVEL 12';<br /><br /><br />SaludoLeonardo Horikianhttps://www.blogger.com/profile/15192319884550377591noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-64608468244470228552010-08-25T19:04:41.804-03:002010-08-25T19:04:41.804-03:00Hola Leonardo. Muchas gracias por su explicación. ...Hola Leonardo. Muchas gracias por su explicación. Se me presenta un error al realizar lo siguiente:<br /><br />EXEC SYS.DBMS_SYSTEM.SET_ENV( 96 , 10299 , 10046 , 4 , NULL );<br /><br />El error es:<br /><br />ORA-06550: line 1, column 23:<br />PLS-00302: component 'SET_ENV' must be declared<br />ORA-06550: line 1, column 7:<br />PL/SQL: Statement ignored<br /><br />Lo estoy ejecutando desde TOAD. Parece ser algún tipo de privilegio, o no es así?Germánhttps://www.blogger.com/profile/04864645848608776952noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-829656844987141912010-08-20T17:02:02.251-03:002010-08-20T17:02:02.251-03:00Hola, yo si quiero saber como obtener los valores ...Hola, yo si quiero saber como obtener los valores de las variables en los planes de ejecución o en las trazas.<br /><br />Como el usuario llamado Manuel nunca pregunto de nuevo, ni Leonardo le respondió, me queda la duda de si es posible o no. Le agradecería me ayudara a resolver esta inquietud.<br /><br />Gracias.Germánhttps://www.blogger.com/profile/04864645848608776952noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-64289134124893040602008-07-15T11:46:00.000-03:002008-07-15T11:46:00.000-03:00Hola, en el siguiente link: http://www.oracle.com/...Hola, en el siguiente link: http://www.oracle.com/pls/db102/portal.portal_db?selected=4 tienes todos los manuales de 10g. Allí hay una sección que es "Performance".<BR/><BR/>SaludosLeonardo Horikianhttps://www.blogger.com/profile/15192319884550377591noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-8213911740523779192008-07-15T01:40:00.000-03:002008-07-15T01:40:00.000-03:00hola Leonardo, te escribo para ver si tú me puedes...hola Leonardo, te escribo para ver si tú me puedes ayudar. Loque pasa que estoy tomando un diplomado de Oracle 10g y pues me dejaron realizar una tesina aserca de optimización de consultas. Y no he encontrado todavia la información necesaria, crees poder ayudarme diciendome en donde puedo encontrar?, o tú me puedes aportar?, de atemano gracias por tu atención.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-50877986171812088662007-11-07T04:47:00.000-03:002007-11-07T04:47:00.000-03:00gracias mano me sirbio de mucho tu aporte es la 1:...gracias mano me sirbio de mucho tu aporte es la 1:46 de la mañana y no hallaba donde buscar lo del plan de ejecucion y lo encontre en tu blog gracia buen aportejasonhttps://www.blogger.com/profile/02236003934242415397noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-67839805382684473162007-09-26T16:21:00.000-03:002007-09-26T16:21:00.000-03:00Hola Manuel, lo que queres saber son los valores d...Hola Manuel, lo que queres saber son los valores de las variables que se estan utilizando las consultas?<BR/><BR/>Por ejemplo, si haces una consulta de este tipo:<BR/><BR/>SELECT * <BR/>FROM empleados<BR/>WHERE id = v_id ;<BR/><BR/>Vos queres que te muestre en el trace el valor de la variable v_id?<BR/><BR/>SaludosLeonardo Horikianhttps://www.blogger.com/profile/15192319884550377591noreply@blogger.comtag:blogger.com,1999:blog-4063906708258638821.post-22579309333839601902007-09-26T16:13:00.000-03:002007-09-26T16:13:00.000-03:00Tengo una consulta, espero me puedas dar una mano....Tengo una consulta, espero me puedas dar una mano.<BR/>Se me esta presentando el error 1722 al trabajar con una aplicacion.<BR/>Hice la traza de la siguiente forma BEGIN SYS.DBMS_SYSTEM.set_sql_trace_in_session(9, 30, TRUE);END;<BR/><BR/>Habrá forma de saber el valor de las variables que se muestran en la traza.<BR/><BR/>graciasManuel Sandovalhttps://www.blogger.com/profile/06899562459197030588noreply@blogger.com