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