Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Oracle

Как посмотреть с какими bind-переменными выполнялся запрос : Oracle

31.01.2025 6:12


13.09.2016 16:11
Собственно, для начала необходимо узнать SQL_ID требуемого запроса. Либо вы видите его в средстве мониторинга, либо выковыриваете чем-то вроде
SQL код:
select sql_id,sql_text from v$sql where sql_text like '%A1.CLASS_ID = ''CL_ORG''%' 
после чего для того, чтобы получить bind-переменные по времени, выполняете следующий запрос
SQL код:
select sn.END_INTERVAL_TIME,sb.NAME,sb.VALUE_STRING 
from DBA_HIST_SQLBIND sb,DBA_HIST_SNAPSHOT sn 
where 
sb.sql_id='b8azj814j2v1c' and sb.WAS_CAPTURED='YES' 
and sn.snap_id=sb.snap_id order by sb.snap_id,sb.NAME; 
вариант
SQL код:
select c.LAST_CAPTURED, c.child_address, c.address, c.name, c.DATATYPE_STRING,
DECODE(c.WAS_CAPTURED, 'YES', c.value_string, '['||c.value_string||']:NOT_CAPTURED') bind_var
from v$sql a,
v$sql_bind_capture c
where c.child_address=a.child_address
and c.hash_value = a.HASH_VALUE
and a.SQL_ID = 'b8azj814j2v1c'
order by 1 desc nulls last, 4 desc; 
Часовой пояс GMT +3, время: 06:12.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.