Добавлен: 16.03.2024
Просмотров: 21
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Курс: Администрирование Oracle
11g
Тема: Мониторинг и настройка производительности БД
Oracle.
Часть 3.
Автор: Барабанщиков И.В.
План
• Разбор SQL-команды
• Статистики оптимизатора
• Консультант по настройке SQL-кода
• Консультант по настройке путей доступа
• Автоматические задачи сопровождения
Производительность SQL- кода
• Важная задача DBA –
обеспечение хорошей
производительности
команд SQL.
• Для этого надо регулярно обновлять статистики по объектам
БД
• Оптимизатор использует эти статистики при выборе плана выполнения для SQL- запроса.
Разбор SQL-команды
Статистики оптимизатора
• Охватывают статистические данные о таблицах, столбцах, индексах.
• Хранятся в словаре данных.
• Предоставляют оптимизатору статистически корректный моментальный снимок сведений о хранении и распределении данных.
• Оптимизатор использует статистики
при выборе пути доступа к данным.
Какие статистики собираются
Для таблицы:
• Размер таблицы в блоках БД
• Количество строк
• Средний размер строки
• Количество мигрированных и сцепленных строк
Для индекса:
• Размер индекса в блоках БД
• Высота В-дерева
• Количество удаленных строк в листовых блоках
Сбор статистик оптимизатора
• Фактически статистики изменяются при обновлении данных таблицы.
• Сопровождение статистик распределения данных в реальном времени не делается
, т.к. это отразилось бы на производительности БД.
• Статистические данные о таблицах и индексах собираются периодически
• Сбор статистик выполняется с помощью процедур пакета
DBMS_STATS
Консультант настройки SQL
• Анализирует отдельную команду
SQL.
• Выполняет:
- анализ и сбор статистик
- анализ альтернативных планов выполнения
- профилирование
SQL
• Дает рекомендации
по улучшению ее производительности.
Пример: SQL Tuning Advisor
• ADDM определяет SQL-команды, создавшие наибольшую нагрузку.
• DBA определяет какие из них надо настроить.
Пример: SQL Tuning Advisor
Консультант доступа к данным из
SQL
• Анализирует все команды SQL
за данный период.
• Проверяет имеющиеся пути доступа
к данным.
• Выдает рекомендации по созданию
:
- дополнительных индексов;
- материализованных представлений.
Пример: SQL Access Advisor
Автоматически выполняемые задачи сопровождения
• Сбор статистик оптимизатора.
• Выполнение сегментного консультанта.
• Настройка SQL-кода.
Выполнение заданий инициирует планировщик БД.
Задания выполняются в действующем по умолчанию окне сопровождения.
Автоматически выполняемые задачи сопровождения
ИТОГИ
• Для формирования оптимальных планов выполнения SQL-операторов
важно иметь актуальные значения
статистик.
• В СУБД Oracle 11g сбор статистик
выполняется автоматически 1 раз в сутки.
• Для настройки SQL-операторов можно применять консультанты:
- SQL Tuning Advisor
- SQL Access Advisor
Самонастраиваемая БД
Курс: Администрирование Oracle
11g
Тема: Мониторинг и настройка производительности БД
Oracle.
Часть 2.
Автор: Барабанщиков И.В.
План
• Статистики и метрики БД
• Наборы моментальных снимков
• Консультанты:
- ADDM
- Консультанты по памяти
- Консультанты по пространству
Как использовать статистики?
• Сами по себе статистики содержат
мало полезной
информации.
• Статистика – это просто
накопительное
значение
некоторой характеристики
• Гораздо интереснее знать не абсолютное значение статистики, а
скорость ее
изменения.
Метрика
Метрика –
нормализованная статистика.
Метрика определяет
скорость изменения
кумулятивной статистики
Пример:
Статистика
: Количество жестких разборов.
Метрика
: Количество жестких разборов за единицу времени.
Наборы моментальных снимков
• Для получения метрик используются наборы моментальных снимков (snapshot
sets).
• Snapshot set определяется на основе пары моментальных снимков.
• Набор моментальных снимков создается про- цедурой
DBMS_REPOSITORY.CREATE_BASELINE
()
• Snapshot set используется для удержания этой пары моментальных снимков.
• Набор моментальных снимков создают для репрезентативных периодов времени.
Автоматический диагностический монитор базы данных (ADDM)
В состав БД Oracle 11g входит консультант
ADDM, который анализирует период между двумя последними сборами данных.
ADDM
• ADDM автоматически отрабатывает после получения каждого нового снимка.
• ADDM выполняет профилактический анализ экземпляра БД и определяет узкие места.
• Результаты своей работы ADDM записывает в AWR.
Проблемы, которые может обнаружить ADDM
• SQL-команды, создающие большую нагрузку.
• PL/SQL-программы, которые долго работают.
• Слишком частое выполнение контрольных точек.
• Слишком большие размеры структур памяти.
• Конкуренцию блокировок.
• Проблемы дискового ввода-вывода.
• Проблемы, связанные с процессором.
• Проблемы сетевых соединений Oracle
Net.
Находки ADDM
Рекомендации ADDM
ADDM может рекомендовать изменения:
• Аппаратного обеспечения (добавить
CPU).
• Конфигурации БД (значения параметров).
• Схем (хеш-секционирование таблицы).
• Приложений (использовать связанные переменные).
• Использовать другие консультанты
(консультант настройки SQL-кода).
Консультанты (Advisors)
Консультанты – это компоненты сервера
БД, которые предоставляют DBA полезную информацию об использовании ресурсов и эффективности соответствующих ресурсов сервера.
Система консультантов
Консультанты по памяти
Memory Advisor
(Консультант использования памяти) – объединяет несколько консультантов, позволяющих выбрать наилучшие значения размеров различных компонент памяти
:
• Кеш буфера БД.
• Разделяемого пула.
• Программной глобальной области (PGA).
Пример: Memory Advisor
Консультанты по пространству
• Segment Advisor
(Сегментный консультант) – помогает найти таблицы и индексы, которые занимают больше пространства, чем надо
• Undo Management Advisor
(консультант управления информацией отмены) – помогает определить размер
ТП отмены, который необходим для удержания данных отмены в течении заданного периода времени.
Пример: Segment Advisor
Пример: Undo Management Advisor
ИТОГИ
• Для оценки производительности экземпляра БД используют метрики.
• ADDM выполняет «общий» анализ
состояния экземпляра БД
• Более детальный анализ по отдельным направлениям работы БД выполняют
специализированные консультанты.
Курс: Администрирование Oracle
11g
Тема: Мониторинг и настройка производительности БД
Oracle.
Часть 1.
Автор: Барабанщиков И.В.
План
• Распределение времени АБД
• Активное сопровождение БД
• Статистики БД
• Репозитарий рабочей нагрузки
Распределение времени
DBA
Мониторинг БД
• Основная задача
DBA поддерживать
БД в рабочем
состоянии.
• Для этого надо постоянно вести мониторинг состояния БД
и своевременно выполнять необходимые действия по сопровождению БД.
Виды сопровождения БД
Активное
сопровождение:
• Позволяет заранее обнаружить проблемы и предпринять действия до того как проблема станет значительной.
Пассивное
сопровождение:
• Реакция на проблемы происходит по мере их возникновения
Активное сопровождение БД
БД Oracle 11g имеет
встроенные средства
для активного
сопровождения:
• Автоматический репозитарий рабочей нагрузки (AWR)
• Автоматические задачи сопровождения.
• Серверные сигналы.
• Консультанты.
Статистики
• Мониторинг состояния
БД выполняется на основе статистик.
•
Статистики
– это данные, представляющие более подробные сведения о
БД и ее объектах.
• Примеры статистик:
- число чтений из кэша
- число чтений с диска
- число операций разбора
Счетчики экземпляра
• Подсчет статистик выполняется
счетчиками
экземпляра.
• Каждый счетчик ведет
подсчет по отдельной
характеристике.
• Счетчики экземпляра хранятся в SGA.
Счетчики экземпляра
• Все счетчики являются
кумулятивными
(накопительными).
• При старте экземпляра значения всех счетчиков равны нулю.
• В процесс работы происходит увеличение значения счетчика.
Просмотр статистик
Текущие значения статистик можно узнать через следующие динамические обзоры:
• V$SYSSTAT – по экземпляру в целом
• V$SESSTAT – по конкретному сеансу
Использование статистик в старых версиях СУБД Oracle
В старых версиях БД Oracle DBA должен был работать со статистиками вручную.
Сохранение статистик в Oracle
11g
• БД каждые 60 минут копирует статистики из SGA и сохраняет их в репозитарии рабочей нагрузки в виде моментального снимка.
• Эти снимки заносятся на диск фоновым процессом MMON.
Репозитарий рабочей нагрузки
(AWR)
• AWR – это встроенный в БД репозитарий, в котором хранится информация о производи-тельности экземпляра.
• AWR содержит сотни таблиц, все они принадлежат схеме SYSMAN и хранятся в
ТП SYSAUX.
• Для работы с AWR надо использовать ЕМ или пакет
DBMS_WORKLOAD_REPOSITORY.
• AWR служит основой для реализации всех возможностей самоуправления.
Инфраструктура AWR
Инфраструктура AWR
Инфраструктура AWR состоит из 2-х частей:
1. Возможность сбора статистик в
памяти (статистики):
• Они доступны через обзоры V$.
2. Моментальные снимки:
• Это срез значений статистик на конкретный момент времени.
• Они доступны через обзоры DBA_* или через EM Database Control.
Почему надо сохранять статистики?
• Статистики не должны теряться в случае отказа экземпляра.
• Для некоторых видов анализа нужны
хронологические данные.
• Может произойти переполнение
памяти – старые статистики замещаются новыми.
Автоматический сбор статистик
AWR дает возможность автоматического сбора статистик без участия администратора БД.
Управление AWR
Параметры конфигурации AWR:
• Период удержания (по умолчанию – 8 дней).
• Интервал между сбором данных (по умолчанию – 60 минут).
• Уровень собираемой информации
(параметр инициализации
STATISTICS_LEVEL
):
-
BASIC
(собирается минимум информации)
-
TYPICAL
(рекомендуется)
-
ALL
(собираются данные для настройки SQL)
ИТОГИ
• Важно выполнять активное сопровождение БД, чтобы заранее выявлять негативные моменты.
• Информация о состоянии БД собирается в виде различных статистик.
• Статистики являются кумулятивными.
• Для автоматизации сбора и последующей обработки статистик предназначен AWR.
Курс: Администрирование Oracle
11g
Тема. Утилиты Oracle для перемещения данных.
Часть 2. SQL*Loader
Автор: Барабанщиков И.В.
План
• Назначение утилиты SQL*Loader
• Архитектура SQL*Loader
• Файлы SQL*Loader
• Способы загрузки данных
• SQL*Loader и ОЕМ
55
Назначение SQL*Loader
• SQL*Loader - это утилита, используемая для загрузки данных из внешних файлов в таблицы базы данных
Oracle.
• Эта утилита имеет мощную машину разбора загружаемых данных и накладывает небольшие ограничения на формат данных во внешнем файле.
56
57
Входные файлы данных
•
SQL*Loader читает данные из одного или более файлов, имена которых заданы в управляющем файле.
•
С позиции SQL*Loader информация в файле
данных располагается в виде записей
(records).
•
Файл данных может быть в одном из трех форматов и в зависимости от этого содержать записи фиксированного формата,
переменного формата или потокового формата.
•
Формат записи может быть задан в параметре
INFILE управляющего файла.
•
Если ни один формат не указан, по умолчанию предполагается потоковый формат записей.
58
Управляющий файл (Control
File)
• Это текстовый файл - содержит инструкции языка, понимаемого утилитой SQL*Loader.
• Управляющий файл загрузчика сообщает утилите
SQL*Loader, где найти загружаемые данные, как
анализировать и интерпретировать данные, куда их вставлять и многое другое.
• управляющий файл загрузчика имеет три секции:
- Первая секция
содержит общую информацию о сеансе
:
имя входного файла данных, количество пропускаемых записей во входном файле данных (SKIP) и т.д.
- Вторая секция состоит из одного или более блоков INTO
TABLE.
Каждый из этих блоков содержит информацию о таблице, в
которую загружаются данные
(имя таблицы и ее столбцы).
- Третья секция необязательная и, если она имеется, то содержит входные данные.
59