DBWR Процессы записывают грязные блоки из буферного кеша в файлы данных.
Документация сообщает, что блоки считываются в буферный кеш, прежде чем они будут сформированы в результирующий набор. Но «кто« делает это? Как вы называете этот процесс?Какой процесс считывает блоки в буферный кеш?
ответ
overview of server processes От:
Oracle Database создает серверные процессы для обработки запросов клиентских процессов, связанных с экземпляром. Клиентский процесс всегда взаимодействует с базой данных через отдельный серверный процесс.
Серверные процессы, созданные от имени приложения базы данных может выполнить одно или несколько из следующих задач:
Разбор и запустить SQL заявления, сделанные с помощью приложения, в том числе создание и выполнение плана запроса (см " Этапы обработки SQL ")
Execute PL/SQL код
прочитанной блоки данных из файлов данных в кэше буферов базы данных (фоновый процесс DBWn имеет задачу ш riting измененных блоков на диск)
Возвращаемых результаты таким образом, что приложение может обрабатывать информацию
Таким образом, каждый выделенный или общий процесс сервера заполняющего кэш буфера, как она считывает данные из диск.
Записывание измененных блоков осуществляется с помощью общего процесса обработки данных DBWR, поэтому он может быть асинхронным и также может сочетать изменения с нескольких сеансов. Обычно вы не хотите, чтобы ваше приложение ждало (медленно) записи физического диска, когда это не нужно; он должен ждать, пока данные будут прочитаны, поэтому не будет большой пользы в том, чтобы сделать его отдельным фоновым процессом.
Вы явно не называете этот процесс, его просто обрабатывают за кулисами.
Процесс каждого сеанса клиента считывает файлы данных.
Поэтому формула для предела ядра ОС для числа открытых файлов содержит:
#processes * #datafiles
Вы также можете легко проверить его с помощью lsof
на Linux.
- 1. Оптимальный процесс записи в буферный поток
- 2. Threadsafe двойной буферный кеш (не для графики) в Java?
- 3. Какой распределенный кеш?
- 4. Почему небуферизованные операции read()/write() используют буферный кеш?
- 5. Какой «кеш» используется в sqlhelperparametercache
- 6. XNA Микрофонный буферный буферный формат?
- 7. Какой кеш-память должен использоваться?
- 8. буферный withLatestFrom
- 9. какой процесс отправляет SIGKILL
- 10. Какой процесс использует Streamreader?
- 11. Какой процесс запуска VIM?
- 12. Какой процесс я начал?
- 13. Какой процесс блокирует файл?
- 14. C++ буферный пул?
- 15. BEM: Вложенные блоки, какой лучший подход?
- 16. Буферный кэш Linux для DVD/FUSE?
- 17. Какой JavaScript-кеш вы можете порекомендовать
- 18. Javascript создает какой-то странный «кеш»
- 19. Какой символ представляет собой распределенный кеш?
- 20. Какой процесс монтирует файловую систему?
- 21. grunt - какой правильный процесс установки?
- 22. FileSystemWatcher - какой процесс вызвал обновление
- 23. Можно ли полагаться на буферный буфер RDBMS?
- 24. Какой дочерний процесс отправляет SIGCHLD
- 25. Картографический буферный порт в VHDL
- 26. какой процесс использует мою память?
- 27. Зная, какой процесс вызвал звук
- 28. Какой самый простой способ объединить небольшие блоки HDFS?
- 29. Как работает буферный поток?
- 30. golang fifo буферный канал
Большое спасибо, отличный ответ. Я знаю, что вы явно не называете (большинство) процессов в оракуле, но однажды я не дал интервью на вопрос, подобный этому ... – miraclefoxx