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

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

Группа от 4-х человек.

Аудитория

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

Предварительный уровень подготовки

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

Результат обучения

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

Программа курса
  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. Тригеры объектные и системные.

Ближайшие курсы

55270 19.05 - 19.05.2025

Microsoft Excel 2019. Уровень 3

Стоимость обучения в группе

8 070 ₽

Стоимость индивидуального обучения

15 450 ₽

Длительность

1 день (8 ак. ч.)

ППиР 19.05 - 19.05.2025

Паттерны проектирования и рефакторинг

Стоимость обучения в группе

25 000 ₽

Стоимость индивидуального обучения

32 500 ₽

Длительность

1 день (8 ак. ч.)

55167 19.05 - 20.05.2025

Microsoft Excel 2016. Уровень 3

Стоимость обучения в группе

16 000 ₽

Стоимость индивидуального обучения

19 000 ₽

Длительность

2 дня (16 ак. ч.)

AC7 19.05 - 22.05.2025

AutoCAD Civil 3D. Проектирование генплана и вертикальной планировки

Стоимость обучения в группе

39 830 ₽

Стоимость индивидуального обучения

72 050 ₽

Длительность

4 дня (36 ак. ч.)

3DS_max 19.05 - 22.05.2025

Autodesk 3ds Max – моделирование и визуализация

Стоимость обучения в группе

33 120 ₽

Стоимость индивидуального обучения

43 050 ₽

Длительность

4 дня (32 ак. ч.)

1C_LQ 19.05 - 22.05.2025

1С:Предприятие 8. Язык запросов

Стоимость обучения в группе

35 000 ₽

Стоимость индивидуального обучения

45 500 ₽

Длительность

40 ак. ч. (5 дней)

10266 19.05 - 23.05.2025

Программирование на языке C# 4.0 в среде разработки MS Visual Studio 2010

Стоимость обучения в группе

40 400 ₽

Стоимость индивидуального обучения

48 850 ₽

Длительность

5 дней (40 ак. ч.)

HCNA_1 19.05 - 23.05.2025

Технологии и оборудование корпоративных локальных сетей Huawei - часть 1.

Стоимость обучения в группе

75 235 ₽

Стоимость индивидуального обучения

108 600 ₽

Длительность

5 дней (40 ак. ч.)

VM2 v.8.0/7.0/6.5 19.05 - 23.05.2025

Продвинутый курс по оптимизации и решению проблем виртуальных сред VMware vSphere

Стоимость обучения в группе

77 600 ₽

Стоимость индивидуального обучения

115 000 ₽

Длительность

5 дней (40 ак. ч.)

20764 19.05 - 23.05.2025

Администрирование инфраструктуры базы данных SQL

Стоимость обучения в группе

40 350 ₽

Стоимость индивидуального обучения

65 300 ₽

Длительность

5 дней (40 ак. ч.)

Or12c_DBA1 19.05 - 23.05.2025

Администрирование Oracle 12c. Часть I.

Стоимость обучения в группе

57 900 ₽

Стоимость индивидуального обучения

98 500 ₽

Длительность

5 дней (40 ак. ч.)

10961 19.05 - 23.05.2025

Автоматизация администрирования с Windows PowerShell

Стоимость обучения в группе

41 000 ₽

Стоимость индивидуального обучения

65 000 ₽

Длительность

5 дней (40 ак. ч.)

LPI-101 19.05 - 23.05.2025

Администрирование GNU/Linux

Стоимость обучения в группе

36 960 ₽

Стоимость индивидуального обучения

55 500 ₽

Длительность

5 дней (40 ак. ч.)

Or12c_DBA 19.05 - 23.05.2025

Administration Workshop

Стоимость обучения в группе

81 400 ₽

Стоимость индивидуального обучения

136 600 ₽

Длительность

5 дней (40 ак. ч.)

HCIA_S 19.05 - 23.05.2025

Построение сетевой безопасности Huawei. Базовый уровень

Стоимость обучения в группе

109 400 ₽

Стоимость индивидуального обучения

136 600 ₽

Длительность

5 дней (40 ак. ч.)

Or11g_DBAI 19.05 - 23.05.2025

Администрирование Oracle 11g. Часть I

Стоимость обучения в группе

57 900 ₽

Стоимость индивидуального обучения

80 500 ₽

Длительность

5 дней (40 ак. ч.)

РЕДОС-101 19.05 - 23.05.2025

Системное администрирование РЕД ОС

Стоимость обучения в группе

37 400 ₽

Стоимость индивидуального обучения

65 000 ₽

Длительность

5 дней (40 ак. ч.)

AACM 19.05 - 23.05.2025

Базовое администрирование АТС Avaya Aura Communication Manager 7

Стоимость обучения в группе

69 000 ₽

Стоимость индивидуального обучения

94 500 ₽

Длительность

5 дней (40 ак. ч.)

55273 21.05 - 21.05.2025

