Comment puis-je ouvrir une session/suivi de l'Oracle des appels de procédures stockées avec les valeurs de paramètre?
Nous sommes à la recherche d'un moyen pour se connecter à l'appel de procédures stockées dans Oracle, et voir ce que les valeurs des paramètres ont été utilisés pour l'appel.
Nous sommes à l'utilisation d'Oracle 10.2.0.1
Nous pouvons nous connecter SQL et voir les variables liées, mais lorsque nous suivons des procédures stockées, nous voyons lier les variables B1, B2, etc. mais pas de valeurs.
Nous aimerions voir le même type de renseignements que nous avons vu dans MS SQL Server Profiler.
Merci pour toute aide
OriginalL'auteur Clyde | 2008-10-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez prendre un coup d'oeil à la DBMS_APPLICATION_INFO paquet. Cela permet à un "instrument" de votre code PL/SQL avec toutes les informations que vous voulez - mais cela suppose l'ajout d'appels pour chaque procédure d'être instrumenté.
Voir aussi cette AskTom fil sur l'utilisation de DBMS_APPLICATION_INFO pour surveiller PL/SQL.
OriginalL'auteur Tony Andrews
Je pense que vous êtes en utilisant le mot "journal" dans une étrange manière.
Avez-vous vraiment dire que vous pouvez suivre les instructions sql avec bind variables? Tony réponse est dirigé vers la capacité à CONNECTER ce que vous faites. C'est toujours supérieure à tracer, car vous seul savez ce qui est important pour vous. Peut-être l'exécution de vos processus dépend fortement de l'interrogation d'une valeur à partir d'une table. Depuis que les changements de la valeur et ce n'est pas transmise en tant que paramètre, vous risquez de perdre que de l'information.
Mais si vous avez réellement JOURNAL de ce que vous faites, vous pouvez inclure cette valeur dans votre Journal de table et vous saurez non seulement les variables que vous avez passé, mais que la valeur de la clé.
alter system set événements "10046 trace du nom de contexte pour toujours, niveau 12'; Est que ce que vous utilisez?
OriginalL'auteur
Oui, je pense que je devrais avoir utilisé le terme "trace"
Je vais essayer de décrire ce que nous avons fait:
À l'aide de l'enterprise manager (dbo) nous sommes allés à une session, et a commencé une trace
début de trace
Permettre d'attendre info, lier info
Exécuter une opération sur notre application qui frappe le DB
Finition de la trace, de l'exécuter sur la sortie:
de tkprof .rpc output2.txt sys=pas de record=record.txt expliquer=dbo@DBINST/PW
Ce que nous sommes désireux de voir est la, "ces procédures ont été appelés avec ces paramètres" Ce que nous obtenons est:
De sorte que l'on peut suivre les procédures qui ont été appelés, mais nous n'avons pas les valeurs de paramètre, juste l' :v0, etc.
Ma compréhension est que ce que nous avons fait, c'est le même que l'alter système de déclaration, mais s'il vous plaît laissez-nous savoir si ce n'est pas le cas.
Grâce
OriginalL'auteur Clyde
êtes-vous à l'aide de 10g
laissez vous tenter avec cette
exec dbms_monitor.session_trace_enable(session_id=>xxx, serial_num=>xx, attend=>true, se lie=>true);
vous pouvez obtenir session_id=SID & serial_num=n ° de SÉRIE à partir de v$session
OriginalL'auteur