powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Шпаргалка: "Перевод приложений с Oracle Database server на IBM Data Server"
1 сообщений из 1, страница 1 из 1
Шпаргалка: "Перевод приложений с Oracle Database server на IBM Data Server"
    #36731848
IBK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IBK
Гость
1. Введение.

Начиная с DB2 9.7, IBM поддерживает ряд функциональных возможностей, обеспечивающих совместимость DB2 Data Server с Oracle Data Server
http://www.ibm.com/developerworks/data/library/techarticle/dm-0907oracleappsondb2/index.html
http://www.redbooks.ibm.com/abstracts/sg247736.html
Такие как:
- настройка DB2 для реализации в ней ряда функциональных возможностей Oracle
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db2.luw.apdv.porting.doc/doc/t0054729.html

- поддержка SQL диалекта Oracle в DB2
http://www.redbooks.ibm.com/abstracts/sg247736.html
(Book "Oracle to DB2 Conversion Guide. Compatibility Made Easy": "1.2.4 SQL Standard", page 12)

- поддержка языка программирования Oracle PL/SQL в DB2
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.plsql.doc/doc/c0053607.html

- поддержка встроенных процедур, функций и пакетов Oracle в DB2
http://www.ibm.com/developerworks/data/library/techarticle/dm-0907oracleappsondb2/index.html
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.rtn.doc/doc/c0053670.html

- поддержка словаря данных Oracle в DB2
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.porting.doc/doc/c0054440.html

- улучшенный процессор командной строки (CLPPlus) - аналог Oracle SQL*Plus в DB2
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.swg.im.dbclient.clpplus.doc/doc/c0053823.html

- и другие.

В DB2 версии 9.7 существует ряд ограничений по использованию функциональных возможностей Oracle Database:
Такие как:
- ограничения в поддержке PL/SQL в DB2
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.plsql.doc/doc/c0053608.html
В частности PL/SQL не поддерживается в DB2®Express-C (DB2 9.7.2).

- ограничения в поддержке встроенных пакетов Oracle в DB2
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.rtn.doc/doc/c0053670.html
В частности встроенные пакеты не поддерживаются в DB2 Express®, DB2 Express-C, DB2 Personal Edition (DB2 9.7.2).

- и другие.

Для решения задач по управлению базами данных и разработке приложений корпорация IBM предлагает ряд инструментальных
средств.
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.routines.doc/doc/c0020475.html
Такие как:
- IBM Data Studio
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.routines.doc/doc/c0020476.html
Поддерживает полный цикл разработки хранимых PL/SQL процедур и PL/SQL пакетов.

- IBM Optim Development Studio
http://www-01.ibm.com/software/data/optim/development-studio/
Поддерживает полный цикл разработки хранимых PL/SQL процедур и PL/SQL пакетов.

- и другие.

Для решения задач по управлению базами данных и разработке прикладных программ баз данных корпорация Quest Software предлагает инструментальное средство Toad for DB2.
http://www.toadsoft.com/toaddb2/
Но в Toad for DB2 (последняя версия 4.6.2) пока не реализована поддержка PL/SQL.

Для решения задач по переносу данных из Oracle Database в IBM DB2 Data Sever корпорация IBM предлагает инструментальное средство (инструмент) - IBM Data Movement Tool. Этот инструмент позволяет переносить хранимые объекты Oracle Database, поддерживаемые в IBM DB2 (таблицы, индексы, последовательности, хранимые PL/SQL процедуры, функции, пакеты и др.), в
автоматическом режиме.
http://www.ibm.com/developerworks/ru/library/dm-0906datamovement/
http://www.redbooks.ibm.com/abstracts/sg247736.html
(Book "Oracle to DB2 Conversion Guide. Compatibility Made Easy": "3.1 IBM Data Movement Tool", page 144)

Также перенос данных из Oracle Database в IBM DB2 Data Sever можно осуществлять в ручном режиме, используя CLPPlus (аналог Oracle SQL*Plus).

Также перенос данных из Oracle Database в IBM DB2 можно осуществлять в ручном режиме, используя другие инструментальные средства. Например, использовать IBM Data Studio
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.apdv.routines.doc/doc/c0020476.html
или IBM Optim Development Studio
http://www.redbooks.ibm.com/abstracts/sg247736.html
(Book "Oracle to DB2 Conversion Guide. Compatibility Made Easy": "3.2 IBM Optim Development Studio", page 151).

2. Предложения по практической реализации переноса прикладной БД с Oracle Database на IBM DB2.

2.1. Выбор программных продуктов.

Корпорация IBM предлагает клиентам следующие продукты IBM DB2 Data Server и его клиента:
- DB2 Enterprise Server Edition, версия 9.7;

