Слушатели научатся использовать все функциональные возможности курсоров, пакетов, больших объектов, коллекций и методов взаимодействия с другими приложениями.
Слушатели изучат:
современные возможности PL/SQL по разработке и отладке PL/SQL-программ, наиболее эффективно взаимодействующих с базой данных и другими приложениями.
написание оптимального кода
использование внешних подпрограмм, написанных на языке C и Java
применение механизма детального контроля доступа, а также защиты кода от SQ-внедрений
Необходимая предварительная подготовка:
Знания SQL и PL/SQL
Oracle Database: Разработка программных модулей на PL/SQL
Oracle Database: Основы SQL
Технический английский язык
Цель курса:
создание эффективных пакетов и программных единиц PL/SQL
написание кода, взаимодействующего с другими приложениями и операционной системой
создание приложений, использующих коллекции
создание оптимальных с точки зрения производительности программ.
применение механизмов детального контроля доступа
написание кода, взаимодействующего с большими объектами (LOBs), и использование SecureFile LOBs
Аудитория курса:
Разработчики приложений
Администраторы баз данных
Все материалы по курсу предоставляются вендором на английском языке.
Введение
Задачи курса. Расписание курса. Описание сред разработки. Таблицы, данные и инструменты, используемые в этом курсе.
Обзор концепций программирования на PL/SQL
Структура блока PL/SQL. Пакеты, процедуры и функции. Курсоры. Обработка исключений. Зависимости.
Дизайн кода PL/SQL
Описание предопределённых типов данных. Создание подтипов на основе имеющихся в приложении типов. Использование разных подходов при дизайне курсоров. Использование переменных курсоров. Белый список.
Обзор коллекций
Обзор коллекций. Использование ассоциативных массивов. Навигация при помощи ассоциативных методов. Использование вложенных таблиц. Использование массивов переменной длины. Сравнение вложенных таблиц и массивов переменной длины.
Использование коллекций
Написание PL/SQL программ, использующих коллекции. Эффективное использование коллекций. Улучшения в типах переменных привязки в PL/SQL.
Манипулирование большими объектами
Работа с LOB. Обзор SecureFile LOB.
Использование продвинутых методов интерфейсов
Вызов внешних программ из PL/SQL. Преимущества вызова внешних процедур. Вызов внешних процедур, написанных на других языках программирования. Вызов из PL/SQL процедур, написанных на языке C. Вызов из PL/SQL процедур, написанных на языке Java.
Настройка производительности кода PL/SQL
Влияние компилятора. Настройка кода PL/SQL. Управление автоматическим встраиванием подпрограмм. Идентификация проблем использования памяти и ее настройка. Сетевые проблемы.
Увеличение производительности за счет кэширования
Описание кэширования результатов. Использование кэша результатов запросов. Использование кэша функций PL/SQL. Обзор особенностей кэша функций PL/SQL.
Анализ кода PL/SQL
Информация о коде. Области видимости PL/SQL. Пакет DBMS_METADATA. Улучшения PL/SQL.
Профилирование и трассировка кода PL/SQL
Трассировка выполнения PL/SQL. Шаги трассировки PL/SQL.
Внедрение виртуальной частной базы данных при помощи детального контроля доступа
Описание работы детального контроля доступа. Описание методов детального контроля доступа. Описание контекста приложения. Создание контекста приложения. Применение контекста приложения. Процедуры пакета DBMS_RLS. Применение политики. Представления словаря данных, содержащие информацию о детальном контроле доступа.
Защита кода от SQL-внедрений
Описание SQL-внедрений. Уменьшение зон, уязвимых для SQL-внедрений. Использование DBMS_ASSERT.