# Их ачааллаж буй sql -ийг олох

**URL:** <https://www.batmunkh.net/t/sql/196>\
**Category:** Tutorials, Solutions\
**Tags:** top-sql\
**Created:** [March 9, 2017, 10:01am UTC](https://www.batmunkh.net/t/sql/196 "2017-03-09T10:01:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [March 9, 2017, 10:01am UTC](https://www.batmunkh.net/t/sql/196/1 "2017-03-09T10:01:57Z")

</div>

Enterprise Manager дээрээс advisor-уудын тусламжтай харж болох хэдий ч комманд ашиглан хэрхэн өндөр ачааллаж буй query-нуудыг харах талаар сонирхоё. ASH report нь илүү богино хугацааны нарийвчлалтайгаар мэдээллийг v$active\_session\_history -д хадгалж байдаг.

```
SQL> select sql_id, count(*), round(count(*)/sum(count(*)) over(), 2) pctload 
from v$active_session_history 
where sample_time>sysdate-1 and session_type <> 'BACKGROUND' 
group by sql_id 
order by count(*) desc

```

Дээрхи үр дүнгээс sql\_id ашиглан ямар query ажиллаж байгаг харах.

```
SQL> select sql_text from v$sql where sql_id='d5xxfguffwpxh';

SQL_TEXT
--------------------------------------------------------------------------------
select end_time, wait_class#, (time_waited_fg)/(intsize_csec/100),
 (time_waited)/(intsize_csec/100), 0 from v$waitclassmetric union all select fg.
end_time, -1, fg.value, bg.value, dbtime.value from v$sysmetric fg, v$sysmetric
bg, v$sysmetric dbtime where bg.metric_name = 'Background CPU Usage Per Sec' and
 bg.group_id = 2 and fg.metric_name = 'CPU Usage Per Sec' and fg.group_id = 2 an
d dbtime.metric_name = 'Average Active Sessions' and dbtime.group_id = 2 and bg.
end_time = fg.end_time and fg.end_time = dbtime.end_time order by end_time,wait_
class#

SQL>
```
