Миграция базы данных Oracle в Postgresql для администраторов и разработчиков

Код: ITCloud-OPSQL-M

Курс проводится при группе от 6 человек

Цель курса - показать архитектурные особенности сервера Postgresql версии 15.2 и выше, его тонкую настройку с точки зрения сервера Oracle, отличие механизма хранения данных в Oracle от Postgresql, правила прозрачного переноса хранимых программных модулей из Oracle в Postgresql, разница между языком Postgres PLPGSQL и Oracle SQL. Также на примерах будет рассмотрен механизм взаимодействия базы данных Postgresql   с базой данных Oracle с использованием встроенного языка программирования Python.

По окончании курса слушатели смогут ориентироваться в вопросе миграции структур данных, данных, программных модулей, конфигураций сервера базы данных Oracle в Postgresql. На конкретных примерах будет рассмотрен перенос данных и создание программных единиц в Postgresql, подобных тем, что были в базе данных Oracle.

Формат проведения

-

Продолжительность

40 академических часов

Тематика

Базы данных
vendor

Требования к предварительной подготовке слушателя

  • знание основ операционной системы Linux
  • желательно знание базовой архитектуры сервера Oracle,
  • знание основ языков программирования - Oracle PL/SQL, языка запросов SQL, Python, Java

Аудитория курса

Профессиональные администраторы и разработчики Oracle, переводящие свои данные, приложения, конфигурации сервера Oracle в современную базу данных Postgresql

Содержание курса

1. Postgresql и Oracle – интегрированные базы данных.
- Логическая и физическая компоновка баз данных.
- Процессы управления.
- Архитектура табличных пространств.
- Оптимальное использование памяти сервером.
- Основные конфигурационные файлы Postgresql, настройка логирования.
- Общая и рабочая области памяти, серверные процессы.
- Калькулятор настройки производительности сервера Postgresql.

2. Утилиты разработчика и администратора для взаимодействия с базой данных Postgresql (psql, pgcli, dbevar, pgadmin).
- Сравнение с популярными в прошлом утилитами: sqlplus, SQLDeveloper, PLSQL Developer, Oracle EnterpriseManager. 

3. Типы данных данных Postgresql (обзор).
- Рациональное использование табличных пространств для размещения больших объектов.
- Слои хранения данных в табличных пространствах.
- TOAST файлы.
- Использование объектных и агрегатных типов для хранения данных.
- Порядок доступа к объектам базы данных, их размер, страничное хранение.
- Стандартные схемы и каталоги - введение в архитектуру словаря метаданных Postgresql - отличие от словаря Oracle.
- Два каталога словаря метаданных Postgresql.
- Разница между ролями Postgresql и пользователями и ролями Oracle.

4. Расширения базы данных Postgresql для организации наблюдения за распределением памяти и процессом подготовки SQL запросов, страницы в разделяемой памяти, подключение дополнительных механизмов логирования приложений, подобные механизмы в Oracle были доступны через представления словаря метаданных.

5. SELECT.
- Использование подзапросов во фразе From.
- Подзапросы.
- Коррелированные подзапросы.
- Древовидные структуры.
- Конструкции во фразе SELECT. (rollup, cube, case…).
- Аналитические функции в запросах.
- Вложенные таблицы в виде агрегатных типов данных.
- Работа со структурами записей, создание сложных типов данных - в сравнении Oracle и Postgresql.
- Массивы и особенности их хранения в TOAST файлах.
- Особенности хранения больших данных в Postgresql. 

6. Язык манипулирования данными DML.
- Команды копирования данных - вместо INSERT.
- Загрузка и выгрузка данных - по аналогии с утилитами импорта и экспорта в Oracle.
- Доступ из базы данных Postgresql к внешним данным, по аналогии с внешними таблицами в Oracle

7. Оптимизация SQL запросов: Настройка производительности приложения.
- Разделяемый пул и рабочая область.
- Оптимизатор. Команда Analyze. 
- Организация и планирование сбора статистики по объектам.
- Вакуум.
- Ранжирование методов доступа.
- Анализ запросов с целью повышения скорости их выполнения.
- Команда Explain и алгоритмы её использования.
- Правила оптимизации запросов и их оценка.
- Практические примеры оптимизации,  Автоматический сбор статистики по таблицам и параметры конфигурации сервера.
- Отсутствие возможности в Postgresql управлением планом запросов с помощью подсказок (Oracle Hints), чем заменить? 

