Oracle SQL története

Szerző: Robert Simon
A Teremtés Dátuma: 16 Június 2021
Frissítés Dátuma: 21 November 2024
Anonim
Oracle SQL története - Cikkek
Oracle SQL története - Cikkek

Tartalom

Mivel az Oracle a mintákat összegyűjti és az összes aktív munkamenetet írja az adatbázisba, az egyszerű lekérdezés lehetővé teszi az SQL utasítástörténet lekérését egy adott időszakra.


Az Oracle történelmi SQL-adatokat ír be a v $ active_session_history könyvtárba (laptop adatbázis adatbázissal 15,4 "széles képernyős képpel .shock-tól a Fotolia.com-tól)

fontosság

Az Oracle automatikusan összegyűjti az adatbázisban futó összes munkamenet mintáját másodpercenként, és adatokat tárol az SQL történetéből a v $ active_session_history adatszótár nézetben. Ez egy körkörös puffer, így amikor az teljessé válik, az Oracle automatikusan eltárolja az adatait a dba_hist_active_sess_history adat szótárban.

függvény

A két nézet lekérdezésével az adatbázis egy bizonyos idő alatt végrehajtott SQL utasításainak történetét kaphatja meg. A következő lekérdezés például a 2010. szeptember 30-án 9: 00-tól 9: 05-ig végrehajtott SQL utasítások első 4000 karakterének listáját adja vissza:


válassza a a.sql_id, dbms_lob.substr (b.sql_text, 4000,1) parancsot a dba_hist_active_sess_history a, dba_hist_sqltext b címen

ahol minta_idő a to_date ('20100930: 09: 00', 'yyyymmdd: hh24: mi') között

és to_date ('20100930: 09: 01', 'yyyymmdd: hh24: mi') és b.sql_id = a.sql_id

unió minden

válassza a a.sql_id, dbms_lob.substr (b.sql_text, 4000,1) elemet a v $ active_session_history a, v $ sqlarea b

ahol minta_idő a to_date között ('20100930: 09: 00', 'yyyymmdd: hh24: mi') és

to_date ('20100930: 09: 01', 'yyyymmdd: hh24: mi') és b.sql_id = a.sql_id

megfontolások

Ezen túlmenően az Oracle óránkénti végrehajtási statisztikákat állít elő az SQL utasításokhoz az automatikus munkaterhelés-tárolójában. Láthatjuk, hogy mely SQL utasítások igényelnek több erőforrást egy adott időpontban a dba_hist_sqlstat és a dba_hist_snapshot adatszótár nézetek lekérdezésével.


hatások

Például a következő lekérdezés a CPU idő, az eltelt idő, az io_wait idő és a lemez elérések száma mellett 9 és 10 óra között végrehajtott SQL utasítások listáját adja vissza. A kimenet CPU-idő szerint van rendezve.

válassza a a.sql_id, dbms_lob.substr (b.sql_text, 1000,1), cpu_time_delta, eltelt_idő_delta, iowait_delta, disk_reads_delta fájlt a dba_hist_sqlstat a, dba_hist_sqltext b, ahol a.sql_id = b.sql_id és snap_id = (válasszon külön snap_id-t a dba_hist_snapshot-ről, ahová_Char (Beg_interval_time, 'yyyymmdd: hh24: mi') = '20100930: 09: 00' és to_char (end_interval_time, 'yyyymmdd: hh24: mi') = '20100930: 10: 00' rendelés cpu_time

/