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

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

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

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


    Сүлжээгээр бол сүлжээ шалгах…

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

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

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

3 Likes

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

2 Likes

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

1 Like