Курсы Сибинфоцентра
Ваша корзина пуста
Сумма: 0 руб.

Профессиональное использование SQL и PL/SQL в Oracle 11g-19с

О курсе

Профессиональное использование SQL и PL/SQL в Oracle 11g-19с

  • Оригинальное название: Профессиональное использование SQL и PL/SQL в Oracle 11g-19с
  • Номер курса: Mir_SQL_PLSQL_Adv
  • Вендор:

Аудитория: Профессиональные разработчики PL/SQL, желающие упорядочить свои знания в PL/SQL и разрабатывать приложения, соответствующие современным стандартам.

Необходимая подготовка: знание Pl/SQL, основы программирования Oracle сервера.

Цель: по окончанию курса слушатели смогут создавать приложения и запросы на SQL и PL/SQL на новом, современном уровне.

Задачи: показать новые архитектурные особенности сервера Oracle 11g, 12C и его тонкую настройку с точки зрения разработчика серверной части приложения с использованием SQL/PLSQL. Новые возможности SQL и PL/SQL. Настройку производительности SQL запросов. Мониторинг и трассировку SQL. Разработку Web приложений средствами PL/SQL.

Расписание и цены
Этот курс набирает желающих участников. Отправьте заявку на участие, а когда наберётся достаточное количество, мы с вами свяжемся.
Заказать обучение
Программа курса

  • Oracle 11, 19 – интегрированная и контейнерная база данных. Логическая и физическая компоновка базы данных. Процессы управления. Архитектура табличных пространств. Оптимальное использование памяти сервером. Понятие параллельного сервера. TNS адресаты. Настройка процессов прослушивания. NLS_LANG и настройка многоязыковой поддержки – особенности.  Новые возможности Oracle 19с (обзор).
  • Новые типы данных 11g, 19c. Функции для работы с TimeStamp Рациональное использование табличных пространств для размещения больших объектов. Использование объектных и агрегатных типов для хранения данных. 
  • SELECT. Использование подзапросов во фразе From. Подзапросы. Коррелированные подзапросы. Древовидные структуры. Новые конструкции во фразе SELECT. (rollup, cube, case…). Аналитические функции в запросах. Вложенные таблицы (CURSOR) в операторе SELECT.
  • Язык манипулирования данными DML. выполнения сложных операторов DML с подзапросами. Оператор Merge.
  • Оптимизация SQL запросов: Настройка производительности приложения. Разделяемый пул и глобальная рабочая область. Oracle оптимизатор. Команда Analyze. COST и RULE оптимизация. Организация и планирование сбора статистики по объектам схемы. Построение диаграмм распределения данных в таблицах. Указатели (HINTS) оптимизатору. Ранжирование методов доступа. Анализ запросов с целью повышения скорости их выполнения, задание режимов оптимизации. команда Explain Plan и алгоритмы ее использования. Правила оптимизации запросов и их оценка. Практические примеры оптимизации, Новые возможности Oracle  при описании Hints (подсказок). Oracle  – самонастраиваемая база данных. Обеспечение мониторинга изменений в таблицах. Автоматический сбор статистики по таблицам
  • Язык DDL. Создание и изменение таблиц (DDL). Команда Create Table. Определение параметров хранения таблиц на физическом уровне. Локальное управление табличными пространствами. Сегменты, экстенты, блоки. Параметры блоков хранения данных. Векторное хранение колонок в памяти сервера — технология InMemory
  • Создание временных транзакционных и сессионных таблиц. Создание таблиц с разбивкой на партиции. Ссылочные партиционные таблицы. Глобальные и локальные индексы. Индексные таблицы. Доступ к данным в индексных таблицах, проблемы обновления данных. Особенности размещения индексных таблиц в физических блоках дисковой памяти. Таблицы, организованные как внешние.
  • Декларативные ограничения целостности. Индексы и ограничения. “Откладываемые” ограничения целостности и проблемы каскадного обновления первичных ключей. Команда SET CONSTRAINT. Изменение структуры таблицы, команда Alter table и ограничения целостности. Создание неуникальных индексов для первичных и уникальных ключей. Мгновенное включение ограничений.
  • Транзакции. Оптимистические и пессимистические запросы. Алгоритмы совместного доступа к базам данных. Конкуренция параллельность и согласованность. Транзакции и взаимовлияние. Потери изменений, черновое чтение, повторяемое и неповторяемое чтение. Уровни изоляции. Алгоритмы блокирования Oracle, уровни блокировок. Блокировки DML – табличные и строчные блокировки, тупики. Разрешения тупиков. Блокировки DDL-исключающие и разделяемые блокировки, многовариантность. Многовариантность и согласованность чтения на уровне транзакций. Ошибка - слишком старый моментальный снимок.
  •  Другие объекты. Представления. Ограничение представлений и правила их обновляемости, Instead off триггер. Индексы. Правила применения и рекомендации Oracle. Использование функций в индексах. Deterministic функции. Индексы и оптимизация. Необходимость использования индексов. Особенности хранения индексов на дисковом пространстве. Кластеры. Hash кластеры с сортировкой и кластеры одной таблицы. Необходимость использования. Практический пример преобразования некластеризованных таблиц в кластеризованные. Кластерные индексы. Связи с базами данных. Использование ролей для разграничения доступа к данным – безопасность.  Практический пример создания связей со схемами нескольких удаленных баз данных. Снимки и журналы снимков. Методы обновления. Материализованные представления данных. Принудительное обновление данных.
  • Новые типы данных PL/SQL. Агрегатные типы данных (массивы и таблицы PL/SQL). Оператор BULK COLECT и операции DML. Извлечение данных из базы данных в PL/SQL таблицы – оператор BULK FETCH.  Преобразование типов данных. Ссылочные типы данных. Ассоциативные таблицы и правила доступа к их элементам.
  •  Курсоры. Явные и неявные курсоры. Атрибуты и параметры курсоров. Использование курсоров внутри управляющих блоков. Оператор CURSOR и фраза INTO. Обновляемые курсоры и транзакции. 
  • Процедуры функции и пакеты. Ограничения для пользовательских SQL процедур. Зависимые процедуры и их сопровождение. Прагмы RESTRICT_REFERENCES, SERIALLY_REUSABLE. Зависимые пакеты. Использование хранимых функций в SQL запросах. Закрепление модулей в разделяемом пуле. Оптимизация. Автономные транзакции. Правила распространения автономных транзакций. Использование функций с автономными транзакциями в SQL запросах. Мутационные таблицы.
  • Исключительные ситуации. Предопределенные и пользовательские исключительные ситуации. Явное возбуждение исключений. Процедура RAISE_APPLICATION_ERROR. Методика обработки ошибок в PL/SQL.
  • Триггеры таблиц – как разновидность хранимых процедур. Атрибуты триггеров Oracle. Обработка исключительных ситуаций в триггерах. Триггеры базы данных и схем пользователя. Автономные транзакции в триггерах .
  • Статический и динамический SQL. Почему “УМЕР” пакет DBMS_SQL. Четыре алгоритма выполнения динамического запроса. Динамическое выполнение DDL операторов. Связывание входных параметров и подготовка выходных переменных для DML операторов.
  • Объектная опция Oracle. Наследование и полиморфизм, абстрактные классы. Создание собственных классов. Использование классов в PL/SQL. Классы в таблицах базы данных. Объектные таблицы. Ссылки на объекты и таблицы с полями типа REF OBJECT. Зависшие ссылки и их оптимизация. Вложенные таблицы и массивы. Оператор CAST и MULTISET. Представления с агрегированными типами данных. Наследование и полиморфизм в Oracle . Абстрактные типы. Оператор TREAT и привидение типов.
  • Обзор использования основных пакетов базы данных: DBMS_PIPE, DBMS_JOB, DBMS_ALERT,  UTL_FILE, UTL_TCP, UTL_SMTP, UTL_HTTP.
  • Пакет DBMS_DBWS для доступа к внешним сервисам по протоколу SOAP.
  • Порядок компиляции PL/SQL в C код, а затем сборка в SO или DLL библиотеку.

Преподаватели
Преподаватель Игорь Мирончик