Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Миграция данных из Oracle в Postgres

CUSTIS
September 15, 2015

Миграция данных из Oracle в Postgres

Выступление Максима Трегубова, нашего ведущего системного администратора, на встрече сообщества #PostgreSQLRussia (15 сентября 2015 года, Москва).

CUSTIS

September 15, 2015
Tweet

More Decks by CUSTIS

Other Decks in Programming

Transcript

  1. 15 сентября 2015 года Миграция данных из Oracle в Postgres

    Максим Трегубов Ведущий системный администратор
  2. О себе  18 лет Oracle-бэкграунда (Dev + DBA) 

    Python (Shell + Web App)  *nix power user  Hadoop, MongoDB, Elasticsearch… 2/24
  3. Почему Postgres?  Три коммитера ядра в России  Сертификация

    ФСТЭК  Лицензия BSD  Существует компания Postgres Professional: http://postgrespro.ru 4/24
  4. Требования к инструменту миграции  Возможность воссоздания структуры данных (таблиц,

    индексов, constraints…)  Быстрота миграции данных (около 50 Гб)  Простота в освоении и надежность  …  Бесплатность 8/24
  5. Наш выбор – Ora2Pg  Богатый функционал  Активное развитие

    проекта на протяжении 15 лет  Open Source, лицензия GPLv3 9/24
  6. Подготовка тестового стенда  Создание или обновление стендов для разработки

    и тестирования  Oracle, WebLogic, WebSphere, Hadoop, Postgres  Более 100 серверов 10/24
  7. Подготовка тестового стенда VM1 Oracle 11.2.0.3 Oracle Enterprise Linux VM2

    Postgres 9.4 Oracle Client 11.2.0.3 Ora2Pg 15.2 CentOS 6.6 TCP 1521 13/24
  8. Конфигурация Ora2Pg  ora2pg --init_project tst_owner tst_owner/ ├── config ├──

    data ├── reports ├── schema │ ├── dblinks │ ├── directories … 15/24
  9. Конфигурация Ora2Pg  ./export_schema.sh  $psql -d qqq -U test_owner

    < schema/tables/table.sql  $ora2pg -t COPY -o data.sql -b ./data -c ./config/ora2pg.conf  $psql -d qqq -U test_owner < schema/tables/INDEXES_table.sql  $psql -d qqq -U test_owner < schema/tables/CONSTRAINTS_table.sql 19/24
  10. Итоги  Подтвердили возможность перехода  Не поменяли ни строчки

    кода в Java  Трудозатраты составили ~ 100 часов  Приложение без PL/SQL  Объем БД – 50 Гб  10 отчетов  35 таблиц 22/24