1 / 17

Миграция приложений Oracle-> Sql Server

Миграция приложений Oracle-> Sql Server. Алексей Ковалев DB-Best Technologies alexeyk@dbbest.com. Причины и цели миграции Технические проблемы миграции. План доклада. Причины и цели миграции Ожидания от миграции. Причины и цели миграции. Уменьшить стоимость владения и содержания

Télécharger la présentation

Миграция приложений Oracle-> Sql Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Миграция приложенийOracle->Sql Server Алексей Ковалев DB-Best Technologies alexeyk@dbbest.com

  2. Причины и цели миграцииТехнические проблемы миграции План доклада

  3. Причины и цели миграцииОжидания от миграции

  4. Причины и цели миграции • Уменьшить стоимость владения и содержания • Повысить производительность • Привести ИС к единой платформе • Провести общую ревизию системы

  5. Что ожидают от миграции • Приложение работает правильно • Миграция проведена в срок • Производительность не хуже, чем у исходного приложения

  6. Техническиепроблемымиграции

  7. Объект миграции DB App Миграция с помощью SSMA Ручная миграция

  8. Sql Server Migration Assistant • http://www.microsoft.com/sqlserver/2005/en/us/migration-oracle.aspx SSMA migration analyzer Оценка SSMA schema converter 1 Миграция объектов SSMA data migrator 2 Миграция данных SSMA migration tester 3 Тестирование 4 Миграция приложения Тестирование

  9. Основные проблемы миграции • Замена поставщика данных • Различие в типах данных • Различие в поведение SQL кода • Эмуляция встроенных функций Oracle • Динамический и Embedded Sql • Подход к обработке транзакций • Обработка ошибок/исключений • Различие в системных данных и ограничениях

  10. Замена поставщика данных • OCI • ODBC • OleDb • ADO.Net • JDBC • Pro*C

  11. Типы данных,встроенные функции • Различие в типах данных • Различие в поведение SQL кода • Эмуляция встроенных функций Oracle

  12. Динамический SQL • Тяжело обнаружить • Sqlзашит в литералах, ресурсах • Тяжело отлаживать • Окончательный Sqlдоступен только в режиме выполнения/отладки • Трудоемкая конверсия • Использовать SSMA->Statements для конверсии

  13. Embedded Sql, Pro*C EXEC SQL INSERT INTO emp (empno, comm) VALUES (:emp_number, NULL); EXEC SQL SELECT ename, sal, comm INTO :emp_name, :salary, :commission:ind_comm FROM emp WHERE empno = :emp_number; • Большой объем ручной работы по конверсии как Sqlкода, так и кода приложения • Относительно простой поиск (можно искать по ключевым словам типа EXEC SQL и т.д.) • Достаточно формальная замена на вызовы функций клиентского приложения • Во многих случаях имеет смысл заменить Embedded sqlна вызов ХП, реализующей ту же логику

  14. Транзакции • Неявные транзакции • SET IMPLICIT_TRANSACTIONS • COMMIT в процедурах • DDL • Locks, long running transactions • SET TRANSACTION ISOLATION LEVEL SNAPSHOT, READ_COMMITTED_SNAPSHOT • Логика приложения – user input inside transaction

  15. Обработка ошибок • NO_DATA_FOUND, TOO_MANY_ROWS • Unique indexes • Разные коды ошибок • User defined message, system messages

  16. Самая большая проблема Empty string is null

  17. Спасибо! Алексей Ковалев DB-Best Technologies alexeyk@dbbest.com • http://www.dbbest.com

More Related