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