Biz Oracle 12c yükseltme sürecinde olan ve uygulama tarafından yürütülmektedir sorguları izlemek gerekir. Başka bir deyişle, uygulama ikiliden 'foobar' seçmek gibi bir sorgu yürütürse; Çıkış dosyasında "select 'foobar' çiftinden" metinini görmek istiyorum. Ben buradaki talimatları izlerseniznasıl Oracle 12c sql sorguları izlerim?
: https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#TGSQL809 Aşağıdaki ama gerçek sql sorguları gibi istatistikleri içeren dosyalar olsun. Böyle sorgu için bakarsak
WAIT #0: nam='rdbms ipc message' ela= 2999770 timeout=300 p2=0 p3=0 obj#=-1 tim=1103506389
WAIT #0: nam='rdbms ipc message' ela= 9854 timeout=1 p2=0 p3=0 obj#=-1 tim=1103522400
*** 2016-04-07 15:07:20.715
WAIT #0: nam='rdbms ipc message' ela= 2999585 timeout=300 p2=0 p3=0 obj#=-1 tim=1106522506
WAIT #0: nam='rdbms ipc message' ela= 9690 timeout=1 p2=0 p3=0 obj#=-1 tim=1106532500
Ben 0 sonuç almak: grep "filanca" --include = -rnw * trc ./
Ben mesela ... Ben sorunuzu anlamak emin değilim Bu sorguların ne sıklıkta yürütüldüğünden, uygulamadan ne tür sorgulamalar yapıldığı, bekleme sürelerinin ne olduğu, çalışma sürelerinin ne olduğu, yürütme planlarının ne olduğu, vb. Aşağıdaki görünümlerden ihtiyacınız olanı alabilirsiniz: v $ active_session_history, v $ sql ve v $ sql_plan –
Burada kullanım durumu: Veritabanına verilen her sorguyu görmek istiyorum. – John
O zaman kesin olarak bu bilgiyi v $ active_session_history külünden, v $ sql sql'den sql.sql_id = ash.sql_id order_ sample desc; ASH sadece birkaç saat bilgileri korur, ancak tutma iyileştirmek için gerekirse periyodik bir tarih tabloya sorguları atardım tavsiye edilebilir. –