Следите за новостями

Цифра дня

226,4 млрд тг — размер рынка ecommerce в Казахстане

Oracle Database 11g: SQL Tuning Workshop

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

Целевая аудитория

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

Предварительная подготовка

Перед обучением на данном курсе слушателям необходимо прослушать курс Oracle Database 11g: Основы SQL или обладать эквивалентными знаниями и навыками.