Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
SQL, PL/SQL, T-SQL: запросы, DML DDL операторы, пакеты, процедуры, функции, триггеры и последовательности.
  • Страница:
  • 1
  • 2

ТЕМА: Oracle: Трассировка SQL

Oracle: Трассировка SQL 24 июль 2011 05:40 #2886

  • Myk
  • Myk аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 44
  • Спасибо получено: 0
Привет!
Существует ли какая-нибудь утилита для просмотра SQL запросов в конкретной сессии? В MS SQL есть профайлер, который показывает текст запроса, кажеться план запроса (здавно пользовался, забыл) и всякие времена и прочие данные.

Может есть доморощенные программульки в исходниках?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Трассировка SQL 24 июль 2011 05:41 #2887

  • Gwen
  • Gwen аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 49
  • Спасибо получено: 0
Привет.
В DBArtisan`е это есть (я думаю, что не только в нем). Можно и руками, но там запросов много делать надо...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Трассировка SQL 24 июль 2011 05:50 #2888

  • Myk
  • Myk аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 44
  • Спасибо получено: 0
Эм... Привет
А еще что есть не подскажешь?? У меня нет SQL - у меня есть TOAD. А PL\SQL Developer может? Или нет?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Трассировка SQL 24 июль 2011 05:51 #2889

  • Gwen
  • Gwen аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 49
  • Спасибо получено: 0
Можно руками:
SELECT sql_text, username, disk_reads_per_exec, buffer_gets, disk_reads,

parse_calls, sorts, executions, rows_processed, hit_ratio, first_load_time,

sharable_mem, persistent_mem, runtime_mem, cpu_time, elapsed_time, address,

hash_value

FROM (SELECT sql_text, b.username, ROUND(( a.disk_reads / DECODE(a.executions, 0, 1, a.executions)), 2)

disk_reads_per_exec, a.disk_reads, a.buffer_gets, a.parse_calls,

a.sorts, a.executions, a.rows_processed, 100 - ROUND(100 * a.disk_reads / GREATEST(a.buffer_gets, 1), 2) hit_ratio,

a.first_load_time, sharable_mem, persistent_mem, runtime_mem,

cpu_time, elapsed_time, address, hash_value

FROM sys.v_$sqlarea a, sys.all_users b

WHERE a.parsing_user_id = b.user_id

AND b.username NOT IN ('SYS', 'SYSTEM'))

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: Трассировка SQL 24 июль 2011 05:55 #2890

  • Myk
  • Myk аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 44
  • Спасибо получено: 0
А как долго живет информация в этом виде - sys.v_$sqlarea? Зависит от загрузки сервера и его конфигурации надо полагать? А нельзя ли сливать данные по сессии в отдельную табличку? Может уже есть какая тулза? Я попробовал DBArtizan - "sql data not available" был его ответ. Не всегда, но часто ...

Как вообще народ смотрит сессии? Ведь как-то же смотрят? Профайлят?

Я в описании DBMS_TRACE видел ссылочку на файлик ,который создает таблицы для трассировки, но у меня этот файлик не нашелся. А таблиц с похожим назначением в SYS нету.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Myk.

Re: Oracle: Трассировка SQL 24 июль 2011 06:05 #2891

  • Doc
  • Doc аватар
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 68
  • Спасибо получено: 1
делаешь
sho parameter user_dump_dest

по указанному пути будут лежать файлы трассировки. разбирать их можно утилитой TKProf, а можно и так читать...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2