powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / db file scattered read
14 сообщений из 14, страница 1 из 1
db file scattered read
    #32159129
Кандидат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте !

Помогите пожалуйста разобраться.

Запускается процесс вставки данных в 2 таблицы.

Сразу же по этой сессии событие "db file scattered read" начинает зашкаливать,
соответственно HitRate Buffer Cache падает до непозволительно безобразия 17%.

DB_FILE_MULTIBLOCK_READ_COUNT = 7

в чем моя ошибка настройки ?

З.Ы. Oracle 7.3.3
...
Рейтинг: 0 / 0
db file scattered read
    #32159194
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
где-то в процедуре вставки данных есть селект, который полностью читает какую-то таблицу (Full Table Scan). Нужно искать его и разбираться.

Обычно этот параметр выставляют кратным четырем: 8, 12, 16, ...
...
Рейтинг: 0 / 0
db file scattered read
    #32159199
Кандидат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Небольшое дополнение

В скрипте есть SELECT по таблице с количеством записей = 148910
селект по множеству полей по которым нет индекса, получается, что
делается FULL SCAN таблицы, но количество не такое уж и большое.
Почему так сильно напрягаются операции I/O ?

db_block_size = 8192
db_block_buffers = 30000
...
Рейтинг: 0 / 0
db file scattered read
    #32159211
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если select в соединении таблиц, то на каждую строку результирующего набора понадобится сделать одну операцию FTS
...
Рейтинг: 0 / 0
db file scattered read
    #32159229
Кандидат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Select только по одно таблице
...
Рейтинг: 0 / 0
db file scattered read
    #32159289
Roman_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Почему так сильно напрягаются операции I/O ?

Одна из возможных причин - когда-то таблица содержала большое количество записей, впоследствии удаленных. Соотвественно High water mark высокий. Full scan читает все блоки ниже HWM, независимо от кол-ва записей в них.
...
Рейтинг: 0 / 0
db file scattered read
    #32160130
Кандидат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как это можно поймать ?
...
Рейтинг: 0 / 0
db file scattered read
    #32160242
Roman_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Определить высокий HWM?
Собрать статистику по таблице (ANALYZE TABLE COMPUTE STATISTICS) и сделать выборку из DBA_TABLES по имени таблицы. Там можно посмотреть общее количество записей, средний размер записи, количество занятых блоков и количество выделенных, но не занятых записями блоков. То есть логика действий примерно такая - зная кол-во и средний размер записи, можно примерно вычислить сколько им нужно блоков. Сравнить с реальным значением в поле blocks. Если оно ненамного выше - нормально, если оно больше в разы - тот случай с высоким HWM и есть.
Примерно то же можно получить из пакеджа DBMS_SPACE (в документации довольно подробный пример имеется)

Ну и кстати - это только одна из возможных причин. Может там и не фул скан все портит...
...
Рейтинг: 0 / 0
db file scattered read
    #32160355
Vladimir Demkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа,
прошу заметить, что даже исходя из перевода "db file scattered read" - это обозначает произвольное (разбросанное, разрозненное) чтение.
Т.е. ни к какому полному сканированию таблиц это отношения не имеет.
Не уверен (нужно проверить), но при массовой вставке записей я предполагаю это нормальная статистика. Oracle просто читает в кэш блоки в которые будет производится вставка и читает их по одному.
...
Рейтинг: 0 / 0
db file scattered read
    #32160458
Roman_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдержка из документации:
----------------------------------------------------------------------------
db file scattered read
This event signifies that the user process is reading buffers into the SGA buffer cache and is waiting for a physical I/O call to return. A db file scattered read issues a scatter-read to read the data into multiple discontinuous memory locations. A scattered read is usually a multiblock read. It can occur for a fast full scan (of an index) in addition to a full table scan.

The db file scattered read wait event identifies that a full table scan is occurring. When performing a full table scan into the buffer cache, the blocks read are read into memory locations that are not physically adjacent to each other. Such reads are called scattered read calls, because the blocks are scattered throughout memory. This is why the corresponding wait event is called 'db file scattered read'. Multiblock (up to DB_FILE_MULTIBLOCK_READ_COUNT blocks) reads due to full table scans into the buffer cache show up as waits for 'db file scattered read'.
---------------------------------------------------------------------------

То есть таки имеет оно отношение к фуллсканам. Ну строго говоря, вполне может иметь...
...
Рейтинг: 0 / 0
db file scattered read
    #32160477
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Володя,

scattered означает лишь, что блоки считанные в кэш-буффер, будут разбросаны по всему кэшу.
...
Рейтинг: 0 / 0
db file scattered read
    #32160519
Vladimir Demkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OOOPs: перевод как раз и ввел в заблуждение.
...
Рейтинг: 0 / 0
db file scattered read
    #32160786
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>scattered означает лишь, что блоки считанные в кэш-буффер, будут
>разбросаны по всему кэшу.

т.е ты хочешь сказать, при событии sequential read (которое происходит при индексном доступе к таблице) блоки, считанные в кеш-буфер будут распологаться там последовательно?

P.S. А это путаница со scattered и sequential чтениями - давно известный факт.
...
Рейтинг: 0 / 0
db file scattered read
    #32160810
Кандидат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все оказалось намного тривиальнее чем казалось на самом деле.

Таблицы участвующие в процессе не врагментированы, НО
в третьем колене триггреов используется запрос по табличке
у которой не было ни одного индекса.
Построи индекс и все пошло влет.

Спасибо всем откликнувшимся.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / db file scattered read
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]