Передовые методы PL/SQL
Or12c_APLS0
Слушатели научатся использовать все функциональные возможности курсоров, пакетов, больших объектов, коллекций и методов взаимодействия с другими приложениями.
Аудитория
- Разработчики приложений
- Администраторы баз данных
Цели курса
- создание эффективных пакетов и программных единиц PL/SQL
- написание кода, взаимодействующего с другими приложениями и операционной системой
- создание приложений, использующих коллекции
- создание оптимальных с точки зрения производительности программ.
- применение механизмов детального контроля доступа
- написание кода, взаимодействующего с большими объектами (LOBs), и использование SecureFile LOBs
Результат обучения
Слушатели изучат:
- современные возможности PL/SQL по разработке и отладке PL/SQL-программ, наиболее эффективно взаимодействующих с базой данных и другими приложениями.
- написание оптимального кода
- использование внешних подпрограмм, написанных на языке C и Java· применение механизма детального контроля доступа, а также защиты кода от SQ-внедрений
Предварительный уровень подготовки
- Знания SQL и PL/SQL
- Oracle Database: Разработка программных модулей на PL/SQL
- Oracle Database: Основы SQL
- Рекомендуемые связанные курсы: Oracle Database: SQL Tuning for Developers
Программа курса
1. Введение
- Задачи курса.
- Расписание курса.
- Описание сред разработки.
- Таблицы, данные и инструменты, используемые в этом курсе
2. Обзор концепций программирования на PL/SQL
- Структура блока PL/SQL.
- Пакеты, процедуры и функции.
- Курсоры.
- Обработка исключений.
- Зависимости.
3. Дизайн кода PL/SQL
- Описание предопределённых типов данных.
- Создание подтипов на основе имеющихся в приложении типов.
- Использование разных подходов при дизайне курсоров.
- Использование переменных курсоров.
- Белый список.
4. Обзор коллекций
- Обзор коллекций.
- Использование ассоциативных массивов.
- Навигация при помощи ассоциативных методов.
- Использование вложенных таблиц.
- Использование массивов переменной длины.
- Сравнение вложенных таблиц и массивов переменной длины.
5. Использование коллекций
- Написание PL/SQL программ, использующих коллекции.
- Эффективное использование коллекций.
- Улучшения в типах переменных привязки в PL/SQL.
6. Манипулирование большими объектами
- Работа с LOB.
- Обзор SecureFile LOB.
7. Использование продвинутых методов интерфейсов
- Вызов внешних программ из PL/SQL.
- Преимущества вызова внешних процедур.
- Вызов внешних процедур, написанных на других языках программирования.
- Вызов из PL/SQL процедур, написанных на языке C.
- Вызов из PL/SQL процедур, написанных на языке Java.
8. Настройка производительности кода PL/SQL
- Влияние компилятора.
- Настройка кода PL/SQL.
- Управление автоматическим встраиванием подпрограмм.
- Идентификация проблем использования памяти и ее настройка.
- Сетевые проблемы.
9. Увеличение производительности за счет кэширования
- Описание кэширования результатов.
- Использование кэша результатов запросов.
- Использование кэша функций PL/SQL.
- Обзор особенностей кэша функций PL/SQL.
10. Анализ кода PL/SQL
- Информация о коде.
- Области видимости PL/SQL.
- Пакет DBMS_METADATA.
- Улучшения PL/SQL.
11. Профилирование и трассировка кода PL/SQL
- Трассировка выполнения PL/SQL.
- Шаги трассировки PL/SQL.
12. Внедрение виртуальной частной базы данных при помощи детального контроля доступа
- Описание работы детального контроля доступа.
- Описание методов детального контроля доступа.
- Описание контекста приложения.
- Создание контекста приложения.
- Применение контекста приложения.
- Процедуры пакета DBMS_RLS.
- Применение политики.
- Представления словаря данных, содержащие информацию о детальном контроле доступа.
13. Защита кода от SQL-внедрений
- Описание SQL-внедрений.
- Уменьшение зон, уязвимых для SQL-внедрений.
- Использование DBMS_ASSERT.