Ich habe die folgende Abfrage geschrieben, um die letzte ausgeführte SQL-Anweisung in der Oracle-Datenbank für eine bestimmte Sitzung zu erhalten. Der SQL-Text enthält nicht den tatsächlichen Wert der Bindungsvariablen. Wie erhält man die Werte der Bindevariablen zusammen mit dem SQL-Text?Wie bekomme ich die zuletzt ausgeführte SQL-Anweisung und binde Variablenwerte in Oracle?
SELECT * FROM v$SQLTEXT_WITH_NEWLINES WHERE address =
(SELECT prev_sql_addr FROM v$session WHERE audsid = userenv('SESSIONID'))
ORDER BY piece;
Die späteren Versionen (10g und 11g) tun, um die Bindungsvariablen für spähen in V $ SQL_BIND_capture verwendet aufzeichnen. Aber das wird nur für die Optimierungsphase des Parse dieses SQL sein, nicht für jede Ausführung. –
@GaryMyers Könnten Sie eine Referenz dafür bereitstellen? – AHungerArtist