תוֹכֶן
כי אורקל אוספת דוגמאות וכותב את כל הפעלות הפעילים למסד הנתונים, שאילתה פשוטה מאפשרת לך לאחזר את ההיסטוריה משפט SQL לתקופה נתונה.
אורקל כותב מידע SQL היסטורי v $ active_session_history (מחשב נייד עם הרשומה באתר על 15.4 "תמונת מסך רחב על ידי. Shock מ Fotolia.com)
חשיבות
אורקל אוספת באופן אוטומטי דגימות של כל הפעלות הפועלות במסד הנתונים בכל שנייה ושומרת מידע מהיסטוריית SQL בתצוגת מילון הנתונים v $ active_session_history. זהו מאגר מעגלי, כך שכאשר הוא מתמלא, אורקל שומרת אוטומטית את המידע שלה בתצוגת מילון הנתונים dba_hist_active_sess_history לפני החלפתו.
פונקציה
אתה יכול לקבל היסטוריה של משפטי SQL להורג על פני תקופה של זמן במסד הנתונים על ידי שאילתה שתי תצוגות אלה. לדוגמה, השאילתה הבאה מחזירה את רשימת 4000 התווים הראשונים של משפטי SQL שבוצעו בין 09:00 ל -9: 30 ביום 30 בספטמבר 2010:
בחר a.sql_id, dbms_lob.substr (b.sql_text, 4000,1) מ- dba_hist_active_sess_history a, dba_hist_sqltext b
שבו sample_time בין to_date ('20100930: 09: 00', 'yyyymddd: hh24: mi')
ו- to_date ('20100930: 09: 01', 'yyymymd: hh24: mi') ו- b.sql_id = a.sql_id
איחוד
בחר a.sql_id, dbms_lob.substr (b.sql_text, 4000,1) מ- v $ active_session_history a, v $ sqlarea b
שבו sample_time בין to_date ('20100930: 09: 00', 'yyyymddd: hh24: mi') ו-
to_date ('20100930: 09: 01', 'yyymymd: hh24: mi') ו- b.sql_id = a.sql_id
שיקולים
בנוסף, Oracle מייצרת נתונים סטטיסטיים על ביצוע שעות עבור משפטי SQL במאגר עומס העבודה האוטומטי שלה. אתה יכול לראות אילו משפטי SQL דורשים משאבים נוספים בכל זמן נתון על ידי שאילתה dba_hist_sqlstat ו dba_hist_snapshot תצוגות מילון נתונים.
אפקטים
לדוגמה, השאילתה הבאה מחזירה רשימה של משפטי SQL שבוצעו בין 09:00 ל -10: 00, בנוסף לזמן CPU, זמן שחלף, זמן io_wait ומספר גישה לדיסק. הפלט מסודר לפי זמן CPU.
בחר a.sql_id, dbms_lob.substr (b.sql_text, 1000,1), cpu_time_delta, elapsed_time_delta, iowait_delta, disk_reads_delta מ- dba_hist_sqlstat a, dba_hist_sqltext b שבו a.sql_id = b.sql_id ו- snap_id = (בחר snap_id מובחן מתוך dba_hist_snapshot שבו to_Char (start_interval_time, 'yyyymddd: hh24: mi') = '20100930: 09: 00' ו- to_char (end_interval_time, 'yyyymddd: hh24: mi') = '20100930: 10: 00' לפי cpu_time
/