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

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

25.04.2024 9:50


13.09.2016 16:11
OlegON
 
Собственно, для начала необходимо узнать 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_CAPTUREDc.child_addressc.addressc.namec.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 last4 desc
Часовой пояс GMT +3, время: 09:50.

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