Учебный курс "Настройка корпоративных приложений и SQL запросов для базы данных Oracle"
Краткое содержание курса: факторы, влияющие на производительность приложений, проблемы производительности, роли оптимизации, выбор методологии оптимизации, использование табличных пространств с блоком, отличным от стандартного, механизмы мониторинга памяти, разделяемый пул и SQL- область, программная глобальная область, параметры в запросах. Использование системных представлений для мониторинга разбора SQL предложений, репозитарий XMLDB, использование OCI библиотеки и стандарта JDBC, распределенные вычисления Oracle, Oracle Weblogic сервер – основа создания распределенных вычислительных сред масштаба предприятия, xmlpublisher, объектные и агрегатные тип данных, планы выполнения запросов, трассировка запросов, статистика в Oracle.
Общие данные: основная задача курса - показать на примерах механизмы и методы оптимизации приложений как в технологии клиент-сервер, так и в многозвенной архитектуре, настройку производительности SQL запросов, мониторинг и трассировку SQL, преимущества распределенных вычислений перед технологией клиент-сервер, новые архитектурные особенности сервера базы данных Oracle и его тонкую настройку с точки зрения эксплуатации готовых приложений, новые возможности SQL и PL/SQL и возможности преобразования запросов с использованием распределенных вычислений на основе Oracle Weblogic сервера.
Продолжительность: 3 дня (24 учебных часа).
В курсе 26 модулей, к каждому модулю предусмотрены лабораторные работы (на лабораторные работы, выполняемые под руководством преподавателя, отводится 50 % времени учебного курса).
Для кого предназначен: разработчики и администраторы приложений для сервера приложений и базы данных Oracle.
Начальная подготовка: знание Pl/SQL, основ программирования Oracle сервера, желательно также знание концепций объектно-ориентированного программирования.
План курса:
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). Команда Create Table. Определение параметров хранения таблиц на физическом уровне. Локальное управление табличными пространствами. Сегменты, экстенты, блоки. Параметры блоков – почему в 10g их стало значительно меньше.
18. Создание временных транзакционных и сессионных таблиц.
19. Создание таблиц с разбивкой на партиции. Глобальные и локальные индексы. Ранжирование партиций, листовые и HASH партиции. Комбинированные партиции.
20. Индексные таблицы. Доступ к данным в индексных таблицах, проблемы обновления данных. Особенности размещения индексных таблиц в физических блоках дисковой памяти.
21. Индексы по функциям
22. Таблицы, организованные как внешние. Загрузка в базу данных JDBC драйвера стороннего разработчика для обеспечения доступа к другим базам данных. Настройка безопасности доступа к протоколу TCP из Java приложений в Oracle сервере.
23. “Откладываемые” ограничения целостности и проблемы каскадного обновления первичных ключей. Команда SET CONSTRAINT. Изменение структуры таблицы, команда Alter table и ограничения целостности. Создание неуникальных индексов для первичных и уникальных ключей. Мгновенное включение ограничений.
24. Использование функций в индексах. Deterministic функции. Индексы и оптимизация. Необходимость использования индексов. Особенности хранения индексов на дисковом пространстве. Кластеры. Hash кластеры с сортировкой и кластеры одной таблицы. Необходимость использования. Практический пример преобразования некластеризованных таблиц в кластеризованные. Кластерные индексы.
25. Материализованные представления. Сколько создавать материализованных представлений. Типы представлений и методы обновления. Преобразование сложных запросов в материализованные представления.
26. Оптимизация PL/SQL. Агрегатные типы данных (массивы и таблицы PL/SQL). Оператор BULK COLECT и операции DML. Извлечение данных из базы данных в PL/SQL таблицы – оператор BULK FETCH. Преобразование типов данных. Ссылочные типы данных. Ассоциативные таблицы и правила доступа к их элементам.
|