По окончанию курса "Oracle Database: Передовые методы PL/SQL и настройки производительности"Вы сможете:
- Использовать внешние процедуры, содержащиеся в DLL, и интегрировать в приложение PL/SQL.
- Вызывать методы из классов Java, загруженных в БД и работающих с данными через интерфейс JDBC.
- Использовать динамический SQL (dynamic SQL) для расширения функциональности программ и повышения их гибкости, как и встроенные в язык конструкции (native dynamic SQL), так и процедуры пакета DBMS_SQL.
- Определять уязвимости программ и принимать контрмеры, препятствующее атакам типа SQL injection.
- Включать коллекции и другие продвинутые типы переменных в логику приложения для повышения эффективность и скорости выполнения.
- Работать с большими объектами (LOB - Large OBject) (в том числе обработка данных отдельными фрагментами и динамическое изменение
- параметров механизма хранения SecureFiles).
- Расширение функциональных возможностей приложений баз данных при помощи поставляемых вместе с системой пакетов (system supplied packages), которые дают возможность прикладному программисту задействовать возможности внутренних механизмов и подсистем Oracle, внешние почтовые службы и т.д.
- Получать информацию, необходимую для настройки производительности, при помощи пакета DBMS_PROFILER и для отладки приложения с помощью пакета DBMS_TRACE.
- Писать эффективный код PL/SQL и избегать распространённых ошибок кодирования.
- Переключать режим компиляции PL/SQL между компиляцией в код процессора (native mode) и режимом компиляции в промежуточный код (interpreted mode).
- Контролировать и управлять процессом компиляции для достижения высокой производительности подпрограмм PL/SQL.
- Анализировать структуру кода PL/SQL с помощью PL/Scope.
- Анализировать производительность приложения PL/SQL и находить узкие места (bottleneck) при помощи иерархического профилировщика (PL/SQL Hierarchical Profiler).
- Реализовывать тонко настраиваемые (fine-grained) механизмы безопасности в составе продвинутой модели безопасности, используя контексты приложений (application context) и виртуальные частные базы данных Oracle (VPD-virtual private database).
- Применять динамическое разделение на секции (dynamic partitioning) и распараллеливание DML, используя пакет DBMS_PARALLEL_EXECUTE.
- Использовать утилиту wrap для маскирования (obfuscation) алгоритмов и деталей реализации программных единиц от пользователей, имеющих доступ к исходному коду.
Аудитория: Разработчики, администраторы и специалисты по сопровождению систем, имеющие значительный опыт в использовании Oracle SQL и PL/SQL
Программа курса
1. Введение Задачи курса. Описание сред разработки. Таблицы, данные и инструменты, используемые в этом курсе.
2. Дизайн кода PL/SQL Создание подтипов на основе имеющихся типов. Использование разных подходов при дизайне курсоров. Использование курсорных переменных.
3. Динамический SQL в PL/SQL Native Dynamic SQL и пакет DBMS_SQL.
4. Обзор коллекций Обзор коллекций. Использование ассоциативных массивов. Использование вложенных таблиц. Использование массивов переменной длины. Методы работы с коллекциями.
5. Использование коллекций Написание PL/SQL программ, использующих коллекции. Эффективное использование коллекций. Сравнение вложенных таблиц и массивов переменной длины.
6. Манипулирование большими объектами Работа с LOB. Пакет DBMS_LOB.
7. Использование SecureFile формата для LOB объектов. Возможности SecureFile формата. Миграция в SecureFile с помощью пакета DBMS_REDEFINITION.
8. Вызов внешних программ из PL/SQL. Преимущества вызова внешних процедур. Вызов из PL/SQL процедур, написанных на языке C. Вызов процедур, написанных на языке Java.
9. Настройка производительности кода PL/SQL Влияние компилятора. Настройка кода PL/SQL. Управление автоматическим встраиванием подпрограмм. Идентификация проблем использования памяти и ее настройка. Массовое связывание.
10. Увеличение производительности за счет кэширования Использование кэша результатов запросов. Кэширование PL/SQL функций. Обзор особенностей кэша функций PL/SQL.
11. Анализ кода PL/SQL Информация о коде. Механизм PLScope. Некоторые подпрограммы пакета DBMS_UTULITY. Пакет DBMS_METADATA.
12. Профилирование и трассировка кода PL/SQL Трассировка выполнения PL/SQL. Шаги трассировки PL/SQL. Профилировщик DBMS_HPROF.
13. Безопасность в PLSQL. Права создателя и права вызывающего пользователя. Белые списки. Внедрение виртуальной частной базы данных при помощи детального контроля доступа. Создание контекста приложения. Процедуры пакета DBMS_RLS. Применение политики.
14. Защита кода от SQL-внедрений Описание SQL-внедрений. Уязвимый для SQL-внедрений код. Использование DBMS_ASSERT.
15. Дополнительные механизмы безопасности. Шифрование и маскирование.
16. Условная компиляция и обфускация кода. Параметр PLSQL_CCFLAGS. Утилита WRAP, пакет DBMS_DDL.
17. Динамическое распараллеливание в PLSQL. Пакет DBMS_PARALLEL_EXECUTE.
|