Файл: Тема Мониторинг и настройка производительности бд.pdf

ВУЗ: Не указан

Категория: Решение задач

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 15

Скачиваний: 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