- DB2 Workgroup Server Edition, версия 9.7;

- DB2 Express, версия 9.7;

- DB2 Personal Edition, версия 9.7;

- IBM Data Server Client, версия 9.7.

Лишь DB2 Enterprise Server Edition, Версия 9.7 поддерживает всю реализованную в DB2 функциональность Oracle Database Server. Если нет достаточного бюджета для покупки лицензии, то можно использовать Trial версию продукта (90 дней).

Для разработки хранимых объектов с использованием процедурных языков PL/SQL и SQL PL ("родной" процедурный язык DB2) и SQL-скриптов корпорация IBM предлагает клиентам следующие продукты:
- IBM Data Studio

- IBM Optim Development Studio

Если нет достаточного бюджета для покупки лицензии, то можно использовать IBM Data Studio FreeWare и IBM Optim Development Studio Trial (30 дней).

Корпорация Quest Software предлагает клиентам продукт TOAD:
- Toad DBA Suite for DB2 Trial, версия 4.6.2 (30 дней);

- Toad DBA Suite for DB2 Beta, версия 4.7.0 (30 дней);

- Toad for DB2 Freeware, версия 4.0.1.921

Все эти версии пока без поддержки функциональности Oracle.

Для решения задач по переносу данных из Oracle Database в IBM DB2 Data Server в автоматическом режиме (дополнительной ручной правкой
скриптов "на лету" (если это необходимо)) корпорация IBM предлагает Data Movement Tool FreeWare.

Итог выбора (в случае небольшого бюджета проекта):
- DB2 Enterprise Server Edition, Версия 9.7 Trial (90 дней);

- Клиент IBM Data Server, Версия 9.7 Trial (90 дней);

- IBM Data Studio FreeWare;

- IBM Data Movement Tool.

- Toad for DB2 FreeWare, версия 4.0.1.921.

2.2. Закачка программных продукты.

- DB2 Data Server 9.7.100.177 Trial (90 дней) и DB2 Data Server Client 9.7.100.177 Trial (90 дней) скачиваются в одном файле:
https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=swg-dm-db297trial&S_PKG=dl&S_TACT=109BH2ZW&lang=en_US&cp=UTF-8

- DB2 Data Server 9.7 Fix Pack 2 (9.7.200.358):
http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg24026928#show-hide

- Data Server Client Packages Version 9.7 Fix Pack 2:
http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg24026929

- IBM Data Studio 2.2:
https://www14.software.ibm.com/webapp/iwm/web/reg/pick.do?source=swg-idssa&S_TACT=109BH27W&lang=en_US

- IBM Data Studio 2.2.0.2 Fix Pack
http://www-01.ibm.com/support/docview.wss?uid=swg24025984&rs=0&cs=utf-8&dc=D400&q1=IBM+Data+Studio&loc=en_US&lang=en&cc=US

- IBM Data Movement Tool 2.0
http://www.ibm.com/developerworks/ru/library/dm-0906datamovement/#download

- Toad for DB2 Freeware, версия 4.0.1.921
http://www.toadworld.com/DOWNLOADS/Freeware/ToadforDB2Freeware/tabid/560/Default.aspx

- Online и PDF документация:

- Информационный центр IBM DB2 Database 9.7 для Linux, UNIX и Windows (самые актуальные описания продукта):
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp

- IBM DB2 e-kit for Database Professionals:
https://www6.software.ibm.com/developerworks/offers/kits/data/dataprokit/index.html

2.3. Установка программных продуктов.

- на сервере:

- DB2 Data Server 9.7.100.177 Trial;

- DB2 Data Server 9.7 Fix Pack 2 (9.7.200.358);

- Data Server Client Packages Version 9.7 Fix Pack 2;

- IBM Data Studio 2.2;

- IBM Data Studio 2.2.0.2 Fix Pack;

- IBM Data Movement Tool 2.0;

- Toad for DB2 Freeware 4.0.1.921.

- на клиенте:

- Server Client 9.7.100.177 Trial;

- Data Server Client Packages Version 9.7 Fix Pack 2;

- IBM Data Studio 2.2;

- IBM Data Studio 2.2.0.2 Fix Pack;

- Toad for DB2 Freeware 4.0.1.921

2.4. Создание целевой базы данных DB2 с поддержкой функциональности Oracle, например testdb:

Создание:

db2set DB2_COMPATIBILITY_VECTOR=ORA
db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES
db2stop force
db2start
db2 "create db testdb automatic storage yes on С: DBPATH ON С: PAGESIZE 32 K"
db2 update db cfg for testdb using auto_reval deferred_force
db2 update db cfg for testdb using decflt_rounding round_half_up

