|
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-ида от Тома Кайта” публикуется
параллельно в этом же выпуске "Oracle Magazine/Русское Издание"
Столь непривычное начало рецензии объясняется очень просто: издательство "Лори" практически одновременно выпустило по Oracle-тематике две великолепные книги под авторством, соответственно, Р.Дж. Нимика и Тома Кайта. Эти книги прекрасно дополняют друг друга в части понимания механизмов достижения оптимальной производительности СУБД Oracle и приложений, работающих с этой базой данных. Если же Вы, любезный читатель, увидев, что названные книги содержат формально пересекающийся материал (это практически неизбежно в любой технической литературе), засомневаетесь в необходимости знакомства и изучения обеих книг, х ти ой базой данных. и приложенито, пожалуйста, примите во внимание наше мнение, нашу радость в том, что у Вас есть возможность увидеть основные технологии Oracle глазами двух великих профессионалов, вдвое обогатить свой собственный багаж знаний и понимания базовых технологий системы Oracle.
Теперь расскажем о книге Ричард Дж. Нимик “Oracle9i. Оптимизация производительности. Советы и методы”. Как обычно, начнем с содержания книги, но сначала отметим, что оригинал книги является ее вторым изданием, которое как сказано ниже, очень-очень существенно переработано и дополнено. Милый казус в аннотации от изд. “Лори” на книгу Р.Нимика заключается в том, что в ней проводится сравнение с первым изданием (Wrox Press, April, 1999), которое не было переведено на русский язык, что может привести к небольшой путанице и ненужным поискам наших читателей предыдущей книги. Поэтому мы взяли на себя смелость объединить изложение содержания с комментариями к нему из аннотации. Книга включает в себя следующие главы:
- Введение
в новые свойства Oracle9i (для АБД и разработчиков) - полностью переписана и излагает новые свойства Oracle9i.
- Основные принципы
построения индексов (для начинающих разработчиков и АБД) - добавлено рассмотрение битовых индексов и других свойств Oracle9i.
- Дисковый ввод/вывод
и фрагментация (для АБД) - добавлены локально управляемые объекты, и вся глава стала больше.
- Оптимизация базы данных
с помощью параметров инициализации (для АБД) - посвящена новым свойствам Oracle9i и упрощена.
- ENTERPRISE MANAGER и TUNING PACK
(для АБД и разработчиков) - добавлены новые иллюстрации окон для версии Enterprise Manager для Oracle9i.
- Использование EXPLAIN PLAN, TRACE, TKPROF и STORED OUTLINES (для АБД и разработчиков) - обновлена в связи с добавлением Stored Outlines к Oracle9i.
- Стандартный синтаксис инструкций (для АБД и разработчиков) - добавлены новые подсказки в Oracle9i и обновлены предыдущие.
- Оптимизация запросов
(для начинающих АБД и разработчиков) - обновлена и протестирована с учетом Oracle9i.
- Объединение таблиц
и другие продвинутые методы оптимизации - обновлена и протестирована с учетом Oracle9i, добавлен Kalman Filter.
- Применение PL/SQL для улучшения производительности (для АБД и разработчиков) - расширена (почти вдвое) в связи с увеличением влияния PL/SQL на оптимизацию.
- Использование параллелизма
для повышения производительности - обновлена с учетом Oracle9i
- V$-представления
(для АБД и разработчиков) -расширена, чтобы показать больше обращений к представлениям V$
- X$-таблицы
(для квалифицированных АБД) - значительно переработана с помощью Кевина Гилпина и Стива Адамса.
- Использование пакета STATSPACK для настройки ожиданий и защелок (для квалифицированных АБД) - обновлена с учетом STATSPACK (ранее estat/bstat).
- Быстрый анализ
системы (для АБД) - восстановлены и заново протестированы обзоры системы на основе обратной связи с предыдущей системой.
- Мониторинг системы с помощью утилит 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)
r |