Що таке безкоштовне очікування буфера в Oracle?

Очікування вільного буфера (%) Ця подія виникає в основному, коли серверний процес намагається прочитати новий буфер у буферний кеш

буферний кеш

У комп’ютерному сховищі дисковий буфер (який часто неоднозначно називають кеш-пам’яттю диска або кеш-буфером) — це вбудована пам’ять у жорсткий диск (HDD) або твердотільний накопичувач (SSD), що діє як буфер між рештою комп’ютера та фізична пластина жорсткого диска або флеш-пам’ять, яка використовується для зберігання.

https://en.wikipedia.org › wiki › Disk_buffer

але занадто багато буферів або закріплені, або забруднені, і тому недоступні для повторного використання. Сеанс надсилає до DBWR, а потім чекає, поки DBWR створить вільні буфери, записуючи брудні буфери на диск.

Буферний кеш бази даних, також званий буферним кешом, — це область пам’яті в системній глобальній області (SGA) примірника бази даних. Він зберігає копії блоків даних, які зчитуються з файлів даних. Буфер є адреса основної пам'яті, в якій диспетчер буферів тимчасово кешує поточний або нещодавно використаний блок даних.

1) Очікування зайнятості буфера може бути викликано багатьма причинами – ви хочете змінити блок і вам він потрібен у поточному режимі, але він є у когось іншого – ви чекаєте. Або вам потрібен блок, якого немає в кеші, але ви помічаєте, що хтось інший його вже читає (читає інший сеанс), тому ви буферизуєте його й чекаєте.

Отримання буфера — це метрика використання ЦП і середніх значень кількість буферів, отриманих для всіх курсорів. Коли Oracle потрібен доступ до блоку даних, спочатку він перевіряє, чи блок даних уже доступний у буфері бази даних. Якщо так, Oracle видає «логічне читання» та отримує блок даних безпосередньо з оперативної пам’яті.

Це очікування відбувається, коли сеанс хоче отримати доступ до блоку бази даних у буферному кеші, але не може, оскільки буфер зайнятий. Інший сеанс змінює блок, і вміст блоку постійно змінюється під час модифікації.

Нижче наведено обмеження на розмір рядка DBMS_OUTPUT і розмір буфера. Максимальний розмір рядка становить 32767 байт. Розмір буфера за замовчуванням становить 20000 байт. Мінімальний розмір становить 2000 байт, а максимальний необмежений.