Microsoft Word 2019. Уровень 2

Стоимость обучения в группе

7 205 ₽

Стоимость индивидуального обучения

15 700 ₽

Длительность

1 день (8 ак. ч.)

55274 22.05 - 22.05.2025

Microsoft Word 2019. Уровень 3

Стоимость обучения в группе

8 070 ₽

Стоимость индивидуального обучения

15 000 ₽

Длительность

1 день (8 ак. ч.)

Юнит_Тренинг-9 23.05 - 24.05.2025

Сервисная работа с клиентом

Стоимость обучения в группе

40 000 ₽

Стоимость индивидуального обучения

60 500 ₽

Длительность

2 дня (16 ак. часов)

55176 26.05 - 26.05.2025

Microsoft PowerPoint 2016. Уровень 1

Стоимость обучения в группе

6 645 ₽

Стоимость индивидуального обучения

15 850 ₽

Длительность

1 день (8 ак. ч.)

Компас-3D 26.05 - 28.05.2025

Компас-3D курс пользователя

Стоимость обучения в группе

33 000 ₽

Стоимость индивидуального обучения

55 000 ₽

Длительность

3 дня (24 ак. часа)

Python-1 26.05 - 30.05.2025

Основы программирования Python. Уровень 1.

Стоимость обучения в группе

34 050 ₽

Стоимость индивидуального обучения

55 500 ₽

Длительность

5 дней (40 ак. ч.)

20761 26.05 - 30.05.2025

Запрос данных с использованием Transact SQL

Стоимость обучения в группе

40 350 ₽

Стоимость индивидуального обучения

65 300 ₽

Длительность

5 дней (40 ак. ч.)

Or12c_DBA2 26.05 - 30.05.2025

Администрирование Oracle 12c. Часть II.»

Стоимость обучения в группе

57 735 ₽

Стоимость индивидуального обучения

93 500 ₽

Длительность

5 дней (40 ак. ч.)

20410 26.05 - 30.05.2025

Установка и настройка Windows Server 2012 R2

Стоимость обучения в группе

38 000 ₽

Стоимость индивидуального обучения

64 000 ₽

Длительность

5 дней (40 ак. ч.)

LPI-201 26.05 - 30.05.2025

Углубленное администрирование GNU/Linux

Стоимость обучения в группе

38 060 ₽

Стоимость индивидуального обучения

55 500 ₽

Длительность

5 дней (40 ак. ч.)

10967 26.05 - 30.05.2025

Основы инфраструктуры Windows Server 2012 R2

Стоимость обучения в группе

36 400 ₽

Стоимость индивидуального обучения

66 000 ₽

Длительность

5 дней (40 ак. ч.)

20741 26.05 - 30.05.2025

Настройка сети в Windows Server 2016

Стоимость обучения в группе

39 100 ₽

Стоимость индивидуального обучения

65 000 ₽

Длительность

5 дней (40 ак. ч.)

РЕДОС-102 26.05 - 30.05.2025

Сетевое администрирование РЕД ОС

Стоимость обучения в группе

37 400 ₽

Стоимость индивидуального обучения

65 000 ₽

Длительность

5 дней (40 ак. ч.)

55177 27.05 - 27.05.2025

Microsoft PowerPoint 2016. Уровень 2

Стоимость обучения в группе

6 645 ₽

Стоимость индивидуального обучения

15 850 ₽

Длительность

1 день (8 ак. ч.)

132_1 02.06 - 03.06.2025

Макросы в Excel: практическое программирование. Уровень I.

Стоимость обучения в группе

24 995 ₽

Стоимость индивидуального обучения

38 600 ₽

Длительность

2 дня (16 ак. ч.)

ACT I 02.06 - 03.06.2025

Инсталляция кабельных систем AMP NETCONNECT

Стоимость обучения в группе

47 240 ₽

Стоимость индивидуального обучения

67 500 ₽

Длительность

2 дня (16 ак. ч.)

PG_DEV2 02.06 - 05.06.2025

Разработка серверной части приложений PostgreSQL 16. Расширенный курс

Стоимость обучения в группе

39 830 ₽

Стоимость индивидуального обучения

58 500 ₽

Длительность

4 дня (32 ак. часа)

Compas 02.06 - 05.06.2025

Компас 3D

Стоимость обучения в группе

35 000 ₽

Стоимость индивидуального обучения

47 000 ₽

Длительность

3 дня (24 ак. ч.)

VS_C 02.06 - 06.06.2025

Программирование на С++

Стоимость обучения в группе

40 700 ₽

Стоимость индивидуального обучения

56 100 ₽

Длительность

5 дней (40 ак. ч.)

HCNA_2 02.06 - 06.06.2025

Технологии и оборудование корпоративных локальных сетей Huawei - часть 2.

Стоимость обучения в группе

75 235 ₽

Стоимость индивидуального обучения

108 600 ₽