8. Язык DDL.
- Создание и изменение таблиц (DDL).
- Команда Create Table.
- Определение параметров хранения таблиц на физическом уровне.
- Структура записи в Postgresql, отличия.
- Отсутствие привязки к текущему времени (Oracle SCN), отсутствие ретроспективных запросов.
- Введение в WAL журналирование.
- Основные параметры WAL и VACUUM, контрольные точки и производительность, сравнение с параметром Oracle - fast_start_mttr_target  

9. Транзакции.
- Конкуренция параллельность и согласованность.
- Транзакции и взаимовлияние.
- Наблюдение за активными запросами и сессиями в Postgresql.

10. Создание временных транзакционных и сессионных таблиц.
- Использование временных таблиц (Postgresql) для эмуляции работы пакетных переменных (Oracle), использование CTE таблиц в запросах, создание структур данных в памяти, без хранения их на диске в Postgresql.
- Разница в использовании временных табличных пространств в Oracle и Postgresql.

11. Создание таблиц с разбивкой на партиции.
- Ссылочные партиционные таблицы.
- Примеры использования партиционных таблиц с различными типами разбивки.
- Индексные таблицы.
- Доступ к данным в индексных таблицах, проблемы обновления данных.
- Особенности размещения индексных таблиц в физических блоках дисковой памяти.
- Отсутствие отдельного функционала в Postgres и способы обхода.

12. Другие объекты.
- Представления.
- Материализованные представления данных в Postgresql.
- Принудительное обновление данных.
- Расширение DBLINK в Postgresql, создание соединений с другими базами данных Postgresql.
- Расширение plpython3u.
- Создание соединений из Postgres с Oracle c использованием языка Python - перенос данных из Oracle 

13. Python в Postgresql позволяет взаимодействовать с любыми серверами, как SQL, так и NoSQL, серверами сообщений, LDAP и прочими - на примерах (Kafka, ActiveMQ).
- Взаимодействие сервера Postgresql с микросервисной архитектурой предприятия на примере Spring или JakartaEE приложения.
- Использование в Postgresql типа данных JSON.

14. Особенности миграции PL/SQL модулей Oracle в Postgresql.
- Два языка программирования модулей - sql и plpgsql.
- Отсутствие пакетов в стандартной версии Postgresql, механизм обхода этой проблемы с помощью схем и временных транзакционных таблиц.
- Особенности размещения модулей в базе данных Postgresql - компиляция?
- Обработка исключительных ситуаций.
- Повторное возбуждение исключений.
- Перехват ошибок.
- Создание логера приложения с возможностью записи сообщений в отдельный файл операционной системы.

15. Использование программных модулей в SQL запросах, транзакционные, волотильные и стабильные модули в сравнении с модулями Oracle, описанными прагмами.
- Модули, вложенные друг в друга, особенности повторной «компиляции» и определения пространства имён переменных в модулях.
- Переменные и курсорные ссылочные переменные - в сравнении. 

16. Тригеры объектные и системные.

Затрудняетесь
с выбором курса?

Оставьте заявку на консультацию

Отправляя заявку, вы соглашаетесь с условиями обработки персональных данных

Как происходит обучение в АйТи Клауд

01 Выбор курса

В Учебном центре «АйТи Клауд» Вы можете подобрать курсы с полезным для Вас содержанием. УЦ «АйТи Клауд» готов предложить 1200+ программ различной тематики и степени сложности. Мы проводим курсы, авторизованные производителями ИТ, и также авторские программы от ведущих ИТ-экспертов.

02 Процесс обучения

Вы можете пройти обучение в различных форматах:

  • в очном - на территории Учебного центра либо территории Заказчика,

  • онлайн - на российской онлайн-платформе в режиме реального времени, через интернет, с выполнением всех необходимых практических заданий под онлайн-руководством преподавателя. 


03 Выдача документов

По завершении обучения Вы получите удостоверение о повышении сертификации или сертификат (если у Вас отсутствует диплом о высшем образовании). После обучения на авторизованных курсах Вам также будет выдан сертификат от производителя.

poster
Затрудняетесь
с выбором курса?

Оставьте заявку на консультацию

Отправляя заявку, вы соглашаетесь с условиями обработки персональных данных

Хотите преподавать в АйТи Клауд?

Если вы имеете компетенции и хотите работать тренером курсов в АйТи Клауд - оставьте ваши данные, мы свяжемся с вами!