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