|
|
|
Oracle-гуру Рич Нимик: что надо знать для оптимизации производительности базы данных Oracle |
|
|
Ричард Дж.
Нимик
Oracle9i.Оптимизация
производительности.Советы и
методы
М:. Издательство "Лори"
(www.lory-press.ru), 752
стр., 70x100/16, 2006, тир.1500, ISBN 5-85582-250-2,
переводчики В.Сидорова и А.Слинкин,
научный редактор А.Головко.
Аннотация от
издательства: http://www.lory-press.ru/book.php?id=224
Оригинал: Oracle9i.
Performance Tuning Tips fnd Techniques, by Richard J. Niemiec McGraw-Hill/Osborne,
2003, ISBN 0-07-222473-8
|
|
Вниманию всех русскоязычных
профессионалов по Oracle:
одновременно с рецензируемой книгой Р.Нимика в издательстве "Лори" вышла книга -
Т. Кайт «Oracle: Эффективное проектирование приложений». Наша на нее рецензия
«Третий том библии oracle-ида от Тома Кайта» публикуется параллельно с этой в разделе рецензий сайта издательства "Лори"
(www.lory-press.ru)
Столь непривычное начало рецензии объясняется очень просто: издательство "Лори" практически одновременно выпустило по Oracle-тематике две великолепные книги под авторством, соответственно, Р.Дж. Нимика и Тома Кайта. Эти книги прекрасно дополняют друг друга в части понимания механизмов достижения оптимальной производительности СУБД Oracle и приложений, работающих с этой базой данных. Если же Вы, любезный читатель, увидев, что названные книги содержат формально пересекающийся материал (это практически неизбежно в любой технической литературе), засомневаетесь в необходимости знакомства и изучения обеих книг, то, пожалуйста, примите во внимание наше мнение, нашу радость в том, что у Вас есть возможность увидеть основные технологии Oracle глазами двух великих профессионалов, вдвое обогатить свой собственный багаж знаний и понимания базовых технологий системы Oracle.
Теперь расскажем о книге Ричард Дж. Нимик
«Oracle9i. Оптимизация производительности.
Советы и методы». Как обычно, начнем с
содержания книги, но сначала отметим, что
оригинал книги является ее вторым изданием,
которое как сказано ниже, очень-очень
существенно переработано и дополнено.
Милый казус в аннотации от изд. «Лори» на
книгу Р.Нимика заключается в том, что в ней
проводится сравнение с первым изданием (Wrox
Press, April, 1999), которое не было переведено на
русский язык, что может привести к
небольшой путанице и ненужным поискам
наших читателей предыдущей книги. Поэтому
мы взяли на себя смелость объединить
изложение содержания с комментариями к
нему из аннотации. Книга включает в себя
следующие главы:
1. Введение в новые свойства Oracle9i (для
АБД и разработчиков) - полностью
переписана и излагает новые свойства
Oracle9i.
2. Основные принципы построения
индексов (для начинающих разработчиков и
АБД) - добавлено рассмотрение битовых
индексов и других свойств Oracle9i.
3. Дисковый ввод/вывод и фрагментация (для
АБД) - добавлены локально управляемые
объекты, и вся глава стала больше.
4. Оптимизация базы данных с помощью
параметров инициализации (для АБД) -
посвящена новым свойствам Oracle9i и
упрощена.
5. ENTERPRISE MANAGER и TUNING PACK (для АБД и
разработчиков) - добавлены новые
иллюстрации окон для версии Enterprise Manager для
Oracle9i.
6. Использование EXPLAIN PLAN, TRACE, TKPROF и STORED OUTLINES
(для АБД и разработчиков) - обновлена в
связи с добавлением Stored Outlines к Oracle9i.
7. Стандартный синтаксис инструкций (для
АБД и разработчиков) - добавлены новые
подсказки в Oracle9i и обновлены предыдущие.
8. Оптимизация запросов (для начинающих
АБД и разработчиков) - обновлена и
протестирована с учетом Oracle9i.
9. Объединение таблиц и другие продвинутые
методы оптимизации - обновлена и
протестирована с учетом Oracle9i, добавлен
Kalman Filter.
10. Применение PL/SQL для улучшения
производительности (для АБД и
разработчиков) - расширена (почти вдвое)
в связи с увеличением влияния PL/SQL на
оптимизацию.
11. Использование параллелизма для
повышения производительности - обновлена
с учетом Oracle9i
12. V$-представления (для АБД и
разработчиков) -расширена, чтобы
показать больше обращений к представлениям
V$
13. X$-таблицы (для квалифицированных АБД)
- значительно переработана с помощью Кевина
Гилпина и Стива Адамса.
14. Использование пакета STATSPACK для настройки
ожиданий и защелок (для квалифицированных
АБД) - обновлена с учетом STATSPACK (ранее estat/bstat).
15. Быстрый анализ системы (для АБД) - восстановлены
и заново протестированы обзоры системы
на основе обратной связи с предыдущей
системой.
16. Мониторинг системы с помощью утилит UNIX (для
АБД) - обновлена и теперь включает Linux.
Приложение А. Важнейшие параметры в
файле init.ora (для АБД) - включает обновленные
запросы и новый список лучших Top 25.
Приложение B. V$-представления (для
АБД и разработчиков) - включает обновленные
запросы.
Приложение С. X$-таблицы (для АБД) -
включает обновленные запросы.
Обратите внимание, что автор прямо
указывает, какой категории специалистов
непосредственно адресован материал
конкретной главы. Хотя разнообразие
заявленных специализаций и их уровней
невелико, следует сделать прямой вывод, что
книга «Oracle9i. Оптимизация
производительности. Советы и методы»
преимущественно адресована уже
поработавшим, продвинутым специалистам,
имеющим собственный практический опыт
работы с базами Oracle и собственное понимание,
как надо администрировать базу данных как
Oracle9i, так и Oracle10g, для которой книга подходит
в такой же максимальной степени.
В аннотации к книге правильно сказано, что «…главная
цель - помочь специалистам, которые уже
отчаялись найти решение и ждут простых
советов, как улучшить производительность.»
Отчаялись – хорошо и правильно сказано! Но
по части «простых советов» - это все же
зависит от квалификации читателя. Истина в
том, в этой книге присутствуют материалы,
которые трудно найти в почти уже необъятной
документации Oracle, трудно найти даже в
необъятном Интернете, которые находятся на
платных и закрытых сайтах, разбросаны по
крупицам по самым разным публикациям.
Собственно говоря, после оглашения
содержания книги, рецензию можно было бы
закончить, поскольку для Oracle-профессионала,
администратора базы данных (АБД) и/или
квалифицированного разработчика
приложений, уже достаточно информации,
чтобы понять насколько нужна ему эта книга.
Но трудно отказать себе в удовольствии,
чтобы не назвать несколько избранных
вопросов (не повторяя названия глав),
постановка которых, по нашему мнению,
должна согреть сердце любого АБД Oracle и
многих разработчиков приложений на Oracle.
· Real Application Clusters с обсуждением
архитектуры процессов, включая
сакраментальный вопрос «Действительно ли
RAC не «ломается»»;
· индексы – фактор кластеризации,
двоичная высота, использование гистограмм
битовые, хеш-, на основе функций,
секционированные индексы, использование и
отмена индексирования;
· устранение фрагментации, правильный
размер экстентов, определение размеров
журнала и интервала контрольной точки,
сортировка в памяти для уменьшения
дискового ввода/вывода, а также выявление
проблем, связанных с дисковым вводом/выводом;
· применение V$-представлений для
оптимизации запросов, в частности, для
поиска медленных запросов;
· список 25 важнейших и настройка
параметров инициализации экземпляра,
включая параметры для инициализации
объединения таблиц, использования
нескольких буферных пулов, организации
параллельного выполнения запросов, а также
запрос для отыскания всех
недокументированных параметров; список
всех документированных параметров (Приложение
А);
· подробное описание (наконец-то на русском
языке!) применения утилит EXPLAIN PLAN, TRACE, TKPROF и
STORED OUTLINES , а также пакета STATSPACK;
· блокировка дампов (только для сверх
продвинутых – прим. Р.Нимека) и
оптимизация с помощью простых
математических методов (для весьма
продвинутых – прим.А.Бачина)
· контроль в реальном времени - пакет DBMS_APPLICATION_INFO,
контроль распределения и использования
разделяемого пула - пакет DBMS_SHARED_POOL;
· список всех X$-таблиц (и их индексов),
лежащих в основе V$-представлений,
группирование X$-таблиц и типичные способы
соединения X$-таблиц; списки всех V$-представлений
(Приложение В) и всех X$-таблиц (Приложение
С);
· фрагментация разделяемого пула,
ошибка ORA-4031 и конкуренция из-за выделения
больших блоков памяти, конкуренция за
защелки и ожидания;
· события, дампы, команда oradebag
И еще многое-многое-многое!
В заключение еще раз повторим, что книга Р.Дж.
Нимика «Oracle9i. Оптимизация
производительности. Советы и методы»
значительно более интересна для уже
состоявшихся профессионалов, нежели
начинающих АБД или разработчиков.
Специалистам с еще малым опытом мы хотим
пожелать повысить свою квалификацию и
понимание работы с базами Oracle до уровня
материала этой книги. В плане серьезности,
познавательности, значимости в
отечественной oracle-ане книга Рича Нимека
сравнима только с трилогией Тома Кайта, и
стоять все эти книги должны рядом.
Виктор Абрамов,
профессиональный разработчик приложений
на Oracle,
научный редактор "Oracle Magazine/Русское
Издание"
Анатолий Бачин,
профессиональный администратор баз данных
Oracle
главный редактор “Oracle Magazine/Русское Издание”
-----------------------------------------------------------------------
Ричард Дж.Нимик (Richard J.Niemiec) – Главный
администратор TUSC (www.tusc.com)
и сертифицированный магистр Oracle.
Томас Кайт (Thomas Kyte) – Вице-президент
группы по образованию, автор колонки «Спросите
Тома» (http://asktom.oracle.com) в журнале «Oracle Magazine» (http://www.oracle.com/oramag)
|