2017-01-26 3 views
-1

Problème simple: J'ai une requête (complexe) qui semble être lente pour des paramètres spécifiques. Je veux savoir quels sont ces paramètres.Comment capturer les paramètres liés et le timing dans Oracle

Y a-t-il des traces que je peux activer dans Oracle (12), ce qui me le permet. Je cherche une sorte de liste (pour sql_id donné) qui énumérerait les exécutions + params liés + temps d'exécution.

Merci!

Répondre

1

Le moyen le plus efficace de déboguer les performances d'une instruction SQL consiste à obtenir un rapport de surveillance SQL. Vous pouvez l'obtenir à partir de Enterprise Manager (EM). Si vous ne disposez pas d'EM, vous pouvez générer un rapport moniteur SQL via SQLPlus:

set trimspool on 
set trim on 
set pages 0 
set linesize 1000 
set long 1000000 
set longchunksize 1000000 
spool sqlmon_active.html 
select dbms_sqltune.report_sql_monitor(type=>'active') from dual; 
spool off 

Vous pouvez augmenter ce passer aussi dans le SQLID.

Le fichier html résultant peut être visualisé dans un navigateur.

Ce fichier html va vous montrer une grande quantité d'informations. Plan d'exécution, cardinalités estimées et réelles, lier des valeurs variables, décomposition du temps, attentes. etc.

Pour plus d'informations (si un peu daté), jetez un oeil à: http://www.oracle.com/technetwork/database/manageability/sqlmonitor-084401.html

+0

Merci! Je vais essayer! – Michal123456