أوراكل مزود التاريخ

مؤلف: John Pratt
تاريخ الخلق: 11 كانون الثاني 2021
تاريخ التحديث: 26 شهر نوفمبر 2024
Anonim
Oracle TO_CHAR Function
فيديو: Oracle TO_CHAR Function

المحتوى

نظرًا لأن Oracle يجمع العينات ويكتب جميع الجلسات النشطة في قاعدة البيانات ، يتيح لك استعلام بسيط استرجاع محفوظات بيان SQL لفترة زمنية محددة.


يكتب Oracle معلومات SQL التاريخية إلى v $ active_session_history (كمبيوتر محمول مع سجل قاعدة بيانات على شاشة عريضة مقاس 15.4 بوصة بواسطة .shock من موقع Fotolia.com)

أهمية

يقوم Oracle تلقائيًا بجمع عينات من جميع الدورات التي تعمل في قاعدة البيانات كل ثانية ويحفظ المعلومات من محفوظات SQL في عرض قاموس البيانات v $ active_session_history. يعد هذا مخزنًا مؤقتًا دائريًا ، لذلك عندما يملأ أوراكل ، يقوم Oracle تلقائيًا بتخزين معلوماته في عرض قاموس بيانات dba_hist_active_sess_history قبل الكتابة فوقه.

وظيفة

يمكنك الحصول على محفوظات عبارات SQL التي تم تنفيذها خلال فترة زمنية في قاعدة البيانات عن طريق الاستعلام عن هذين العرضين. على سبيل المثال ، يُرجع الاستعلام التالي قائمة بأحرف 4000 من عبارات SQL المنفذة بين الساعة 9:00 صباحًا و 9: 05 صباحًا في 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' ، 'yyyymmdd: hh24: mi')

و to_date ('20100930: 09: 01' و 'yyyymmdd: 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' ، 'yyyymmdd: hh24: mi') و

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

الاعتبارات

بالإضافة إلى ذلك ، تقوم Oracle بإنشاء إحصائيات التنفيذ بالساعة لعبارات SQL في مستودع عبء العمل التلقائي. يمكنك معرفة عبارات SQL التي تتطلب المزيد من الموارد في وقت معين عن طريق الاستعلام عن طرق عرض قاموس بيانات dba_hist_sqlstat و dba_hist_snapshot.

الآثار

على سبيل المثال ، يُرجع الاستعلام التالي قائمة بعبارات SQL المنفذة بين الساعة 9 صباحًا و 10 صباحًا ، بالإضافة إلى وقت وحدة المعالجة المركزية والوقت المنقضي ووقت io_wait وعدد مرات الوصول إلى القرص. يتم ترتيب الإخراج حسب وقت وحدة المعالجة المركزية.


حدد a. (begin_interval_time ، 'yyyymmdd: hh24: mi') = '20100930: 09: 00' و to_char (end_interval_time ، 'yyyymmdd: hh24: mi') = '20100930: 10: 00' ترتيب حسب cpu_time

/