Oracle Database 11g: SQL Tuning Workshop
Описание
В этом курсе рассматриваются различные методы исследований, которые охватывают несколько уровней детализации выполнения базой данных Oracle операторов SQL. Слушатели изучают различные способы, при помощи которых осуществляется доступ к данным и которые имеют различную эффективность в зависимости от окружающей обстановки. Также изучаются имеющиеся у пользователей возможности, позволяющие убедиться в том, что оптимизатором выбран наилучший способ доступа к данным. В данном курсе освещены темы секционирования, изучаются преимущества, которые может дать использование подсказок оптимизатору, переменных связывания и различных типов индексов.
Слушатели изучают:
- Как идентифицировать неэффективно выполняющиеся операторы SQL
- Основные принципы работы оптимизатора запросов
- Как осуществлять трассировку приложений
- Мониторинг выполнения операторов SQL в режиме реального времени
- Как интерпретировать планы выполнения
Необходимая предварительная подготовка:
- Курс Oracle Database 11g: Основы SQL
Аудитория курса:
- Разработчики приложений
- Разработчики хранилищ данных
- Разработчики
- Технические консультанты
- Специалисты служб технической поддержки
Программа курса
Изучение архитектуры базы данных Oracle
Обзор архитектуры сервера базы данных Oracle. Обзор структур оперативной памяти сервера базы данных Oracle. Роль фоновых процессов. Автоматическое управление разделяемой памятью. Автоматическое управление памятью выполняемых операторов SQL. Автоматическое управление памятью. Архитектура внешней памяти базы данных. Логические и физические структуры базы данных Oracle.
Введение в процесс настройки операторов SQL
Причины неэффективного выполнения операторов SQL. Имеющиеся программные решения по отслеживанию текущей производительности. Обзор утилит, предназначенных для мониторинга и настройки производительности. Страницы производительности Enterprise Manager, предназначенные для настройки в ответ на снижение производительности. Настройка производительности с учетом разделения времени реакции на время потребления CPU и время ожидания. Масштабируемость и ее взаимосвязь с дизайном, реализацией и конфигурированием приложения. Наиболее распространенные ошибки, допускаемые при проектировании и программировании приложений. Методология упреждающей настройки производительности.
Введение в оптимизатор запросов
Структурированный язык запросов (SQL). Обзор представления оператора SQL, его реализации и выполнения. Синтаксический анализ оператора SQL: обзор. Для чего нужен оптимизатор? Шаги оптимизации во время операции жесткого разбора (hard parse). Оптимизатор по стоимости (Cost-Based Optimizer — CBO). Контроль поведения оптимизатора. Функциональные возможности оптимизатора и их зависимость от выпуска базы данных Oracle.
Типы операций доступа, выбираемые оптимизатором
Определение способов доступа к строкам. Основные структуры данных и пути доступа. Полный просмотр таблицы. Индексы: обзор. Использование индексов; влияние столбцов, для которых допустимы неопределенные значения (NULL). Битовые индексы, составные и невидимые индексы. Рекомендации по использованию и управлению индексами. Кластеры.
Интерпретация плана выполнения
Что такое план выполнения. Взаимосвязи между наиболее важными динамическими представлениями производительности. Автоматизированный репозиторий рабочей нагрузки AWR. Создание отчета о выполненных операторах SQL на основе данных AWR. Обзор мониторинга операторов SQL. Чтение более сложных планов выполнения. Повторный просмотр плана выполнения. Взгляд на то, что происходит по ту сторону плана выполнения (что по сути стоит за планом выполнения).
Учебный пример: преобразование типа «звезда»
Модели схемы данных типа «звезда» и «снежинка». План выполнения без преобразования типа «звезда». Получение строк из таблицы фактов с ее соединением с одной и всеми таблицами измерений. Соединение промежуточного результирующего набора строк с таблицами измерений. Использование битовых индексов соединений (Bitmap Join Indexes).
Статистики оптимизатора
Описание статистик оптимизатора и типы статистик. Обзор статистики по группе столбцов. Обзор статистик по выражению. Сбор системных статистик. Предпочтения статистик: обзор. Обзор динамической выборки, осуществляемой оптимизатором (Optimizer Dynamic Sampling). Блокировка статистик.
Использование переменных связывания (bind variables)
Разделение курсоров и различные значения литералов. Разделение курсоров и переменные связывания. Переменные связывания в SQL*Plus и Enterprise Manager. Усовершенствования в механизме разделения курсоров. Обзор адаптивного разделения курсоров. Взаимодействие с механизмом адаптивного разделения курсоров.
Использование подсказок оптимизатору
Обзор подсказок оптимизатору. Типы подсказок оптимизатору. Указание подсказок в операторах SQL. Правила использования подсказок оптимизатору. Рекомендации по использованию подсказок. Категории подсказок оптимизатору. Подсказки, указывающие цели оптимизации и используемые подходы Дополнительные подсказки оптимизатору.
Трассировка приложения
Проблема сквозной трассировки приложения. Местоположение диагностических трассировочных файлов. Что такое служба (service)?Использование служб совместно с пользовательскими приложениями. Трассировка собственного сеанса. Содержимое трассировочного файла, созданного при помощи средства SQL Trace. Форматирование трассировочных файлов SQL Trace: обзор. Запуск утилиты TKPROF.
Автоматизация настройки операторов SQL
Проблемы, связанные с трассировкой приложений. Обзор консультанта по настройке операторов SQL (SQL Tuning Advisor). Устаревшая или отсутствующая статистика объектов. Профилирование операторов SQL. Технологический процесс настройки плана выполнения оператора SQL и создание его профиля. Панель управления Database Control и консультант SQL Tuning Advisor. Приведение в действие выданных рекомендаций.
Расписание
Время проведения курса пока не определено, отправьте нам заявку, пожалуйста.
Возможно, мы предложим пройти курс в дистанционном режиме или организуем выездной курс, если у Вас группа.