Портирование приложения с Oracle 9 на Oracle 11 - что? - PullRequest
3 голосов
/ 05 февраля 2009

У нас есть приложение (ну, 3), которое использует Oracle 9i, однако вскоре оно заканчивается, и нам нужно перейти на другую платформу - Oracle 11 или Postgress - очевидные.

Я слышал комментарии о том, что перенос с 9i на 11 не прямой, но никто здесь не может подтвердить тот или иной путь. Меня не слишком беспокоит «о, движок плана запросов изменился», меня больше волнует «этой функции больше нет».

Ни одно из приложений не является сложным - это либо простой грубый материал в клиентском SQL (и большая подпрограмма поиска по нескольким таблицам, но мы все равно переписываем это с использованием Lucene), либо то же самое в PL / SQL.

Postgress стал более легкой и дешевой целью для переноса, но стоимость лицензии компенсируется стоимостью обучения наших администраторов баз данных.

Любые комментарии приветствуются.

Ответы [ 5 ]

5 голосов
/ 05 февраля 2009

Вот полезный технический документ Oracle о некоторых изменениях между 9i и 10g, который поможет вам начать: http://www.oracle.com/technology/products/bi/db/10g/pdf/twp_bidw_optimizer_10gr2_0208.pdf

Наборы документации для 10g и 11g предоставят вам очень полный список новых и устаревших функций, а также измененного поведения по умолчанию. например. http://download.oracle.com/docs/cd/B28359_01/readmes.111/b28280/toc.htm#BABGIGDC

3 голосов
/ 05 февраля 2009

Несколько замечаний:

  • Привилегия CREATE VIEW является частью роли CONNECT в 9i. Но не в 10г. Вероятно, также в 11G. Возможно, вы захотите добавить грант в ваши установочные скрипты.
  • 11G имеет чувствительные к регистру пароли. Так что если вы не можете подключиться, это может быть проблемой.
2 голосов
/ 06 февраля 2009

Что-то, что поразило нас:

Между 9i и 10g изменился порядок упорядочения DISTINCT.

В 9i можно написать

SELECT DISTINCT X
FROM   Y;

и строки вернутся в порядке X (очевидно, вы должны были включить предложение «ORDER BY X», но иногда люди забывали, потому что оно работало без).

Это не относится к 10g ... реализация DISTINCT изменилась, и теперь строки обычно возвращаются неупорядоченным образом.

(достаточно легко исправить после того, как вы нашли неправильный код.)

1 голос
/ 06 февраля 2009

Были внесены некоторые изменения в привилегии, необходимые для таких вещей, как UTL_HTTP, чтобы усилить безопасность. Но на самом деле нет ничего, что могло бы сломаться, что не может быть исправлено довольно легко. Oracle меньше всего хочет сломать приложения, уже запущенные в их базе данных.

Если вы уже заплатили за лицензии Oracle, большая стоимость уже понесена. Ваши затраты на обслуживание и поддержку могут быть ниже для Postgres, но вы все равно хотите платить за поддержку в тот день, когда БД отключается и восстановление из резервной копии идет не так, как ожидалось.

PS. Вы смотрели на встроенную функциональность Oracle Text в отличие от Lucene?

1 голос
/ 05 февраля 2009

Что ж, оптимизатор базы правил пропал или почти пропал, поэтому планы запросов действительно меняются.

Но отсутствующие функции ... Я не знаю ни одной. Вам следует обратиться к парням и парням, которые рассказали вам о недостающих функциях, чтобы подтвердить это утверждение. Спросите их, какие функции отсутствуют?

Я бы не удивился, если бы они не могли привести примеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...