ebook img

Oracle. Оптимизация производительности PDF

462 Pages·2006·3.666 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Oracle. Оптимизация производительности

Optimizing Oracle Performance Cary Millsap and Jeff Holt Oracle Оптимизация производительности Кэри Миллсап и Джефф Хольт Санкт(cid:6)Петербург–Москва 2006 Кэри Миллсап, Джефф Хольт Oracle. Оптимизация производительности Перевод П.Шера Главный редактор А.Галунов Зав. редакцией Н.Макарова Научный редактор О.Летаев Редактор В.Овчинников Корректор Н.Аникеева Верстка О.Макарова Миллсап К., Хольт Д. Oracle. Оптимизация производительности.– Пер. с англ.– СПб: Символ(cid:19) Плюс, 2006.– 464 с., ил. ISBN 5(cid:19)93286(cid:19)078(cid:19)2 Оптимизация производительности БД Oracle считается очень сложной задачей, подвластной лишь черной магии. Успехи настройки нередко случайны и дости(cid:19) гаются скорее за счет интуиции, комбинируемой с методом проб и ошибок. Из(cid:19) вестные исследователи Oracle, Миллсап и Хольт, в практическом руководстве «Oracle. Оптимизация производительности» подробно описывают надежный, воспроизводимый и четкий метод выявления проблем производительности сис(cid:19) темы, позволяющий с уверенностью сказать, в чем причина любой из них. Ключом к методу Миллсапа и Хольта является тот факт, что программное обеспечение БД Oracle оснащено инструментами, способными предоставить информацию о том, на что тратится время при обработке запросов. Метод включает три этапа: выбор пользовательской операции, оптимизация которой наиболее важна с точки зрения бизнеса; сбор корректно выбранных данных расширенной трассировки SQL, относящихся к данной операции, и выявление по этим данным места и причин перерасхода времени; поиск наиболее эффек(cid:19) тивного способа повышения производительности (уменьшения времени от(cid:19) клика) данной операции. Авторы показывают, как применять метод, и объясняют, почему он эффекти(cid:19) вен. Метод способен помочь не только выявить проблемы производительности, но и оценить рост производительности при увеличении количества и/или мощности процессоров или добавлении оперативной памяти. Издание предна(cid:19) значено администраторам и разработчикам БД Oracle. ISBN 5(cid:1)93286(cid:1)078(cid:1)2 ISBN 0(cid:1)596(cid:1)00527(cid:1)X (англ) © Издательство Символ(cid:19)Плюс, 2006 Authorized translation of the English edition © 2003 O’Reilly Media, Inc. This trans(cid:19) lation is published and sold by permission of O’Reilly Media, Inc., the owner of all rights to publish and sell the same. Все права на данное издание защищены Законодательством РФ, включая право на полное или час(cid:19) тичное воспроизведение в любой форме. Все товарные знаки или зарегистрированные товарные зна(cid:19) ки, упоминаемые в настоящем издании, являются собственностью соответствующих фирм. Издательство«Символ(cid:19)Плюс».199034,Санкт(cid:19)Петербург,16линия,7, тел.(812) 324(cid:19)5353, [email protected]. Лицензия ЛП N 000054 от 25.12.98. Налоговая льгота – общероссийский классификатор продукции ОК 005(cid:19)93, том 2; 953000 – книги и брошюры. Подписано в печать 15.11.2005. Формат 70х1001 /16. Печать офсетная. Объем 29 печ.л. Тираж 2000 экз. Заказ N Отпечатано с готовых диапозитивов в ГУП «Типография «Наука» 199034, Санкт(cid:19)Петербург, 9 линия, 12. Я посвящаю эту книгу, с любовью, Минди, Александру и Николасу. – Кэри Миллсап Я посвящаю эту книгу каждому менеджеру, готовому слушать и сидящему на мягком диване. – Джефф Хольт Оглавление Вступительное слово редактора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 I. Методика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 1. Лучший способ оптимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 «Вы делаете это неправильно». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 Требования к хорошему методу. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 Три важных достижения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36 Средства анализа времени отклика. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 МетодR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 2. Выбор пользовательских операций. . . . . . . . . . . . . . . . . . . . . . . . . . .64 Надежность спецификации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Создание хорошей спецификации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Избыточные ограничения в спецификации. . . . . . . . . . . . . . . . . . . . . . .75 3. Выбор диагностических данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 О сборе данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 Область данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81 Источники диагностических данных в Oracle. . . . . . . . . . . . . . . . . . . . .88 Дополнительная информация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 4. Выбор пути решения задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91 Новый стандарт обслуживания клиентов . . . . . . . . . . . . . . . . . . . . . . . .91 Выбор экономически оптимального пути повышенияпроизводительности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Анализ диагностических данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 Прогнозирование экономической эффективности проекта . . . . . . . . .96 8 Оглавление II. Справочная информация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 5. Интерпретация данных расширенной трассировки SQL. . . . . .107 Знакомство с файлом трассировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 Справочник по данным расширенной трассировки SQL. . . . . . . . . . .110 Учет времени отклика. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 Эволюция модели времени отклика . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 Отсчет времени. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 Опережающее атрибутирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 Подробный анализ файла трассировки . . . . . . . . . . . . . . . . . . . . . . . . .142 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 6. Сбор данных расширенной трассировки SQL . . . . . . . . . . . . . . . .148 Знакомство с приложением . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 Включение расширенной трассировки SQL. . . . . . . . . . . . . . . . . . . . . .152 Поиск файлов трассировки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 Устранение ошибок сбора данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 7. Измерение времени ядром Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . .184 Управление процессами операционной системы. . . . . . . . . . . . . . . . .184 Измерение времени ядром Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 Как программное обеспечение измеряет само себя . . . . . . . . . . . . . .189 Неучтенное время. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 Влияние измерителя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .194 Двойной учет занятости процессора. . . . . . . . . . . . . . . . . . . . . . . . . . . .198 Ошибка квантования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 Время «невыполнения» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216 Код ядра Oracle без измерительных средств . . . . . . . . . . . . . . . . . . . . .219 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222 8. Данные фиксированных представлений Oracle. . . . . . . . . . . . . .224 Изъяны данных фиксированных представлений. . . . . . . . . . . . . . . . .225 Справочник по фиксированным представлениям . . . . . . . . . . . . . . . .235 Полезные запросы к фиксированным представлениям. . . . . . . . . . . .244 «Интерфейс ожидания» Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268 9. Теория массового обслуживания для специалиста по Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 Модели производительности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271 Массовое обслуживание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272 Теория массового обслуживания. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276 Оглавление 9 Модель массового обслуживания M/M/m . . . . . . . . . . . . . . . . . . . . . . .295 Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337 III. Реализация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .341 10. Работа с профилем ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343 Как работать с профилем ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . .344 Как предсказать результат. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360 Как узнать, что работа завершена. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .362 11. Лечение согласно диагнозу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .365 За пределами профиля ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .366 Компоненты времени отклика. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367 Исключение ненужной работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377 Признаки масштабируемости приложения. . . . . . . . . . . . . . . . . . . . . .387 12. Учебные примеры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389 Пример 1: обманчивые общесистемные данные. . . . . . . . . . . . . . . . . .390 Пример 2: большие затраты процессорного времени . . . . . . . . . . . . .396 Пример 3: длительные события SQL*Net. . . . . . . . . . . . . . . . . . . . . . . .401 Пример 4: длительные события чтения . . . . . . . . . . . . . . . . . . . . . . . . .409 Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .415 IV. Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .417 A. Глоссарий. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419 B. Греческий алфавит . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .434 C. Оптимизация коэффициента попаданий в кэш буферов базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .436 D. Формулы теории массового обслуживания M/M/m . . . . . . . . .443 E. Ссылки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .445 Алфавитный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .453

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.