В курсе "Oracle Database 11g: Передовые методы PL/SQL 1.0" изучаются современные возможности PL/SQL по разработке и отладке PL/SQL-программ, наиболее эффективно взаимодействующих с базой данных и другими приложениями. Слушатели научатся использовать все функциональные возможности курсоров, пакетов, больших объектов, коллекций и методов взаимодействия с другими приложениями. Рассматриваются вопросы написания оптимального кода, использования внешних подпрограмм, написанных на языках C и Java, применения механизма детального контроля доступа, а также защиты кода от SQL-внедрений.

После успешного прохождения курса слушатели должны будут уметь:

  • Писать код, взаимодействующий с другими приложениями и операционной системой
  • Создавать приложения, использующие коллекции
  • Применять механизм детального контроля доступа
  • Писать код, взаимодействующий с большими объектами(LOBs), и использовать SecureFile LOBs
  • Защищать код от sql-внедрений
  • Создавать оптимальные с точки зрения производительности программы.

Цели курса:

  • Настройка PL/SQL кода
  • Определение и типизация различных SQL-внедрений
  • Применение стандартов кодирования, обеспечивающих неуязвимость для SQL-внедрений
  • Создание подтипов на основе имеющихся типов для приложения
  • Создание и использование коллекций
  • Выполнение внешних программ на C из PL/SQL
  • Выполнение программ на Java из PL/SQL
  • Использование механизма детального контроля доступа
  • Создание больших объектов
  • Использование пакета DBMS_LOB для поддержки больших объектов
  • Использование SecureFile LOBs
  • Использование курсоров
  • Использование дедупликаци, сжатия и шифрования для SecureFile LOBs
  • Повышение эффективности использования памяти с помощью кэширования результирующих наборов
  • Реализация кэширования PL/SQL-функций
  • Профилирование PL/SQL-приложений.

Круг слушателей:

  • Разработчики
  • Разработчики приложений
  • Разработчики на языке PL/SQL

Необходимая предварительная подготовка:

  • Oracle Database 11g: Введение в SQL
  • Oracle Database 11g: Программирование на языке PL/SQL
  • Рекомендуемая предварительная подготовка:
  • Опыт работы с SQL и PL/SQL
  • Знание Oracle Database

Программа курса:

  • Обзор среды разработки
  • SQL Developer
  • SQL*Plus
  • Рекомендации по проектированию
  • Описание предопределённых типов данных
  • Создание подтипов на основе имеющихся в приложении типов
  • Проектирование курсоров
  • Использование курсорных переменных
  • Передача курсорных переменных как параметров программ
  • Сравнение курсоров и курсорных переменных
  • Использование коллекций
  • Обзор коллекций
  • Использование ассоциативных массивов
  • Использование вложенных таблиц
  • Использование массивов переменной длины
  • Написание PL/SQL программ, использующих коллекции
  • Эффективное использование коллекций
  • Вызов внешних процедур, написанных на других языках программирования
  • Вызов из PL/SQL процедур, написанных на языке C
  • Вызов из PL/SQL процедур, написанных на языке Java
  • Применение детального контроля доступа
  • Обзор детального контроля доступа
  • Описание методов детального контроля доступа
  • Описание контекста приложения
  • Создание контекста приложения
  • Применение контекста приложения
  • Процедуры пакета DBMS_RLS
  • Применение политики
  • Представления словаря данных, содержащие информацию о детальном контроле доступа
  • Работа с большими объектами
  • Описание больших объектов (LOBs)
  • Работа с внутренними LOBs
  • Описание BFILEs
  • Создание директорий для доступа к объектам BFILEs
  • Описание пакета DBMS_LOB
  • Удаление LOBs
  • Создание временных LOBs с помощью пакета DBMS_LOB
  • Администрирование SecureFile LOBs
  • Введение в SecureFile LOBs
  • Окружениедля SecureFile LOBs
  • Использование SecureFile LOBs для хранения документов
  • Преобразование BasicFile LOBs в SecureFile LOB формат
  • Проверка производительности SecureFile LOBs
  • Разрешение дедупликации и сжатия
  • Разрешение шифрования
  • Оптимизация производительности
  • Влияние компилятора
  • Настройка производительности кода PL/SQL
  • Управление автоматическим встраиванием подпрограмм ( intra unit inlining) оптимизатором
  • Идентификация проблем использования памяти и ее настройка
  • Увеличение производительности за счет SQL и PL/SQL кэширования
  • Кэширование результатов запроса при помощи Query Result Cache
  • Использование кэширования результирующего набора SQL-запроса
  • Кэширование PL/SQL-функций
  • Анализ кода PL/SQL
  • Использование встроенных пакетов Oracle и представлений словаря данных для получения информации о коде
  • Анализ определяемых пользователем идентификаторов с помощью управляемого компилятором инструментального средстваPL/Scope
  • Получение метаданных в XML или DDL виде при помощи пакета DBMS_METADATA , например, для для пересоздания объектов
  • Профилирование и трассировка кода PL/SQL
  • Трассировка выполнения кода
  • Профилирование программ на PL/SQL
  • Защита кода от SQL-внедрений
  • Описание SQL-внедрений
  • Уменьшение зон, уязвимых для SQL-внедрений
  • Использование DBMS_ASSERT
  • Создание неуязвимого для SQL-внедрений кода
  • Проверка кода на возможность SQL-внедрений.
  • Рекомендуемые курсы для дальнейшего обучения:
  • Oracle Database 11g: Настройка приложений