2009-02-05 2 views
3

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

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

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

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

Любой опыт комментарии оценены.

+0

Почему бы вам не попробовать себя? Вы можете бесплатно скачать и использовать 11g для разработки. – zendar

+0

Я знаю, но у нас мало времени, так что после того, как «я сделал это, все в порядке», или «d00d, вы так ввернуты». :) –

+0

Спасибо за ответы - отмеченный Рене правильный только потому, что у него меньше репутации (т. Е. Найдет ответ полезным). Не могу отметить оба печально :(спасибо вам обоим. –

ответ

3

Некоторые вещи, чтобы отметить:

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

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

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

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

5

Вот полезный технический документ из 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

+0

Спасибо, кучи! Я дам им прочитать перед тем, как мы начнем. –

1

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

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

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

+0

Нет, мы не смотрели на Oracle FTI, но если это хорошо, я буду первым в отрасли - все, что я видел, ужасно плохо, но посмотрю на это. В настоящее время это просто SQL, но очень негибкий. –

2

то, что ударил нас:

Между 9i и 10g поведение упорядочения отчетливого измененное.

В 9i, вы могли бы написать

SELECT DISTINCT X 
FROM Y; 

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

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

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

+0

Спасибо - я обязательно проверю это :) –

Смежные вопросы