Могу ли я использовать инструменты imp / exp для переноса базы данных с Oracle 9 на Oracle 10
-
21-09-2019 - |
Вопрос
Я субподрядчик, и мой клиент хочет обновить базу данных Oracle с 9 до 10.Другой поставщик собирается выполнить процесс обновления, и меня попросили создать любую резервную копию, которая мне нужна, перед обновлением, а затем воссоздать среду в Oracle 10.Все мои данные хранятся в отдельной базе данных в единой схеме.Никаких причудливых связей, скриптов или чего-то подобного (реальное приложение поддерживает разные базы данных:Oracle, SQL Server, Postgres, поэтому мы хотим избежать какого-либо специфичного для БД кода).
Я надеялся использовать imp / exp, но я не уверен, что imp / exp обратно совместимы (exp от O9 и imp до O10)?
Если есть лучший / рекомендуемый способ справиться с подобной ситуацией, я буду благодарен за любой совет.
Решение
Да, вы можете использовать imp/exp для достижения этой цели..А когда вы используете Oracle10, используйте новую версию Oracle Насос данных коммунальные услуги вместо имп/эксп.
Другие советы
Вы наверняка можете использовать инструмент exp для экспорта вашей базы данных, а затем использовать инструмент imp для импорта ее в новую базу данных.
Можно ли импортировать / экспортировать данные между разными версиями Oracle?
Различные версии утилиты импорта полностью совместимы.Это означает, что можно взять файл экспорта, созданный из старой версии экспорта, и импортировать его, используя более позднюю версию утилиты импорта.Это довольно эффективный способ обновления базы данных с одной версии Oracle на следующую .
Oracle также поставляет некоторые предыдущие сценарии catexpX.sql, которые можно выполнять от имени user SYS, позволяя работать более старым версиям imp / exp (для обратной совместимости).Например, можно запустить $ORACLE_HOME/rdbms/admin/catexp7.sql в базе данных Oracle 8, чтобы разрешить запуск утилит Oracle 7.3 exp / imp для базы данных Oracle 8.
Для получения дополнительной информации по этому вопросу, взгляните на Вопросы И ответы по импорту экспорту.
Хотя вы можете использовать exp/imp для «обновления» старой версии, я бы этого не делал!
Используя exp/imp, вы фактически создаете новую базу данных.Вы потеряете всю статистику таблицы.Конечно, вы можете воссоздать их.Но почему?Вам также потребуется создать новые логины/пароли.Убедитесь, что для запроса к базе данных не используются сторонние инструменты.Возможно, тем временем, вторая схема (напр.для генерации отчетов) был создан файл с разрешениями на таблицы «вашего» приложения.
На мой взгляд, было бы лучше установить программное обеспечение Oracle 10, а затем обновить существующую базу данных.Oracle предоставляет достаточные инструменты миграции.
Какой бы путь вы ни выбрали, его необходимо тщательно протестировать на сервере интеграции, используя полный объем «производственных» данных.Также имейте в виду, что импорт может занять гораздо больше времени, чем экспорт.