Каталогизация:

CATALOG TCPIP NODE <наименование узла>
REMOTE <сервер>
SERVER 50000
REMOTE_INSTANCE <нименование экземпляра (DB2)>
OSTYPE <операционная система (WIN)>
TERMINATE;

CATALOG DATABASE testdb
AS testdb
AT NODE <наименование узла>
AUTHENTICATION SERVER
TERMINATE;

2.5. Осуществление миграции прикладной БД c Oracle Database на IBM DB2

Автоматический режим:

Запускаем IBM Data Movement Tool 2.0 и действуем по инструкции.

Ручной режим:

Предварительно подготовленные скрипты (например, в ERwin Data Modeler или Toad for Oracle) запускаем, например, в среде CLPPlus. После этого корректируем результаты, например, в IBM Data Studio.

2.6. Корректировка результатов миграции.

Таблицы:

Самая распространённая ошибка при переносе (по личному опыту) - у столбцов, по которым строится первичный или уникальный ключ не указано ограничение "NOT NULL" (это требование к первичному ключу в DB2, в Oracle это не требуется). При этом не будет создаваться соответствующие ограничения и индекс.

Прикладные пакеты:

Пакеты прикладной базы данных лучше всего корректировать в IBM Data Studio.

Встроенные пакеты:

У DB2 пока реализованы самые необходимые встроенные пакеты Oracle (по терминологии DB2 - модули):

DBMS_ALERT
DBMS_DDL
DBMS_JOB
DBMS_LOB (без процедуры "CreateTemporary")
DBMS_OUTPUT
DBMS_PIPE
DBMS_SQL
DBMS_UTILITY
MONREPORT
UTL_DIR
UTL_FILE
UTL_MAIL
UTL_SMTP

Недостающие пакеты, пытаемся заменить встроенными модулями, процедурами и функциями DB2. Например, пакетную функцию Oracle "dbms_obfuscation_toolkit.md5" можно заменить на встроенную функцию DB2 "ENCRYPT". И т.д.

Если не находим соответствующего готового аналога в DB2, то пишем свои собственные пакеты на C/C++ или Java.

2.6. Тестирование.
Например, используем CLPPlus и анонимные блоки PL/SQL
http://www.ibm.com/developerworks/data/library/techarticle/dm-0908anonymousblocks/index.html

2.7. Заключение.

Описанная выше технология переноса прикладной базы данных с Oracle Database в IBM DB2 Data Server стала возможной лишь с появлением DB2 9.7. Текущая версия 9.7.200.358 - май 2010.

ПРИ ИСПОЛЬЗОВАНИИ ЭТОЙ ТЕХНОЛОГИИ НЕТ НИКАКОЙ НЕОБХОДИМОСТИ ПЕРЕПИСЫВАТЬ ХРАНИМЫЕ ОБЪЕКТЫ ORACLE В ХРАНИМЫЕ ОБЪЕКТЫ DB2 С ИСПОЛЬЗОВАНИЕМ ПРОЦЕДУРНОГО ЯЗЫКА DB2 SQL PL!!!

ДАННАЯ ТЕХНОЛОГИЯ НА ПОРЯДКИ УСКОРЯЕТ ПРОЦЕСС МИГРАЦИИ С ORACLE НА DB2!!!

Рассмотрим следующий пример. Допустим, что наша коммерческая система разработана и поставляется на платформе Oracle Database Server. Но ряд клиентов хотят, чтобы система была установлена на платформу IBM DB2 Data Sever. В этом случае, если бы не было DB 9.7, то пришлось бы переписывать все хранимые объекты с PL/SQL на SQL PL с использованием, например, C/C++ или Java.

НО ПРИ ИСПОЛЬЗОВАНИИ ВСТРОЕННОЙ ФУНКЦИОНАЛЬНОСТИ ORACLE В DB2 9.7 НЕТ НЕОБХОДИМОСТИ ВЕСТИ ПРОЕКТ СИСТЕМЫ ЕЩЁ В ДРУГОМ (ПОМИМО PL/SQL) ПРОЦЕДУРНОМ ЯЗЫКЕ ПРОГРАММИРОВАНИЯ, Т.Е. В SQL PL.

ВСЁ ЭТО ПРИВОДИТ К СУЩЕСТВЕННОЙ ЭКОНОМИИ БЮДЖЕТА ПРОЕКТА И СОКРАЩЕНИЮ СРОКОВ ЕГО ВЫПОЛНЕНИЯ!!!
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Шпаргалка: "Перевод приложений с Oracle Database server на IBM Data Server"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]