Длительность

5 дней (40 ак. ч.)

Python-2 02.06 - 06.06.2025

Продвинутое программирование Python. Уровень 2.

Стоимость обучения в группе

34 050 ₽

Стоимость индивидуального обучения

58 500 ₽

Длительность

5 дней (40 ак. ч.)

20411 02.06 - 06.06.2025

Администрирование Windows Server 2012 R2

Стоимость обучения в группе

38 000 ₽

Стоимость индивидуального обучения

64 000 ₽

Длительность

5 дней (40 ак. ч.)

РЕДОС-103 02.06 - 06.06.2025

Расширенное администрирование РЕД ОС

Стоимость обучения в группе

37 400 ₽

Стоимость индивидуального обучения

65 000 ₽

Длительность

5 дней (40 ак. часов)

1С_41 02.06 - 11.06.2025

Программирование в системе 1С:Предприятие 8.3» (самый полный курс для программистов 1С)

Стоимость обучения в группе

79 150 ₽

Длительность

10 дней (80 ак. ч.)

132_2 04.06 - 06.06.2025

Макросы в Excel: практическое программирование. Уровень II.

Стоимость обучения в группе

32 500 ₽

Стоимость индивидуального обучения

48 600 ₽

Длительность

3 дня (24 ак. ч.)

СТП 05.06 - 06.06.2025

Современные технологии продаж

Стоимость обучения в группе

27 500 ₽

Стоимость индивидуального обучения

37 500 ₽

Длительность

2 дня (14 ак. ч.)

PG_миграция 09.06 - 10.06.2025

Миграция на Postgres: Подходы, проблемы и решения

Стоимость обучения в группе

32 170 ₽

Стоимость индивидуального обучения

77 000 ₽

Длительность

2 дня (16 ак. ч.)

JS_Ext 09.06 - 10.06.2025

JavaScript. Уровень 2. Расширенные возможности

Стоимость обучения в группе

34 750 ₽

Стоимость индивидуального обучения

45 000 ₽

Длительность

2 дня (16 ак. ч.)

ITIL© v3. SD-01 09.06 - 10.06.2025

Создание и управление службой Service Desk

Стоимость обучения в группе

28 950 ₽

Стоимость индивидуального обучения

54 500 ₽

Длительность

2 дня (16 ак. ч.)

БТ_TCP/IP 09.06 - 10.06.2025

Основы TCP/IP

Стоимость обучения в группе

34 050 ₽

Стоимость индивидуального обучения

48 500 ₽

Длительность

2 дня (16 ак. ч.)

ЭР 09.06 - 10.06.2025

Эффективный руководитель: лидерство, навыки управления людьми и командами

Стоимость обучения в группе

33 000 ₽

Стоимость индивидуального обучения

66 600 ₽

Длительность

2 дня (16 ак. часов)

Or12с_DPU 09.06 - 11.06.2025

Oracle 12c: Разработка программных модулей PL/SQL

Стоимость обучения в группе

35 200 ₽

Стоимость индивидуального обучения

58 500 ₽

Длительность

3 дня (24 ак. ч.)

Or11g_DPU 09.06 - 11.06.2025

Oracle 11g: Разработка программных модулей PL/SQL

Стоимость обучения в группе

35 200 ₽

Стоимость индивидуального обучения

58 500 ₽

Длительность

3 дня (24 ак. ч.)

JS 09.06 - 11.06.2025

JavaScript. Основы веб - программирования

Стоимость обучения в группе

40 400 ₽

Стоимость индивидуального обучения

55 000 ₽

Длительность

3 дня (24 ак. ч.)

ViPNet 4 09.06 - 11.06.2025

Администрирование системы защиты информации ViPNet 4 (Программно-аппаратные комплексы VipNet)

Стоимость обучения в группе

34 050 ₽

Стоимость индивидуального обучения

58 100 ₽

Длительность

3 дня (72 ак. ч.)

IPMA 09.06 - 11.06.2025

Основы управления проектами

Стоимость обучения в группе

39 035 ₽

Стоимость индивидуального обучения

85 850 ₽

Длительность

3 дня (24 ак. ч.)

Or12c_APLS0 09.06 - 11.06.2025

Передовые методы PL/SQL

Стоимость обучения в группе

47 920 ₽

Стоимость индивидуального обучения

58 000 ₽

Длительность

3 дня (24 ак. ч.)

ITIL ® 4.0 09.06 - 11.06.2025

Основы управления ИТ услугами по ITIL® 4.0

Стоимость обучения в группе

31 750 ₽

Стоимость индивидуального обучения

60 550 ₽

Длительность

3 дня (24 ак. ч.)

RDS 09.06 - 11.06.2025

Планирование, развёртывание и управление Remote Desktop Services

Стоимость обучения в группе

41 300 ₽

Стоимость индивидуального обучения

107 500 ₽

Длительность

3 дня (24 ак. ч.)