В этом курсе рассматриваются различные методы исследований, которые охватывают несколько уровней детализации выполнения базой данных Oracle операторов SQL. Слушатели изучают различные способы, при помощи которых осуществляется доступ к данным и которые имеют различную эффективность в зависимости от окружающей обстановки. Также изучаются имеющиеся у пользователей возможности, позволяющие убедиться в том, что оптимизатором выбран наилучший способ доступа к данным. В данном курсе освещены темы секционирования, изучаются преимущества, которые может дать использование подсказок оптимизатору, переменных связывания и различных типов индексов.

Слушатели изучают:

  • Как идентифицировать неэффективно выполняющиеся операторы SQL
  • Основные принципы работы оптимизатора запросов
  • Как осуществлять трассировку приложений
  • Мониторинг выполнения операторов SQL в режиме реального времени
  • Как интерпретировать планы выполнения

Цели курса:

  • Научиться идентифицировать проблемные операторы SQL
  • Выполнять модификацию операторов SQL с целью оптимизации их выполнения
  • Научиться выполнению трассировки приложений
  • Начать понимать, почему оптимизатор запросов принимает те или иные решения при выборе путей доступа к данным
  • Научиться интерпретировать планы выполнения
  • Изучить эффективное использование подсказок оптимизатору
  • Научиться создавать нагрузочные тесты

Круг слушателей:

  • Разработчики приложений
  • Разработчики хранилищ данных
  • Разработчики
  • Технические консультанты
  • Специалисты служб технической поддержки

Необходимая предварительная подготовка:

Программа курса Oracle Database 11g: SQL Tuning Workshop/Настройка приложений:

  • Изучение архитектуры базы данных 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 (SQL Tuning Advisor)
  • Устаревшая или отсутствующая статистика объектов
  • Профилирование операторов SQL
  • Технологический процесс настройки плана выполнения оператора SQL и создание его профиля
  • Панель управления Database Control и консультант SQL Tuning Advisor
  • Приведение в действие выданных рекомендаций

Следующие рекомендуемые курсы: