ПОИСК
Быстрый заказ
ОЦЕНКА КУРСАобщая оценка курса:оценка преподавателя: Хочу скидку |
Курс PL SQL проводится как очно, так и дистанционно в формате вебинара.
Большинство приложений, работающих c базой данных Oracle, используют язык PL/SQL для операций с данными, производимыми на сервере БД. Этот курс сосредоточен на 3 основных факторах эффективной реализации приложений PL/SQL. Во-первых, излагаются продвинутые возможности языка, которые позволяют строить мощные и гибкие, способные к адаптации, приложения. Затем обсуждаются техника улучшения производительности. И, наконец, обсуждаются возможности по улучшению безопасности баз данных и приложений, для противостояния несанкционированному доступу к данным и хакерским атакам. Практически все навыки, полученные в рамках данного курса, применимы и к версии Oracle 11g. Курсы PL/SQL рекомендуются для подготовки к сертификационным экзаменам 1Z0-144 «Oracle Database 11g: Program with PL/SQL» и 1Z0-146 «Oracle Database 11g: Advanced PL/SQL», соответствующих сертификациям Oracle PL/SQL Developer Certified Associate (OCA) и Oracle Advanced PL/SQL Developer Certified Professional (OCP).
Выберите форму обучения,
чтобы увидеть актуальные даты:
РАСПИСАНИЕ ЗАНЯТИЙ
|
После изучения курса вы сможете
- Использовать внешние процедуры, содержащиеся в 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) алгоритмов и деталей реализации программных единиц от пользователей, имеющих доступ к исходному коду.
Содержание курса
Модуль 1: Продвинутое программирование: зачем его применять, и внутренние детали выполнения SQL и PL/SQL.
- Зачем применять продвинутое программирование.
- Внутренние детали выполнения SQL и PL/SQL.
- Внутренние детали PGA (Program Global Area) и выполнение SQL и PL/SQL.
- Преимущества динамического SQL.
- Динамический SQL средствами, встроенными в язык (Native Dynamic SQL).
- Динамический SQL Использование пакета DBMS_SQL.
- О коллекциях.
- Механизм Bulk Bind. Использования Коллекции.
- SQL%BULK_ROWCOUNT()
- SQL%BULK_EXCEPTIONS()
- Методы коллекций.
- Подробнее о конструкции RETURNING.
- Расширенные возможности коллекций.
- Конструкция IN INDICES OF.
- Конструкция IN VALUES OF.
- Продвинутые интерфейсы программирования.
- Обращение к классам Java из программ на PL/SQL.
- Вызов подпрограмм, написанных на C.
- Зачем программно извлекать из базы определение (метаданные) объекта?
- Извлечение метаданных c параметрами по умолчанию.
- Настраиваемый процесс извлечения метаданных.
- SET_COUNT()
- ADD_TRANSFORM()
- Использование FETCH_DDL().
- Вызов FETCH_DDL().
- SET_TRANSFORM_PARAM()
- GET_QUERY()
- FETCH CLOB()
- SET_FILTER()
- Зависимые объекты.
- SET_PARSE_ITEM()
- Получение DDL операторов для основных и зависимых объектов.
- Об изменении структуры таблицы в режиме онлайн (table redefinition).
- Использование пакета DBMS_REDEFINITION.
- Представление DBA_REDEFINITION_ERRORS.
- CAN_REDEF_TABLE()
- START_REDEF_TABLE()
- FINISH_REDEF_TABLE()
- ABORT_REDEF_TABLE()
- COPY_TABLE_DEPENDENTS()
- SYNC_INTERIM_TABLE()
- Работа с внешними BLOB. Тип BFILES.
- Работа с внутренними LOB.
- SUBSTR()
- INSTR()
- Динамические опции SECUREFILE.
- Сжатие и пакет UTL_COMPRESS.
- UTL_COMPRESS.LZ_COMPRESS()
- UTL_COMPRESS.LZ_UNCOMPRESS()
- Пакет DBMS_DESCRIBE.
- пакет UTL_MAIL
- Пакет DBMS_UTILITY.
- DBMS_UTILITY.COMPILE_SCHEMA()
- DBMS_UTILITY.DB_VERSION()
- DBMS_UTILITY.GET_PARAMETER_VALUE()
- DBMS_UTILITY.WAIT_ON_PENDING_DML()
- DBMS_UTILITY.GET_TIME()
- DBMS_UTILITY.GET_ENDIANNESS()
- пакет DBMS_FILE_TRANSFER
- Автономные транзакции (Autonomous Transactions).
- Использование директивы NOCOPY для параметров.
- Выбор оптимальных типов данных.
- Про ограничения NOT NULL.
- Полезные приемы и техники написания кода PL/SQL.
- Определённые пользователем функции SQL.
- Процесс оптимизации, выполняемый компилятором PL/SQL.
- PLSQL_OPTIMIZE_LEVEL
- Управление сообщениями, выдаваемыми при компиляции программ.
- Компиляция программ PL/SQL в код процессора (Native Execution).
- Создание нечитаемого кода (obfuscation) PL/SQL при помощи утилиты Wrap.
- Динамические секции (Chunks).
- Создание и операции с динамическими секциями.
- CREATE_TASK()
- CREATE_CHUNKS_BY_ROWID()
- CREATE_CHUNKS_BY_NUMBER_COL()
- EXECUTE_RUN_TASK()
- TASK_STATUS()
- DROP_TASK()
- Мониторинг динамических секций (Chunks).
- Конфигурирование PL/SCOPE.
- PLSCOPE_SETTINGS
- Использование информации PL/SCOPE.
- Что такое иерархический профилировщик.
- Конфигурирование профилировщика.
- Управление запусками профилировщика.
- Анализ данных, собранных профилировщиком.
- Интерпретация результатов.
- DBMSHP_RUNS
- DBMSHP_FUNCTION_INFO
- DBMSHP_PARENT_CHILD_INFO
- Использование механизма трассировки (trace facility).
- Использование пакета DBMS_TRACE для управления трассировкой.
- Изучение данных трассировки.
- Значения EVENT_KIND.
- Понимание угрозы.
- Применение контрмер.
- Понимание механизма действия и возможностей VPD.
- Подготовка к использованию VPD.
- Настройка VPD.
- Управление контекстами приложений (application context).
- Управление политиками и правилами безопасности.
Слушатели
Разработчики, администраторы и специалисты по сопровождению систем, имеющие значительный опыт в использовании Oracle SQL и PL/SQL.
Предварительная подготовка
Слушатели должны обладать навыками и знаниями, соответствующими курсам:
или аналогичным курсам по более ранним версиям Oracle