Перенос скрипта с MySQL на Oracle

Olsufr

Guest
Перенос скрипта с MySQL на Oracle

Нужно перенести скрипт с MySQL на Oracle.
Подскажите, есть ли в Oracle аналог полей с auto_increment ?

По Oracle знаний почти 0.
Пересмотрел документацию с oracle.com , многое нашел, но не все. Если знаете подскажите, плиз, доступные для начинающего сайты по миграции с MySQL на Oracle.
 

tony2001

TeaM PHPClub
>Подскажите, есть ли в Oracle аналог полей с auto_increment ?
SEQUENCE ?
http://www.techonthenet.com/oracle/sequences.php

>Если знаете подскажите, плиз, доступные для начинающего сайты по миграции с MySQL на Oracle.
думаю, самый доступный способ будет спрашивать местного DBA или др. специалиста по Ораклу.
 

Olsufr

Guest
tony2001, спасибо!
>SEQUENCE
Это то что надо, кажется.

>>Если знаете подскажите, плиз, доступные для начинающего сайты по миграции с MySQL на Oracle.
>думаю, самый доступный способ будет спрашивать местного DBA или др. специалиста по Ораклу.
Мой ближайший и доступный специалист по Oracle это phpclub.ru
:)
 

tony2001

TeaM PHPClub
Olsufr
>Мой ближайший и доступный специалист по Oracle это phpclub.ru
(просто интересно) а как так получилось и зачем вообще понадобилось переходить куда-либо вообще и на Оракл в частности?
 

Olsufr

Guest
>а как так получилось и зачем вообще понадобилось переходить куда-либо вообще и на Оракл в частности?

Есть свой CMS, написанный (совсем не объектно) для работы с MySQL, и заказчик пожелал его использовать с Oracle.
Причем на хостинге, который у заказчика, отсутствует MySQL.
 

si

Administrator
у оракла есть тулса для миграции с mysql, пару раз пытался ее заюзать ничего путного не получилось.
 

alxg

Новичок
Мне представляется, что перенос самой базы из mysql в oracle не должно составить проблем. Возможности oracle гораздо шире. А вот основные проблемы будут связаны с изменением php кода.
Формирование sql запросов.
При переносе одной cms из mysql на oraclе у меня возникли следующие трудности:
1. Отсутствие типа text. Ограничение размера типа varchar2 4000 символов, привело к необходимости использовать clob. Clob приходится обрабатывать при selecte inserte update особым образом.
2. Ограничение длинны имени объекта данных (table, index, sequence, trigger...). В исходной cms к примеру название последовательностей получались гораздо больше, потому, что формировалось следу
3. Отсутствие лимита. Пришлось реализовать через счетчик в php функции организовывая окно показа. Использование rownum в реализации cms было затруднительно.
4. auto_increment пришлось организовать с помощью последовательности и триггера на вставку.
После трех дней работы cms перевел. Реализована инсталляция с помощью php скрипта.
Экспорт/импорт базы данных. Теперь занимаюсь отлавливанием глюков.
К примеру после вставки в некое поля с типом varchar2 значения ‘’;
Insert into table (string_field, int_id) values (‘’,123);
Селект Select * from table where string_id = ‘’;
Не как в mysql проходит, нужно select * from where string_id is NULL;
Чтоб не переписывать все запросы и не трогать cms пришлось создать некую функцию $where_string = where_quote($where_string) которая бы преобразовывала запросы.
 

Falc

Новичок
alxg

3. Лимит в оракле отсутствует в виду его не нужности, оракал извлекает строчки запроса только при фетче, т.е. если выполнить "SELECT * from t" и пофетчить только 1 запись это будет эквивалентно мускульному "SELECT * from t limit 1"
 
Сверху