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

Профессиональные разработчики PL/SQL запросов и модулей, которые будут использовать новые возможности сервера базы данных 19с
Необходимая подготовка: знание PL/SQL, основы настройки и функционирования сервера базы данных в объеме моего курса «Профессиональный SQL и PL/SQL». Стандартные курсы Oracle SQL и PL/SQL, основы Java, основы оптимизации SQL запросов, работа с планами выполнения SQL запросов.

Программа
    • Архитектура сервера с точки зрения разработчика запросов.

      • Несколько баз данных в одном контейнере, которые используют общие ресурсы сервера.
      • Корневая и подключаемая база данных. Принципы взаимодействия.
      • Пример создания и подключения базы данных к общему контейнеру. Клонирование базы данных для проведения тестов разработчика.
      • Триггеры или команды для автоматического запуска подключаемых баз данных
      • Архитектура используемой памяти сервером. Новые разделы памяти. InMemory область для работы с таблицами в памяти. Сравнение с областью ResultCache.
      • Глобальные и локальные пользователи. «Перемещение» сессий пользователя между схемами в подключаемых базах данных.
    • Порядок выполнения SQL запросов

      • Построение плана запроса. Адаптивные планы и адаптивные статистики. Изменение плана выполнения запроса в процессе его выполнения. Параметры базы данных, воздействующие на адаптивные планы и адаптивные статистики.
      • Result Cache и таблицы InMemory - сравнение. Индексы и InMemory таблицы - когда что использовать. Особенности подготовки сервера для работы с таблицами в памяти. Сравнение доступа к таблицам InMemory и к таблицам, запросы к которым используют индексы.
      • Особенности 19с при работе с индексами. Несколько индексов для одной колонки. Невидимые индексы. Подсказки оптимизатору для работы с невидимыми индексами.
    • Новые особенности 12с при построении таблиц.

      • Расширение типа данных varchar2 до 32к.
      • Невидимые колонки. Виртуальные колонки. Идентификационные колонки. Использование детерминированных функций в виртуальных колонках.
      • Автоматическое управление индексами
      • Версии функций и вычисляемые колонки таблиц на практических примерах. Подготовка сервера базы данных для работы с вычисляемыми колонками.
      • Сокрытие информации в колонках от непривилегированных пользователей. Пакет dbms_redact на практических примерах. Определение и перераспределение политик доступа к информации в колонках таблиц.
      • ILM и ADO механизмы сервера для управления жизненным циклом данных. Механизмы для архивации.
      • Перевод таблицы в режим архивации строк. Управление сессией пользовательского процесса для отображения или сокрытия архивированных строк. ILM-ADO механизмы для управления партициями таблиц - обзор.
      • Партиционные, интервально - ссылочные таблицы, создание и управление. Локальные индексы для партиций, включение и отключение части локального партиционного индекса. Каскадное удаление данных в ссылочных партиционных таблицах. Упраление партиционными сегментами.
    • Выполнение SQL запросов.

      • Боковые запросы и транзитивная передача параметров в подзапросы. Передача параметров в PipeLined процедуры в подзапросах. OuterJoin и передача параметров.
      • Ограничение количества возвращаемых строк из запросов - Fetch size, SizeOf, Sample и другие возможности в управлении количеством обрабатываемых строк.
      • PL/SQL функции и процедуры в SQL запросах. Сравнение вызовов с использованием java клиента. Различия между встроенными функциями и InLine функциями в SQL запросах.
      • Динамический SQL и возвращение результатов из хранимых процедур и функций - пример java клиента
      • Назначение полномочий на использование таблиц через роли для PL/SQL модулей. Представления и PL/SQL модули с правами вызывающего.
      • JSON в базе данных. Функции для извлечения информации из JSON документов. Ограничения на CLOB поля в таблицах для проверки целостности хранения JSON данных. Преобразование JSON данных к реляционным аналогам и обратно.