Oracle SQL - база данных трассировки - PullRequest
0 голосов
/ 05 июля 2018

Я из мира Microsoft SQL, поэтому я знаком с использованием профилировщика SQL-сервера и sp_whoisactive. Сейчас я нахожусь в сценарии, где я работаю с приложением с СУБД Oracle.

Я хочу иметь возможность включить трассировку, перейти и щелкнуть приложение, а затем остановить трассировку и посмотреть, что происходит на уровне базы данных. то есть что выполняет SQL

По результатам поиска я вижу, что могу использовать браузер сеансов в TOAD, но я получаю сообщение об ошибке (необходимо объявить SYS.DBMS_SYSTEM). Я знаю, что могу исправить это согласие на http://technopark02.blogspot.com/2012/03/resolving-pls-00201-identifier.html

Но я не хочу вносить эти изменения в систему.

Есть ли способ, которым я могу выполнить что-то вроде этого запроса, чтобы выполнить рекурсивно (найден на стеке обмена) и заставить его записать во временную таблицу или файл.

    SELECT sess.sid,
       sess.username,
       sqla.optimizer_mode,
       sqla.hash_value,
       sqla.address,
       sqla.cpu_time,
       sqla.elapsed_time,
       sqla.sql_text
    FROM v$sqlarea sqla, v$session sess
    WHERE sess.sql_hash_value = sqla.hash_value
    AND sess.sql_address = sqla.address
   AND sess.SID = 'SESSIONID'  

В общем, я хотел бы иметь возможность выполнять трассировку без внесения изменений в систему. может быть что-то вроде sp_whoisactive (по механике Адама для SQL Server) записи в файл или таблицу и т. д.

У кого-нибудь есть идеи

...