# Database маш удаан болсон асуудал

**URL:** <https://www.batmunkh.net/t/database/285>\
**Category:** Oracle Database\
**Created:** [June 22, 2017, 8:53am UTC](https://www.batmunkh.net/t/database/285 "2017-06-22T08:53:46Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aagii](https://www.batmunkh.net/user_avatar/www.batmunkh.net/aagii/32/234_2.png) [@Aagii](https://www.batmunkh.net/u/Aagii)\
**Post date:** [June 22, 2017, 8:53am UTC](https://www.batmunkh.net/t/database/285/1 "2017-06-22T08:53:46Z")

</div>

За манай бааз нэг л биш ээ. Өмнө нь 3-4 секундэд response үзүүлдэг query одоо бол бараг 20 орчим секундэд хариу үзүүлэх боллоо. Гэнэт л ийм болчихлоо. Memory, Cpu нтр бол ачаалал хэвийн. Ямар ямар асуудлаас болж ингэх вэ?

---

<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:** [June 22, 2017, 9:02am UTC](https://www.batmunkh.net/t/database/285/2 "2017-06-22T09:02:46Z")

</div>

Мэдээлэл татах хурд нь дараах зүйлсээс хамаарна

1. Server process - Хэрэглэгчийн коммандыг parsing хийнэ. session тэй холбоотой. order, group-д ашиглагдана.
2. Shared pool - хүснэгтний мета дата , SQL -ийг кэйшлэнэ
3. Buffer cache - дискнээс блок уншиж санах ойд байрлуулах хэсэг
4. Redolog файл хэмжээс  
…  
…  
Сүлжээгээр бол сүлжээ шалгах…

Мэдээж query -ийн хэмжээ, татах мэдээллээс бас шалтгаална. Тиймээс энэ бүгд дээр анализ хийх шаардлагатай. Өмнө хурдан дуудаж байхад ямар байсан, юу өөрчилсөн гэх мэт зүйлсүүдээ бүгдийг судалж бодно. Мөн AWR гаргаж харж дүгнэлт хийнэ.

---

<div class="post-metadata">

**Author:** ![tumenjargal](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tumenjargal/32/236_2.png) [@tumenjargal](https://www.batmunkh.net/u/tumenjargal)\
**Post date:** [June 22, 2017, 1:43pm UTC](https://www.batmunkh.net/t/database/285/3 "2017-06-22T13:43:46Z")

</div>

дата томрох тусам query optimizer нь query-нүүдийнхээ execution plan - аа шинэчилээд явдаг санагджын, ганц нэг query дээр хатуу sql baseline үүсгээд plan hash value - г нь set хийчихсэн байхвий, тэгвэл query optimizer яаж ч чадахгүй.

Удаад байгаа query - ндээ оролцсон table - үүдийг бүгдийг нь анализ хийсэн байх лдөө тэ тэгээд invalid object - үүд хэр их байна гэдгийг нэг харвал… GoodLuck 🙂

---

<div class="post-metadata">

**Author:** ![epuujee](https://www.batmunkh.net/user_avatar/www.batmunkh.net/epuujee/32/215_2.png) [@epuujee](https://www.batmunkh.net/u/epuujee)\
**Post date:** [June 23, 2017, 1:22am UTC](https://www.batmunkh.net/t/database/285/4 "2017-06-23T01:22:56Z")

</div>

Memory, CPU хэвийн байгаа бол диксний хурд болон index-лэлтээс болж удааширсан байх.  
Execution plan - с харж байгаад шалгааныг нь олох байх гэж бодож байна.  
Мөн мэдээлэл татаж байгаа table-үүдээ тогмтол analyze хийж байвал бас хурданд нөлөөлдөг юм байна лээ.

---

<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:** [June 23, 2017, 2:56am UTC](https://www.batmunkh.net/t/database/285/5 "2017-06-23T02:56:10Z")

</div>

Өмнөх snapshot -г одоогийнхтой харьцуулж хар. baseline үүсгэж бас харьцуулж болно. - AWR ашиглана.
