Oracle Database хэт удаан ажиллаж байгаа шалтгаан

Сайн байцгаана уу,
Oracle database single instance 12.2.0.1 Oracle Linux 7.9 OS.той 64GB RAM.тай server дээр ажиллаж байгаа.
swap size = 14gb
dba sga=32gb, pga=16gb
/dev/shm size 32gb гэхдээ use 0% байгаа
Серверийн memory usage харахад бараг дүүрсэн харагдаж байна.
бусад шаардлагатай үзүүлэлтүүдийг хавсаргалаа. Энгийн Select query 270

сая өгөгдөлтэй table-ээс 1 өдрийн date нөхцөл тавиад ажиллуулахад л 3-4 минут болж байгаа. Ер нь бааз их удаан ажиллаад байгаа юм. Та бүхэн шалтгааныг нь олоход тусална уу. Баярлалаа :smile:
free -m

Бодлогын өгөгдөл дутуу байна. Хэхэ.
Сайн зөвөлгөө авмаар байгаа бол өгөгдлөө сайн гаргаж өгөх хэрэгтэйдээ. Query-ээ явуулахгүй юмаа гэхэд ядаж execution plan оруулчихвал дажгүй мэдээлэл өгчих байх.

Өгөгдсөн мэдээллээс харахад бол OS-д маш баг RAM хувиарлагдсан байж болохоор харагдаж байна. Яагаад /dev/shm-г ийм томоор өгсөн юм бол? Usage нь 0 юм бол нэг мөр ашиглахгүй болгочихвол зүгээр биш үү? Эсвэл ашиглах гээд ингэж бэлдсэн юм уу?
Үнэхээр ийм том байх шаардлагатай юм бол Sga pga-г 2дахин багасгаад баазаа рестарт хийгээд нэг тестлээд үзээрэй. Ямар ялгаа гарч байна?

1 Like

SS харахад linux buffer/cache суллаж чадахгүй байгаа бололтой. серверийг res хийсний дараа buffer/cache өссөөр байгаад тулаад ирэхээр удаашрал үүсэж байна уу? эсвэр res хийсний дараа ч удаан байна уу? Ер нь buffer/cache өсчихөөд буцаад буурч байна уу?

buffer/cache ер нь энэ зураг дахь үзүүлэлтийн орчим хэлбэлзэж байна. Буурахдаа маш бага хэмжээгээр буураад буцаад өсөж байна.

OS ram өөрчилсөн тохиолдол байгаа юу?

Байхгүй ээ

root user р дараах command г ажиллуулаад buffer сулрах эсэхийг шалгаарай.
echo 1 > /proc/sys/vm/drop_caches
Суллаж чадахгүй тохиолдолд баазыг immediate хийж унтраагаад, OS г рес хийгээд дахин дүүрэх эсэхийг шалгаарай.

/dev/shm mount size>48g болж өгвөл OS санах ойтой ижлээр өг. Ирээдүйд instance crash болохоор харагдаж байна.
Query -ний хувьд tuning хийнээ. SQL Advisor нтэр ашиглаад recommendation хараад шийдвэрлэсэн нь дээр.