Преобразование Sybase в Oracle

У нас есть ERP-система, созданная Powerbuilder и использующая базу данных Sybase SQL AnyWhere10, некоторым нашим клиентам нужна база данных Oracle, поэтому мы решили преобразовать SQL AnyWhere10 в Oracle, и в системе есть возможность использовать Sybase или Oracle. Мне нужна помощь, с чего мне начать?


person PBDev    schedule 13.09.2011    source источник
comment
Чтобы преобразовать ERP-систему с Sybase на Oracle? Я бы начал с найма консультанта, который бы все это обозначил для вас и показал, как это сделать. Это БОЛЬШОЙ вопрос даже для ТАК.   -  person Ollie    schedule 13.09.2011
comment
То же и в ответе ниже, огромный проект. Вот несколько советов ... У Oracle есть инструмент преобразования, который конвертирует ваш код sybase в Oracle, и я считаю, что это бесплатно. Обратной стороной является то, что конверсия далека от идеала. Некоторые серьезные проблемы возникают с триггерами, типами данных char в Sybase и любой логикой временных таблиц в Sybase. Триггеры совершенно разные, и вам придется бороться с рекурсивным кодом триггера и иметь дело с преобразованием триггеров в триггеры на уровне строки.   -  person Rich Bianco    schedule 19.09.2011
comment
Не могли бы вы рассказать нам, на какую версию Oracle вы переходите? Мы перешли с Sybase ASA 12 на Oracle 10, используя [Ispirer SQLWays Tool] [1] для автоматической миграции как схемы, так и данных. [1]: ispirer.com/products/   -  person MaterialGirl    schedule 11.07.2013


Ответы (2)


Однажды я помог выполнить миграцию с Sysbase Anywhere на Oracle. Необходимо изменить почти все сценарии (например, представления, функции, процедуры и т. Д.). Мы использовали самописный инструмент, который подключался к обоим серверам и дословно копировал сценарии из Anywhere на сервер Oracle, затем я отредактировал новый сценарий, чтобы его можно было скомпилировать.

Это большая работа, которую практически невозможно автоматизировать.

person Gerrit    schedule 15.09.2011

Сделав это раньше в нетривиальном проекте PowerBuilder (45 PBL, ~ 3000 объектов), это БОЛЬШАЯ задача. Команде из 3-4 разработчиков и выделенного администратора баз данных потребовалась большая часть года, чтобы преобразовать наш проект в Oracle и не сломать его слишком сильно.

Вы упомянули, что работает либо на SQL Anywhere, либо на Oracle. Эти два метода очень отличаются друг от друга, что сведет вас с ума, пытаясь предоставить эквивалентную функцию. Как упоминает @DisplacedGuy, триггеры, использование временных таблиц и различия типов данных, как минимум, потребуют внимания. Последний раз я регулярно использовал Oracle в v8; способ возврата данных для встроенного SQL отличается от Sybase. В зависимости от конструкций, используемых в ваших DWO, вам, возможно, придется перейти к динамическим DWO, поддерживать отдельные библиотеки или добавить полностью изолирующий уровень доступа к данным, если у вас его еще нет.

Я предлагаю нанять кого-то, кто уже сделал это, чтобы он руководил вами, если вы можете. Планируйте время и деньги на обучение своих людей.

Удачи.

person DaveE    schedule 20.09.2011