Курс: Настройка корпоративных приложений и SQL запросов для базы данных Oracle
Продолжительность курса: 24 ак. ч.
Описание курса:
Факторы, влияющие на производительность приложений, проблемы производительности, роли оптимизации, выбор методологии оптимизации, использование табличных пространств с блоком, отличным от стандартного, механизмы мониторинга памяти, разделяемый пул и SQL- область, программная глобальная область, параметры в запросах. Использование системных представлений для мониторинга разбора SQL предложений, репозитарий XMLDB, использование OCI библиотеки и стандарта JDBC, распределенные вычисления Oracle, Oracle Weblogic сервер – основа создания распределенных вычислительных сред масштаба предприятия, xmlpublisher, объектные и агрегатные тип данных, планы выполнения запросов, трассировка запросов, статистика в Oracle.
Показать на примерах механизмы и методы оптимизации приложений как в технологии клиент-сервер, так и в многозвенной архитектуре. Настройку производительности SQL запросов. Мониторинг и трассировку SQL. Преимущества распределенных вычислений перед технологией клиент-сервер. показать новые архитектурные особенности сервера базы данных Oracle и его тонкую настройку с точки зрения эксплуатации готовых приложений. Новые возможности SQL и PL/SQL и возможности преобразования запросов с использованием распределенных вычислений на основе Oracle Weblogic сервера.
Аудитория:
Разработчики и администраторы приложений для сервера приложений и базы данных Oracle.
Необходимая подготовка:
Знание Pl/SQL, основы программирования Oracle сервера. Желательно знание концепций OOP
Результат обучения:
По окончанию курса , слушатели смогут более грамотно настраивать приложения SQL и PL/SQL. Использовать дополнительные механизмы для настройки и оптимизации приложений.
Программа курса:
Модуль 1. Факторы, влияющие на производительность приложений, проблемы производительности, роли оптимизации
• Выбор методологии оптимизации
Модуль 2. Oracle
• Логическая и физическая компоновка базы данных
• Использование табличных пространств с блоком, отличным от стандартного
Модуль 3. Процессы управления сервером, механизмы управления памятью сервера и серверными процессами
• Оптимальное использование. Механизмы мониторинга памяти
• Разделяемый пул, и SQL область. Программная глобальная область
• Фазы выполнения SQL операторов. Необходимость использования параметров в запросах
• Использование системных представлений для мониторинга разбора SQL предложений
Модуль 4. Понятие параллельного сервера. TNS адресаты
• Настройка процессов прослушивания для работы с протоколами HTTP, FTP, WEBDav
• Репозитарий XMLDB
Модуль 5. Использование OCI библиотеки и стандарта JDBC для доступа к серверу Oracle
• Утилита SQLDeveloper - как средство разработки и отладки SQL запросов.
Модуль 6. Общая архитектура распределенных вычислений Oracle
• Фарм и Кластер, единая точка входа (SSO сервер)
• Oracle Weblogic сервер – основа создания распределенных вычислительных сред масштаба предприятия
Модуль 7. Пример использования сервера приложений для быстрой генерации отчетов в стандартных форматах (pdf, xls, rtf, html) с использованием приложения xmlpublisher – как альтернатива Oracle Reports
Модуль 8. Новые типы данных 9i, 10g.
• Функции для работы с TimeStamp Рациональное использование табличных пространств для размещения больших объектов
• Использование объектных и агрегатных типов для хранения данных
Модуль 9. Генерация плана выполнения запросов
• Команда Explain Plan
• Отображение плана выполнения запросов утилитами SQLDeveloper и JDeveloper
• Старый,добрый SQL*Plus тоже умеет отображать план выполнения запросов.
• Использование представления V$SQL_PLAN для анализа выполненных запросов
• Использование Enterprise Manager для просмотра планов выполнения запросов
Модуль 10. Методы трассировки SQL запросов
• Параметры инициализации сервера и конфигурирование сессии для проведения трассировок.
• Форматирование трассировочных файлов.
• Oracle Session Resource Profiler для получения информации о ходе выполнения операторов.
• Использование Oracle SQL Analyze для идентификации и корректировки “плохих” SQL запросов.
Модуль 11. Функционирование оптимизатора
• Оптимизатор по правилам и стоимости
• Выбор режима оптимизации на различных уровнях
• Различные пути доступа к данным. Выбор оптимального пути
• Воздействие индексов на методы доступа к данным. Типы индексов
• Индексы и ограничение целостности в базе данных
Модуль 12. Сбор статистики по объектам, схемам и системе
• Когда собирать статистику. Типы статистических данных
• Пакет DBMS_STATS и методы сбора статистики. Мониторинг автоматического сбора статистики
• Индексная статистика. Построение статистических Гистограмм
• Гистограммы и селективность выборок
Модуль 13. Управление стоимостным оптимизатором
• Параметры , влияющие на режим оптимизации. Правила использования подсказок
• Управление целями оптимизации. Категории подсказок
Модуль 14. Сортировки и группировки
• Использование аналитических функций в запросах. Управление Фреймами
• Ввод дополнительных оконных переменных в запросы. Join запросы. Объединение множества таблиц
• Использование HASH JOIN. Настройка рабочих областей памяти для выполнения HASH операций
• SQL 1999 и JOIN операции. Оценка JOIN статистики
Модуль 15. Язык манипулирования данными DML
• Выполнения сложных операторов DML с подзапросами. Оператор Merge
• Подсказки оптимизатору при выполнении больших вставок данных
Модуль 16. Стабилизация плана выполнения запроса и создание OutLines
• Использование стабильных планов
• Редактирование сохраненных OutLines
Модуль 17. Язык DDL
• Создание и изменение таблиц (DDL). Команда Cre ate Table
• Определение параметров хранения таблиц на физическом уровне
• Локальное управление табличными пространствами. Сегменты, экстенты, блоки
• Параметры блоков – почему в 10g их стало значительно меньше
Модуль 18. Создание временных транзакционных и сессионных таблиц
Модуль 19. Создание таблиц с разбивкой на партиции
• Глобальные и локальные индексы
• Ранжирование партиций, листовые и HASH партиции. Комбинированные партиции
Модуль 20. Индексные таблицы
• Доступ к данным в индексных таблицах, проблемы обновления данных
• Особенности размещения индексных таблиц в физических блоках дисковой памяти
Модуль 21. Индексы по функциям
Модуль 22. Таблицы, организованные как внешние
• Загрузка в базу данных JDBC драйвера стороннего разработчика для обеспечения доступа к другим базам данных
• Настройка безопасности доступа к протоколу TCP из Java приложений в Oracle сервере
Модуль 23. “Откладываемые” ограничения целостности и проблемы каскадного обновления первичных ключей
• Команда SET CONSTRAINT
• Изменение структуры таблицы, команда Alt er table и ограничения целостности
• Создание неуникальных индексов для первичных и уникальных ключей
• Мгновенное включение ограничений
Модуль 24. Использование функций в индексах. Deterministic функции
• Индексы и оптимизация. Необходимость использования индексов
• Особенности хранения индексов на дисковом пространстве. Кластеры. Hash кластеры с сортировкой и кластеры одной таблицы
• Необходимость использования. Практический пример преобразования некластеризованных таблиц в кластеризованные. Кластерные индексы
Модуль 25. Материализованные представления
• Сколько создавать материализованных представлений
• Типы представлений и методы обновления
• Преобразование сложных запросов в материализованные представления
Модуль 26. Оптимизация PL/SQL
• Агрегатные типы данных (массивы и таблицы PL/SQL)
• Оператор BULK COLECT и операции DML
• Извлечение данных из базы данных в PL/SQL таблицы – оператор BULK FETCH
• Преобразование типов данных. Ссылочные типы данных
• Ассоциативные таблицы и правила доступа к их элементам