मुझे प्रदर्शन डेटाबेस के साथ-साथ अपने डेटाबेस में नवीनतम निष्पादित विवरण प्राप्त करना पसंद है।
जैसे, मुझे यह जानना पसंद है कि कौन से एसक्यूएल कथन सबसे अधिक सीपीयू / डिस्क गहन थे।
मुझे प्रदर्शन डेटाबेस के साथ-साथ अपने डेटाबेस में नवीनतम निष्पादित विवरण प्राप्त करना पसंद है।
जैसे, मुझे यह जानना पसंद है कि कौन से एसक्यूएल कथन सबसे अधिक सीपीयू / डिस्क गहन थे।
जवाबों:
यहाँ काम करने के लिए SQL है। परीक्षण के लिए खोलें।
चरण 1: इंस्टॉल करने वाली आईडी और उपयोगकर्ता आईडी निर्धारित करें।
SELECT inst_id,sid FROM gv$session WHERE username='<ENTER-USERNAME>';
चरण 2:
SELECT
s.sid
,s.CLIENT_INFO
,s.MACHINE
,s.PROGRAM
,s.TYPE
,s.logon_time
,s.osuser
,sq.sorts
,sq.DISK_READS
,sq.BUFFER_GETS
,sq.ROWS_PROCESSED
,sq.SQLTYPE
,sq.SQL_TEXT
FROM gv$session s
, gv$sql sq
WHERE s.SQL_HASH_VALUE = sq.HASH_VALUE
AND s.inst_id = :inst_id -- replace with instID from above
AND s.sid = :sid -- replace with ID from above
AND sq.inst_id = s.inst_id
वहाँ कई Ids और उदाहरण Ids वापस आ सकते हैं। तो यह एक उपयोगकर्ता की पसंद पर निर्भर करता है कि वह वेब इंटरफेस आदि में इस डेटा का उपयोग कैसे करे।
in
... AND (s.inst_id, s.sid) in ( (:id1, :sid1), (:id2, :sid2), ... )
Oracles एंटरप्राइज मॉनिटर कंसोल, संपूर्ण जानकारी दिखाता है जिसके बारे में SQL क्वेरी अधिकतम CPU, अड़चनें ले रही हैं, डेटाबेस में शीर्ष गतिविधि, SQLs एट अल ब्लॉक कर रही है।
एक ऐतिहासिक दृष्टिकोण के लिए, आप अपने से संबंधित बिंदु क्षेत्रों को पिन करने के लिए Oracle की AWR रिपोर्ट का उपयोग कर सकते हैं ।
आप उपयोग भी कर सकते हैं V$SQL
, कई दिलचस्प कॉलम RUNTIME_MEM, EXECUTIONS, DISK_READS, SORTS, ELAPSED_TIME, SQL_FULLTEXT
आदि हैं ।
यह आपको डिस्क रीड द्वारा शीर्ष 10 कथन देगा (ध्यान दें - यह सभी निष्पादन के लिए संचयी है):
select sql_id,child_number from
(
select sql_id,child_number from v$sql
order by disk_reads desc
)
where rownum<11
यदि कथन अभी भी है V$SQL_PLAN
तो आप क्वेरी के लिए वास्तविक व्याख्या योजना प्राप्त कर सकते हैं:
select * from table(dbms_xplan.display_cursor('sql_id',child_number));
मैं भी V$SQL_PLAN
इसका उपयोग करना पसंद करता हूं क्योंकि इसमें अच्छी जानकारी है। यदि आपका statistics_level=ALL
उपयोग कर सकते हैं V$SQL_PLAN_STATISTICS
।